This is an (incomplete) retrospective timeline of the features added to the the [Kudamono Editor], mostly for self-reference. For a prospective timeline, refer to the [plans].

[Paper Puzzle] are mentioned when newly added and also near changes that benefit them significantly.
People may be mentioned if they are related to particular change.


2023
####

September
#=#=#=#

New genres & variants:
- Alcazar by @Jerome
- Foreshadow by @Wen
- Simple Loop (directions) by @Millay
- Masyu (pentomino, snake, snake-ortho) by @Takmu

Kudamono Highlighter V3:
	- adds flexibility by separating each rule in two parts:
		- styling aspects now belong to the ´´glow´´ property, whereas
		- filtering aspects now belong to one of three related properties:
			- ´´consfilters´´ (staying constant)
			- ´´monofilters´´ (moving focus to a deeper or related aspect)
			- ´´polyfilters´´ (splitting a single focus into multiple independent foci)


Font:
	- changed the default font for:
		- consistency across devices, between mobile and desktop
		- solving an bug reported by @donnythenuts

API:
	- it's now possible to distribute symbols to separate encoding meshes via the ´´symbol.encosuffix´´ property, which will be added to the url parameters ´´LI-´´ and ´´LS-´´ (expansions of ´´L´´ and ´´LF´´ respectively)
	- 3-digit positive integers are now allowed (@Wen)
	- Multi-line encoding via the ´´SI´´ and ´´SS´´ parameters

Interoperability:
	- Puzz-link import now tolerates variant urls (those containing the string ´´v:/´´)
	- Penpa batch import:
		- tile types: shaded/absent, ice ^^[Parrot loop], [Ice dance pair] etc...^^
		- autodetect genre from puzzle title (beta)
		- new url types: tinyurl.com
		- arrows and selected letters (S, G, F)

Page:
	- dragging different puzzle urls (within the same genre) to the desktop now produces distinctly titled links, no longer overwriting them, so it's easier to save puzzle drafts
	- easier navigation between puzzles of the same page, via next/previous buttons (@AndreaGilbert)
	- changestreams integrated with the homepage
	- variant information was added to the [new puzzle page|kudamono/new] and also to the page of each genre, in a more automated way (@Yuyuki) 

Cursors:
	- streamlined the cursor / cursor prediction modules
	- the cursor now shows in all occasions (@Menderbug)

Internal:
	- multi-letter fruits added to harvest
	- rules refactoring:
		- rule bank split into smaller modules
	- Multi-lines update:
		- segments moved to a new data structure named ´´supraforest´´ (solve lines) and ´´infraforest´´ (given lines). This will enable genres mixing different line types (e.g center vs edge, knight vs orthogonal, different colours, etc...).
		- for consistency, pencil aux marks (sketches) moved to an equivalent structure ´´sketvest´´



August
#=#=#=#

Collaborations:
- new genres: [flexible-counters], [redemption], [dance-and-dance]
- @kuchiwo broadcasted a series of seven Kudamono Livestreams: [1|KLV?g98NMJiTSuo], [2|KLV?Duueh1wiC7I], [3|KLV?YPCs6CK9QrE], [4|KLV?S5rUrz2C-Y0], [5|KLV?5Aq0om3AEHI], [6|KLV?ynDZbv1BqlM] and [7|KLV?1feS2GmoFf4] (uncovering several improvement opportunities)

API Changes:
	- lexicographic encoding is no longer used (except on legacy puzzles); replaced by standard numeric encoding (@semiexp)
	- board size now reflects the number of cells accurately via the W=´´1x2x3´´ parameter
		- ´´1x1 ´´ and ´´nx1 ´´ boards now allowed as the official minimum
	
Interoperability:
	- [Myopia] and [Ant Mill] puzzles can also now be [imported directly|../p.html] from **puzz.link**-style urls, so all genres common to both platforms are covered.
	- Penpa batch import page created, with support for:
		- numeric genres (1 number/question mark per cell) ^^[Soulmates],...^^
		- black and white pearls ^^[Masyu],...^^

UI:
	- redesigned the restart button [[restart]] to make it more distinct: [[reset]] (@Kays)

Miscellaneous Bug fixes:
	- fixed an issue with auto-mode ignoring lines (@Kuchiwo)
	- fixed an issue with some error styles being shaded by previous styles (@Kuchiwo)
	- url can now be shared as well (@MonokuroGreen)
	- 404 page was not displaying (@dohz, @Direkrow)
	- Safari bugs:
		-bookshelf displays each book at full width
		-puzzle miniatures patched so they at least are easily selectable (@AndreaGilbert)
	
Internal:
	- added the ´´&LI, LIA, LIB...´´ family of encodings which can be used internally to encode e.g. differently-placed symbols each in its own mesh to avoid the need to reencode if placements are added/removed
	- removed property ´´geometry.tilesymboled´´. All symbols use the tile centre as a reference from now on, their precise placement is determined by the ´´symbol.placements´´ property.
	- removed property ´´geometry.tilelined´´. All lines use the tile centre as a reference from now on, their precise placement is determined by the ´´symbol.placements´´ property:
		- in addition to standard numeric placements, ´´tile-corner-mid´´ and ´´tile-edge´´ as geometry-aware placements
	- refactoring of the module loader
	- the unit testing system was extended to any variants


KLV?:=https://www.youtube.com/watch?v=

July
#=#=#=#

Collaborations:
	- New Genres ^^[Trizone], [Curve Sums], [Barbed Wire], [Nurikabe-loop], [Reachability]^^
	- First remixes of two distinct genres: ^^RB Masyu, Nurikabe Loop Masyu^^, under [Masyu]

Interoperability:
	- [Brownies], [Square Jam], Simple Loop, [Masyu] puzzles can now be [imported directly|../p.html] from **puzz.link**-style urls, either by:
		- swapping the domain directly by **site.domain** 
		- limitations: board sizes up to 9x9 only; numbers up to 16 only

// Link previews:
// 	- sharing a paper puzzle link will now display the associated puzzle metadata within the link preview (for more effective sharing on social media)
// 	- a genre-specific (but not yet puzzle-specific) picture is also now displayed


UI:
- board rotation and mirroring: (@MartinEnder)
	- has interface buttons available [[rotate-clockwise]], [[mirror-right]], for mobile
	- mirror shortcuts updated to the combo [[m shift, shift right]]
	- takes ´´symbol.placement´´ into account ^[Crosswall] and works on grids of variable dimension, such as rectagular or irregular hexagonal
	- takes directional symbols into account, such as arrows ^[X-sums], even on hex grids ^[RGB Loop]
		- via properties ´´symbol.rotagroup´´ and ´´symbol.orientation´´
- dragging:
	- symbol dragging now has a simpler drawing mode, different from line dragging (@Menderbug)
	- more control of the dragging area via the ´´dimension.dragpadding´´ property - this extra padding is not included when exporting pictures, for example (@Menderbug)
	- dragged symbols now rendered via ´´lightor´´ property
- mousewheel:
	- will only be used to rotate symbols if symbols are available and cursor is within the board; otherwise scroll the page normally
- buttons:
	- symbol icons now display slightly larger, thus more easily visible (@direkrow)
	- aux mark keyboard shortcut tooltips added (@direkrow)
- aux marking:
	- shortcut [[ctrl space]] now toggles aux mode (@direkrow)
	- right clicking in edit mode now places auto aux marks as well (@direkrow)
	- aux mark interference (causing marker wrongly placed in adjacent cell) no longer occurs (@direkrow) 

Performance:
	- slightly more efficient dragging:
		 - reducing all calls to ´´UpdateState´´ to a single one at the action's end

Page:
	- new "Make New Puzzle" button added prominently (@Menderbug)
	- puzzles url can be opened in edit mode via the temporary ´´&edit=1´´ parameter

Miscellaneous Bug fixes:
	- loading hiccups fixed (text streams now read in chunks) (@Menderbug, @DireKrow);
	- cursor now updates instantly when a symbols is changed via keyboard (@X-sheep) 
	- rare race condition tentatively fixed on drawing the puzzle miniatures (@direkrow)
	- bookshelf titles no longer slightly off-screen (@direkrow) 
	- pulsing inexistent buttons no longer tried (@direkrow) 
	- toggling highlighting is now instantaneous (@direkrow) 


June
#=#=#=#

Collaborations:
- New Genres ^^[Tetritory], [rgb-loop], [zero-one-lines], [Achtelwenden]^^ 
- solver for Crosswall by @semiexp
- Kudamono Editor debuts in GAPP

API Changes:
	- symbol encoding in genres with symbols outside the board was split in two fields:
		- ´´LEX´´ for symbols outside (ex-) the main board 
		- ´´L´´ for all other symbols (nothing changes in most genres)
	- this solved a few bugs and will make all genres future-proof in case of variants that add outside symbols, so that it won't affect past encodings
	- puzzles using the old encoding are redirected
	- standardised letter encoding for letter genres, e.g. cypher clues (uppercase)
	- numbers extended up to 99 (@Blaz)

UI:
	- one can now drag away from the puzzle by clicking on the surrounding area (@DavidMillar)
	- UI buttons stay pressed when selected (@TwoHoleStraw)
	- decorations (informative highlighting that does not count as an error) can now be toggled in the share menu as well as via the [[alt shift x]] shortcut
	- unified mode:
		- appearing more often (@Menderbug)
		- click area for lines enlarged to include segment midpoints, so they can't be missed now (@Menderbug, @ChenhaoXu)
	- metadata:
		- difficulty stars can be inserted using asterisks (@Blaz)
		- tooltips added to every field (@Teal)
	- question marks can now also be inserted by typing [[?]] directly.
	- drag aborting (e.g by leaving the puzzle area or switching focus) no longer causes bugs

Symbols and aux marks:
	- better restriction of symbols when dragging based on their slot and placement (@Suzuki)
	- inserted symbols can now:
		- erase adjacent symbols via the ´´symbol.uncompass´´ property
		- add adjacent symbols via the ´´symbol.polycompass´´ property
	- new aux marks:
		- triangular quarter-squares (a.k.a. shaka), with option for full (@Blaz)
		- double-diagonal aux marks (@MartinEnder)

Variants:
	- multiple variants can now be added to the same page, and render correctly 
	- consolidated the following pages (@dohz):
		- The ^^[Myopia]^^ page now contains the variants Full Myopia and Unequal Lengths Myopia
		- The ^^[Chess Snake & Variants]^^ page now contains Chess Snake asa well as Chess Path
		- The ^^[Square Contact]^^ page now contains Contact and Hex Contact
	- significantly expanded the ^^[Masyu]^^ page, now containing a myriad of atomic and combined variants for perusal, with good example puzzles (@dohz, @teal)
	- commas as variant separators no longer break on url export (@Teal)
	- variants that drop (instead of adding) certain constraints, aka. "optionals", are fully supported

Internal:
	- generalised variegation can now be applied to any scope
		- both hue and lightness variegation are supported, via the [styles] ´´varihue´´ and ´´varilightness´´
		- shortcut [[shift n, shift d]] can be used for decorative errors
	- added ´´pins´´ (´´buds´´) and ´´streaks´´ (´´segments´´) as additive highlighting options, by analogy with ´´lands´´ 
	- removed properties ´´geometry.longed´´, ´´geometry.followfruits´´, ´´geometry.followshapes´´ and ´´segmentation´´
	- property ´´orchard´´ demoted to the ´´tabula´´ only
	- scopes ´´segments´´, ´´segment´´, ´´longsegment´´, ´´endsegment´´, ´´longendsegment´´, ´´budsegments´´, ´´budkingdom´´ added
	- scope ´´letters´´ added
	- line width for text in compound symbols can be set separately via ´´symbol.textLineWidth´´
	- added ´´state.geometry.basix´´ for a more robust usage of ´´symbol.placements´´ and split those as a submodule

Page:
	- the bookshelf now displays the correct page titles (@dohz)
	- fixed a critical display bug on some miniatures (@dohz)

May
#=#=#=#

Collaborations: New Genres ^^[Turtle Shell Loop], [Gravel], [Crosswall], [Starry Knights]^^ 

Variants and rule elements (API change):
	- variants can now be added via the field ´´&V=´´
		- the old "verified by" field (formerly ´´&V=´´) was folded into the "with thanks to..." field ´´&K=´´ as this was the most common scenario
	- the growing list of variants is specified at the [variants] draft page
	- common rule elements can be added exactly the same way

Interface:
	-menus:
		- [[middleclick]] now toggles between edit and play mode (@Menderbug)
		- derived button colours (@Menderbug)
		- alternative keyboard shortcuts are now possible, as the ´´symbol.shortcuts´´ property now accepts lists too
		- "lingering" cursor bug on mobile (@Menderbug and @Yuyuki)
	- aux markers:
		- can now be preserved upon adding lines on top, via the ´´symbol.prelined´´ property (@Deusovi) 
		- can now be removed conditionally upon adding a symbol, via the ´´symbol.explacements´´ property (@Yuyuki)
	- lines:
		- "one cell behind" bug in line drawing (@Menderbug and others)
		- property ´´input.figure.halved´´ allows better line subdivision , fixing a bug ^^[Parrot Loop]^^ (@yuyuki)
		- obstacles are now considered via the ´´input.obstacles´´ property ^^[Pentomino Puzzles], [Tetro Stack]^^
	- movement:
		- [Movement input mode|drawing-modes.html#movement-mode] ^^[Brownies], [Starry Knights]^^

Rendering:
	- small adjustment to the puzzle picture border (@Menderbug)
	- puzzles of multiple genres can now be rendered and load in the same page
	- toggling ´´mode.auxing´´ now resizes the board much like toggling ´´mode.edit´´

	
Internal:
	- support different line types (given vs input) each with a different particular style, via the ´´penbols´´ property ^^ [Turtle Shell Loop], [Magic Shape] ^^
	- ´´geometry.lineverged´´ property specifies whether lines can be drawn at the verge
	- encoding of "absent tiles" now always with the letter "x" for consistency across all genres; the same applies to visible blocker tiles
	- scopes ´´unlongloops´´, ´´unlongloop´´, ´´unlongtrack´´, ´´unlongorchard´´ added (these result in separate yet well-segmented tracks) ^^ [RB Loop], [RGB Loop]^^
	- scopes can now be prefiltered in all rules, by e.g.´´rule.placement´´ (affecting scopes: ´´buds´´, ´´numberedbuds´´)
	- added a ´´input.linemovemented´´ property for movement genres, with ´´input.linemovementedfruits´´ as a way to restrict movement to certain fruits; consequently removed the ´´figure-stepped´´ parameter 

Refactoring:
	- rules:
		- moved ´´depictions´´ and ´´descriptions´´ away from rules, into the ´´explanations´´ object (all genres)
		- property ´´rule.order´´ removed
		- extracted some rules into templates for reuse across genres and repurposing as live variant modifiers
	- drawing functions, for better testing and exposing data for visual unit tests
	- numeric genres, by adding the ´´numbers´´ property to replace function calls from within the genre file


April
#=#=#=#

Collaborations: New Genres ^^[RB Loop], [Bouba Kiki Loop], [X_Sums], [Hit Points]^^

- API Changes
	- puzzle encoding in all numeric genres was standardised for consistency across genres, for several reasons:
		- facilitate development of automatic solvers, reducing the size of the"symbol dictionary"
		- accelerate genre porting, for the same reason
		- allow future expansions with larger and larger numbers, if ever needed
		- allow remixing of numeric genres in the upcoming Kudamono Designer
		- provide a means for multi-letter symbol encoding, if ever needed
All changes are backward-compatible - no puzzles will be affected.

- UI Changes
	- symbols in play mode can be coerced to stay within the board during input, even if positions outside are available in edit mode - via via the  ´´geometry.exsuprasymboled´´ property (@XSheep)
	- grid editing buttons updated for more consistency :shrink-right: and now adapted to the diamond grid (@Menderbug)
	- tool selection menu:
		- auto-tool mode (previous behaviour) became an option, albeit the default one:
			- the cursor now changes in real-time to reflect the predicted action 
			- the auto-button icon (composed of the first two actions) does not appear 
				- when there is a conflict preventing tool inference (e.g. ^^[dream-sequence]^^)
				- when no more than one action is possible (e.g. ^^[bonsai]^^)
		- symbol and line selection buttons now appear, on a genre-by-genre basis
		- likewise, marker and sketch buttons appear, when in aux mode:
			- alphabet aux panel now appears in some genres (@fff) ^^[tricklayer]^^
			- an auto marks button (:auto-mode:) appears when appropriate
	- numeric candidates aux marks ^^[X-sums]^^
	- keyboard shortcuts to select particular aux marks
	- a small prompt to load a puzzlestring from clipboard now appears when pressing [[ctrl v]]
	- the cursor is also drawn on touch devices:
		- without "hover predictions"
		- this forces a refresh of drawing targets, thus indirectly solving an "out-of-sync" bug (@Yuyuki)
	- hover predictions became more focused (@Menderbug):
		- only the main action is predicted (dropping the alternate action)
		- only one tool at the time (rather than all together at once)
		- lines display the predicted segment alongside the (more discrete) starting point
	- a lingering segment is no longer drawn after undrawing a line up to the very start (@dohz)
		- click vs drag disambiguation via the new ´´mode.clicking´´ property

- Page Changes
	- all text that is indirectly generated, rather than manually written, now displays with a different, **monospaced**, font, because:
		- it's nicer for readers to know when they are reading generated vs written text (even when generated text is based on manual data)
		- generated text tends to accumulate inaccuracies as new or more complex situations arise.
	- added aux mark keyboard shortcut tables
	- variant genre pages:
		- More complete authorship snippets under the rules text (@Dohz)
	- Page metadata for link previews no longer shows genre/variant authorship in the top title, because it was in many cases inaccurate. Instead it uses //Player & Editor// (@Dohz)
	- Rules text now:
		- displays a pass(:pass:)/fail(:fail:) icon, if appropriate, where available
		- can be copied to clipboard, via a button below, for quoting on external sites (@XSheep)

- Other fixes
	- shading a number no longer necessarily hides it underneath (@Menderbug)
	- overlapping number and symbols now insertable together for more convenience ^^[dream-sequence], [flashlights-crossing]^^


Internal:
- geometry:
	- new property ´´geometry.exmarked´´ specifies whether marks are allowed outside the board (defaults to false), by analogy with ´´geometry.exsymboled´´ property 
	- new property ´´geometry.wholelinemesh´´ used instead of ´´geometry.linemesh´´ when the ´´geometry.linedivided´´ property creates a smaller divided mesh, not always desired
- **visual** unit tests added to the test suite
	- ´´buds´´ (via the ´´appearance´´ property)
	- ´´lands´´ (via the ´´kappearance´´ property - main difference is that lands can be drawn several times in the same spot)
- new scopes:
	- ´´frukingdom´´, ´´fruterritory´´ (keeps region within fruit specified after ´´:´´ )
	- ´´unfrukingdom´´, ´´unfruterritory´´ (outside region without touching the fruit specified after ´´:´´)
	- ´´:number´´ and ´´:letter´´ scope filters (expanded to the actual numbers or letters present before checking)
	- individual scopes for a single ´´bud´´ or ´´number´´
	- ´´:midpoint´´ scope for segment midpoints (for use with the adjacency rule family)
- refactoring:
	- common line properties moved into templates such as ´´template-line-normal´´, ´´template-palette-orange´´, possibly causing slight uniformisations in the appearance of some genres
	- all numeric genres may no longer specify their own ´´alphabeto´´ dictionary, relying in a shared dictionary
	- erase ´´symbol.photoplacement´´ property and all related functions
	- style properties:
		- renamed to canonical values in all genres
		- are nevertheless renamed by default upon initialisation, for robustness 
		- behaviour of ´´opacity´´ and ´´lineOpacity´´, ´´lineOpacitor´´ was fixed, in particular around grid
	- rule highlighting preserves original order when several errors are applied in succession in the same spot 

March
#=#=#=#

New Genres: ^^ [Zukei], [Shikaku Cut], [Chess Avoidance], [Chess Loop], [Numericlone] ^^


Kudamono Genre Designer:
- playground page with:
	- live refreshing (whilst keeping focus)
	- ability to load any combination of genres and templates, and overwrite any aspect
	- IDE-style code editing shortcuts for a single selection:
		- duplicating, moving and removing line groups
		- opening or closing braces (multiple types), even around the selection
		- (de)indentation; preserving indentation on newline
		- etc...
	- basic export
	- ability to sync serials with code for live editing of rule examples and unit tests

Features and Fixes:
- Geometry:
	- [diamond grids|grids#diamond] are available (@Menderbug)
	- adaptive zoom now takes into account removed tiles (@XSheep)
	- hexagonal grids:
		- url encoding/decoding now bug-free ^^ [Zukei] ^^
		- [face-down|grids#face-down] hexagonal grid tiles now rendered w/ correct size
		- shifting/mirroring/rotating the board no longer cause rounding errors (again), as newly added points now snap to the original mesh if sufficiently close
	- geometric properties in serials are initially memorised and re-added (when different from default ones)

- UI Changes:
	- feedback button (:feedback:) within the about menu (:info:) 
	- mobile fixes
		- opening the keyboard on mobile (or resizing any window) no longer locks the live parameter ui
		- all UI buttons were raised a little on vertical screens to avoid being covered by mobile browser menus
	- eraser buttons were consolidated as a single :restart: button, which:
		- erases solution and aux marks, when in play mode
		- erases everything, when in edit mode
	- input lag alleviated (@tluo)

- Galleries:
	- Puzzle pictures are now rendered consistently, scaling down to fit available space (instead of being cropped)
- Transcriptions sped up with the new default "batch transcribe" workflow reduces context switching
- Live parameters were refined to allow more complex data entry ^^ [Zukei], [Shikaku Cut] ^^

Internal:
- rendering and highlighting:
	- added ´´colour:"from-prebud"´´ property to style each segment colour based on the colour of the fruit it starts on
	- property ´´render.container´´ no longer needs a pre-dot
	- property ´´targetoo[layer]´´ memoises current drawing contexts for each canvas, speeding up drawing
- scopes:
	- Negative scopes, via the ´´:!´´ operand, to specify regions not containing a fruit
	- ´´nets´´, ´´longnets´´, ´´net´´ and ´´longnet´´ scopes consolidated for use in tangram-like genres
	- ´´numbers´´ and ´´number´´ scopes
		- major simplification of all numeric genres
- geometry:
	- property ´´geometry.linedivided´´ now explicitly marks when lines must be subdivided ^^ [Parrot Loop], [Flashlights] ^^
	- masked symbols are excluded from the tabula by default via property ´´geometry.unmasksymbolmesh´´
	- a small encoding problem with non-unit compasses was fixed
	- removed outdated properties ´´geometry.terriplacement´´ and ´´geometry.terrifruits´´
- scattered refactoring:
	- ´´Genre´´-->´´genro´´ for genre objects
	- more symbols are inherited, e.g ´´symbol-model´´ template for pipes, variety, etc...
	- removed ´´RD´´ property that was used to disable rules selectively
	

Internal/Global:
- expanded the undo module to allow infinite parallel undo/redo/restart stacks
- transparent event handling using ´´false´´ as return value to signal that the default action should not be prevented 


Collaborations:
- @Kuchiwo wrote [an article on Hempuli's puzzles|https://gomamisomix.hatenadiary.com/entry/2023/03/05/211318], listing the Kudamono Editor as the "Web Player" for many of the puzzles


February
#=#=#=#

Collaborations:
- new genres: ^^ [soulmates], [unequal length loop], [Nuri Nearest Number], [Magic Shape] ^^
- first commercial project using the [Kudamono Editor]: @fff's [Puzzle Journey|https://note.com/fffpuzzle/n/nb462648c4d3b] ^^ [tricklayer], [parrot-loop] ^^
- first solver for a Kudamono genre, by @semiexp ^^ [tricklayer]^^
- first [doppel|https://twitter.com/bayrenshu/status/1629102493799190528] [puzzles|https://twitter.com/bayrenshu/status/1629081045156114432?cxt=HHwWgMDR7Yml1JstAAAA] using the editor, by @bayrenshu ^^ [tricklayer], [clones], [soulmates]^^

Features and Fixes:
- Interactive puzzle parameters
	- live editing of puzzle parameters in parametrisable genres ^^[Ionic Squares], [Divide and Conquer], [Tetro Stack], [Pentomino Puzzles], [Magic Shape]^^
- Aux mark improvements:
	- Monomino aux mark added ^^ [tetro stack], [pentomino puzzles] ^^
	- Alphabet aux marks added ^^ [Tricklayer] ^^
	- Diagonal aux marks added ^^ [Subway], [Subwhirl], [Tumbleweed], [That's not right], [Palindrome Path], [Field Trespass], etc... ^^
	- Knight aux marks added ^^ [oddstitch], [knight Loops], [Jump Rope] ^^
	- Cross marks in hex genres now rotate depending on the direction of the underlying edge ^^ [hex loop], etc... ^^
	- Marks with multiple placements/forms can be dragged interchangeably ^^ [tricklayer], ... ^^ (@fff)
	- Marks by default no longer drawn at the puzzle verge ^^ [tricklayer], ... ^^, with option ´´geometry.markverged´´ to re-enable it where needed ^^ [subwhirl],... ^^
- Cursor fixes:
	- Predictive cursor display no longer active when the cursor falls outside the board (@GESAKU)
	- Cursor misalignment/hitbox corrected (@edderiofer)
	- Cursor no longer disappears on undoing back to start (@monokurogreen)
- Other interface improvements:
	- small adjustments to the UI buttons to make them more intuitive (@MartinEnder), and more responsive
	- fix: returned timer to the foreground (@MartinEnder)
	- Symbols with multiple placements/forms can now be dragged interchangeably ^^ [Subway], [Subwhirl], [Hamiltonian Mazes] ^^

Discontinued:
	- //Spider input mode// for ^^ [dream sequence], [unparalleled], [zig-zag], etc... ^^ the line would be drawn freely, but it stick to any symbols, like a spider's web (this didn't work well in practice).


Internal:
- Finer control of co-territories, via the ´´geometry.unobstacles´´ property (specifies which fruits are "transparent")
- Ability to hide certain symbols on win, via the ´´symbol.unwinned´´ property (@GESAKU)
- Ability to specify other layers to erase when a symbol is added, via the ´´symbol.unlayers´´ property (@GESAKU)
- Aux symbols, which are in between marks and symbols (affect error checking, but are erased via the aux ui buttons), via the ´´symbol.auxed´´ property
- ´´R_unique´´ now supports multiplicities (defaults to 1) ^^ [pentomino puzzles], [tetro stack]^^ (@Karoo, @dohz)
- The ´´placements´´ property for symbols/aux marks: split at the outset into single ´´placement´´ sub-symbols sharing the same ´´letter´´
- refactoring of the drag module, especially line/symbol and sketch/mark auto-modes
- erasing ´´suprasegments´´ no longer erases ´´infrasegments´´
- simplified encoding for a few genres: ^^ [Subway], [Subwhirl], [Hamiltonian Mazes] ^^ (either backwards-compatible or with individual rewrite requests)
- rewrite all puzzles in pages for the Kudamono [Featherdown] plugin, reducing complexity




January
#=#=#=#
Features and Fixes:
- Better image generation:
	- custom image sizes, in px;
	- correct image dimensions, including an auto-adjusting border; (@monokurogreen)
	- solution and aux marks can be included/excluded;
	- monochrome and error-free options
- Aux mark improvements:
	- cycling (several different marks can be added added to the same spot) ^^ [brownies]^^ 
	- arrow marks ^^ [myopia]^^ 
- Cursor improvements:
	- cursor no longer flashes
	- hovering the cursor previews possible actions (line drawing, add symbol, aux mark) discreetly
- Full-segment input / half-segment checking ^^ [parrot-loop]^^ 

Collaborations:
- settled on collaboration model for puzzle porting, involving puzzle authors earlier and more deeply
- deepened collaboration with PuzzSq with the addition of:
	- new genres ^^ [brownies],[parrot loop], [clones]^^
	- prior genres ^^ [2 3 mazes], [arrow loop], [full house], [rook end mazes]^^

Internals:
- performance improvements when drawing
- ´´"net"´´ and ´´"longnet"´´ scopes added ^^ [shape-grid]^^ ,^^ [untangram]^^ ,^^ [bricklayer]^^ 
- ´´R_unique´´ rule now accepts ´´points´´  ^^ [tricklayer],[pentomino-puzzles],[tetro-stack]^^ 
- styles:
	- default basic colours
	- global style models (stylette) 
	- style properties ´´huor´´, ´´saturator´´, ´´lightor´´ added 
	- ´´opacity´´ and ´´opacitor´´ behaviour fixed 
	- separate properties for text styling, prefixed with //txt-// 
- Glyph-based font loading:
	- prevents "font flashing" upon loading
	- allows font deformation, e.g. so long multi-digit numbers can fit available space 
- Gentler error reporting
- Page production:
	- puzzles are now recognised in [featherdown] reducing cognitive load and enabling faster page editing
	- refactored genre-specific text generation
	- long (numeric) symbol tables shortened
- Print layout code simplified (generates a new window instead of modifying current one)


2022
####

December 2022
#=#=#=#=#=#=#

Collaborations:
- Successful support of @PuzzleSquare's Advent Calendar, with 5+1 genres: ^^ [ice-dance-pair], [tiger-in-the-woods], [pearl necklace], [ivy],[decoration-tree] plus later [shirokuro-pipe]^^ 
- @wand125 translated the [kudamono editor] manual to [japanese|../kudamono-editor-ja.html]
- @bayrenshu added and started tracking all genres in the [Editor Dictionary|https://bay-puz.github.io/editor-dict/] 
- Open [plans], for easier communication and tracking


Features and Fixes:
-Menu improvements:
	- Grid transforms submenu, for easier editing
	- aux eraser button moved inside the aux submenu
	- rules button also displayed in genre pages (scrolls down, simply)
- Auto-exclude solution and aux marks from exported links
- alternate symbols in monochrome mode ^^ [decoration-tree]^^  
- input modes:
	- locked compass input mode ^^ [ice-dance-pair]^^  
	- improved rectangular input mode ^^ [ionic squares],[rectangle]^^  
- timer:
	- Upon solving a puzzle, a small timer will show up the elapsed time, in the format ´´MM:SS´´ (minutes, seconds).
	- Some players find timing essential, others may find it stressful. So a compromise was sought between making this feature available and discoverable, but also discreet.
	- As a bonus, clicking the time will copy it to the clipboard for e.g. easy sharing in competitive forums.
- hints
	- added to ^[Nura Knight] (@uriyoshikiba)


Internals:
- Stats page for easier refactoring of the rule bank


November 2022
#=#=#=#=#=#=#

Collaborations:
- new genres: ^^ [limbs], [fillimbs]^^ 

Features and Fixes:
- Invisible, tiles  ^^ [limbs],[fillimbs]^^ 
- input modes:
	- radial input mode  ^^ [flashlights],[crossing-flashlights]^^  
- "click hints" highlight some cells when others are clicked ^^ [nura-knight]^^ 
- Puzzle pages link to corresponding pages on alternative implementations and portals
- ^^ [grids]^^  page listing all available grids


Internals:
- drawing order for different layers became an explicit sub-object ´´visuals.ordero´´ ^^[sneaky snakes]^^
- unit tests:
	- all unit tests became explicit sub-objects ´´tests.pass´´ and ´´tests.fail´´ 
	- keyword-based filtering of genres for testing
	- go-to button to interact with errors quickly
- tabula refactoring:
	- scopes can now be added easily (modular)
	- state sharing was improved in its reactive model


Discontinued:
- genre //flow// (the implementation never worked well :cry:)


October 2022
#=#=#=#=#=#=

Collaborations:
- Started collaboration with Puzsq, via the Paper-puzzle-player page: ^^ [honey-circuit], [ice-dance-pair], [nura-knight]^^ 
- The first "official genre" by site author ^^ [subwhirl]^^, since it was added to:
	- @Puzsq, with puzzles by @fff 
	- Eric Fox's rules 

New features:
	- Shadows below the board ^^[Limbs], [Fillimbs]^^
	- Absent tiles

Internals:
- Rewriting all genre pages in featherdown at key places
- AlphaNumbols (better support for numeric symbol generation)
- split actual execution from dependency listing (pipeline), preventing duplications


September 2022
#=#=#=#=#=#=#=

Features and Fixes:
- [Puzlog|../puzlog/index.html]:
	- seeing at a glance all puzzles by site.author
	- future-proof backup of all puzzles

Internals:
- Hot reloading of puzzle genres for faster style tweaking
- automatic picture generation
- shortcuts:
	- genre page
	- current puzzle pictures

Collaborations:
- [Paper puzzle masterlist] launched as a collaborative effort and starting point for future collaborations
- @clickmazes spearheaded a new collaboration model, by transcribing her puzzles ^^ [Full House] ^^ 


August 2022
#=#=#=#=#=#

Features and Fixes:
- aux button in the main interface, for mobile users
- line thickness scaling based on board display size fixed
- mixed line/symbol input mode ^^ [Dream Sequence], [Skating]^^

Collaborations:
- @EricFox made me rethink the collaboration model for porting and transcribing puzzles

Internals
- rule pictures can be ordered explicitly via the ´´order´´ (numeric) property

July 2022
#=#=#=#=#

Features and Fixes:
- [Paper Puzzle page] created, listing puzzles hierarchically with an option to search them by name or author
- Menus:
- bookshelf, with variegation of colour
- genre pages display breadcrumbs to general [paper puzzle] page
	- printing buttons added to the genre pages


June 2022
#=#=#=#=#

Features and Fixes:
- Puzzle Sharing (email, link, a few social networks)
- Hexagonal grid support ^^ [full hex], [hex turn], [hex end mazes], [hex loop], [hex boomerangs], [arrow loop] ^^
- Symbol Input in solver mode ^^ [chess pack], [catch 22], [tic tac toe], [chess battle],[shapeshifting] ^^
- commands and shortcuts:
- numeric shortcuts now sequential
	- some keyboard shortcuts remapped

Internal:
- metadata encoding fixes

Discontinued:
- experiment with fetching of daily puzzles


May 2022
#=#=#=#=#=

New Genres: ^^ [Rosewary], [Rook end Mazes], [Venn], [Tetro Stack], [Pentomino Puzzles] ^^

Internal:
- colour palettes names accept deep renaming chains 

April 2022
#=#=#=#=#=

New Genres: ^^ [Full House], [flow] ^^





2021
####

December 2021
#=#=#=#=#=#=

Features and fixes:
- Changeable puzzle parameters, in the URL, for variants ^^ [divide and conquer] ^^ via the ´´knobo´´ object
- Symbol placement for error checking may differ from the placement for drawing ^^[plot twist], [hiking track] ^^, via the ´´photoplacement´´ property

November 2021
#=#=#=#=#=#=

Support for network-like-genres ^^[shape grid], [untangram], [unrectangles]^^

Collaborations:
- Open transcription process so anyone can participate ^^ [tet colour], [pent colour], [gerrymandering] ^^ thanks @@ strangecreation, skymoo, stingby12 @@

Discontinued:
- Automatically transcribing puzzles via "computer vision"

October 2021
#=#=#=#=#=#=

Features and fixes:
- region division genres ^^ [crowded intersections], [great divide], [lohkous scattered], [vegetable garden] ^^
- Rectangular drawing mode ^^[rectangle], [chainlink]^^
- extra symbols can now be added as a result of an error ^^[total masyu]^^

Internal:
- the need for a page to check all unit [tests] at once for all genres emerged 

September 2021
#=#=#=#

Features and fixes:
- arrows ^^ [pathfinder],[oddstitch]^^
- free line drawing ^^ [tricky tour],[zig zag], [non crossing]^^

Collaborations:
- expand the collaborations to other authors: @Hempuli ^^[Field Trespass], [Legalese], [Oddstitch] ^^, @Chz ^^[unequaloop]^^, @NaokiInaba ^^[OX Loop]^^

August 2021
#=#=#=#

Features and fixes:
- emoji support ^^[roost]^^
- arbitrary placement and visualisation of errors, irrespective of their origin

Collaborations:
- start of the @ErichFriedman series of ports, with the help of @clickmazes ^^ [slow turn], [that's not right], [line segment], [2 3 mazes], [jump rope], [following suit], [one of each], [palindrome path], [unequal length mazes], [color mazes], [one good turn deserves another], [knight tour] ^^

June 2021
#=#=#

Features and Fixes:
- textual and numeric symbols (shortcuts, cursors) ^^[Subwhirl]^^
- customisation or grid guide lines and dots, based on inheritance

May 2021
#=#=#=#
[Subway] by @Portponky became the second port after [kudamono]

Features and fixes:
- symbol improvements:
	- layers specify drawing order
	- multiple symbols can be added to the same spot, and placed more precisely
- reactive metadata input, in sync with the url


January 2021
#=#=#=#
[Bonsai] by @LeSlo became the first port after [kudamono]

Features:
- multiple puzzle galleries in the same page
- ´´opacity´´ property in styles
- grids with "overflowing" cells
- board rotation
- a notation for line ´´shapes´´


2020
####

December 2020
#=#=#=#=
The first [kudamono] puzzles were created, as well as the first version of the [Kudamono Editor]