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]. [Genres|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. 2024 #### October 2024 #=#=#=#=#=#=# Aux marks: - candidate numbers now are properly constrained across all genres Metadata: - added further interlink options; all now display consolidated as a table - hashtags added to sharing instructions Bugfixes: - a longstanding interference of rule panels parameters on normal puzzle parameters, disruping the puzzle experience upon opening the rule panels on certain genres, was eliminated (@Calica, @Laclale, @Anurag) **2024-10-05** Internal: - a missing collision (paleoinfraforest vs neosupraharvest) was added - main diagonal compass, for finer tuning of direction in hex geometry September 2024 #=#=#=#=#=#=# Auto mode: - touch interaction on line genres gives priority to aux marks over line segments (@Rook) **2024-09-02** - click/tap behaviour for numbers (without dial) also in auto mode - monoline submode extended to diagonal lines (now they can be added in a single click) **2024-09-08** - monoline submode now behaves correctly for edge lines in the diamond and hex grids too **2024-09-24** Input: - mouse wheel scroll to switch submodes disabled within iframes (e.g on PuzzleSquare) as it was colliding with normal page scrolling to reach the puzzle (@EliDoris) **2024-09-06** - small dead zone added to the drag handler, so even if the mouse moves a tiny bit, it still counts as a click (@EliDoris) **2024-09-18** - candidate numbers across number-placement genres were added, using the number dial (@Menderbug) - support for off-placement collisions re-added - dragging certain type of aux markers (marked ´´hitboxed´´) in a straight line no longer produces spurious lateral marks. Due to the increased precision, markers will be skipped when drawing too fast or with an unsteady hand. (@Menderbug) ** 2024-09-25** Puzzle rendering: - Genre panels and puzzle pictures are now rendered as SVGs, hoping to solve some issues found by @Jubale and @Rook on apple devices **2024-09-10** - SVG export ability - disable adaptive zoom Panels: - added possibility to specify panels per genre category (@PinkHoodie). The title field now populates the panel Internal: - combining vest type items: an empty object now effectively erases it, rather than being ignored - removed ´´symbol.postool´´, folding it into standard model inheritance. - major update to the compass system, for more general switching between grid geometries New genres released: GENRE DATE SUPPORTED BY: [Internal patrol] 2024-09-30 @JustKirb [Nikakoku] 2024-09-29 @random8 [Border patrol] 2024-09-25 @KenGlue [Tentaisho] 2024-09-18 @JustKirb [Putteria] 2024-09-17 @Rook [Aqre] 2024-09-12 @PinkHoodie [nuritwin] 2024-09-10 @PinkHoodie [binary runs] 2024-09-10 @hutthutthutt [stained glass] 2024-09-03 site.author August 2024 #=#=#=#=#=#=# Auto mode: - definitive format for automode configuration templates - added an auto mode to each of the +230 genres - on touch screens, sequential taps trigger sequential behaviours (e.g shade/non-shade/blank), when in auto mode (as defined there) Other: - restored contiguous marks in region division genres (@Rook) **2024-08-03** - moved all local variants to the respective genre file - fixed some broken links across the site **2024-08-09** - diverse fixes to many genres New genres: These were released: GENRE DATE SUPPORTED BY: [Point Plate] 2024-08-03 @Rook [Disconnection] 2024-08-05 @PinkHoodie [Norinori] 2024-08-08 @PinkHoodie [Sunglasses] 2024-08-10 @XSheep July 2024 #=#=#=#=#=#=# New genres: GENRE DATE SUPPORTED BY [inbox-outbox] 2024-07-24 @@ どっかのだれか @@ [Creek] 2024-07-22 @PinkHoodie [Spokes] 2024-07-19 @PinkHoodie [Loop 12] 2024-07-17 @AnuragSahay [Parking] 2024-07-14 @Rook [Shrooms] 2024-07-12 @Blaz [Grandstands] 2024-07-11 @MartinEnder [Barns] 2024-07-10 @PinkHoodie [Light and shadow] 2024-07-09 @Rook [Tetroscope] 2024-07-07 @AnuragSahay Absent cells: - may now coexist with "floating" numbers (@Menderbug, for [Grandstands]) - the ´´no-escape´´ rule was added to all line edge genres - were retrospectively added to earlier genres Input: - live dial movement is now fluider (@Menderbug) - dial extended to alphabet symbols (given, solve) and aux marks - dial extended to multi-numbers - keep original symbol form in dial Metadata fields: - using CSS svh/svw units (instead of vw/vh) to take into account the area occupied by the UI on mobile - Fixed a bug with metadata fields losing focus, reported by @Menderbug and @Lavaloid (cause: returning focus to player too early) **2024-07-21** - pressing enter on parameters now corrrectly moves to the next parameter instead of adding whitespace **2024-07-21** Other: - template regression where start and finish symbols were moved to solved mode, detected by @PinkHoodie, was fixed **2024-07-22** - duplicate parameters in puzzle url now produce an error message so authors are aware a correction is needed **2024-07-26** Internal - ´´symbol.postool´´ picks the tool from available ´´postools´´ - no longer "complete" variants by default (prefer explicit listing) - removed ´´symbol.unlayer´´ and related properties SVG - base-encoded fonts included in svg pictures, for acceptable rendering of text Site: - 404 page was broken (@Wen) - day regression on template loading (@Rever) - metadata gathering now acknowledged within credits system (rather than haphazardly) - thanks to @PinkHoodie for noticing all Hempuli links were broken due to a change in his blogging platform, and for sending updated links **2024-07-24** - the last page update is now automatically reported at the page top (thanks @Menderbug) **2024-07-26** June 2024 #=#=#=#=#=#=# Font optimisations: - subsetting reduces file size substantially; - default font no longer loaded unless needed Input: - snappier input on the orthogonal grid, allowing more precise L-segment drawing (@dunder_code) - new collision module for more precise interactions between lines, symbols (including numbers), aux marks and sketches, solving a class of outstanding bugs (@PinkHoodie, @Anurag, @Yuyuki, etc..) - number dial now scales correctly, independently of board size; Highlighter: - empty unifilters return empty lists to the basestate - derived templates (even numeric) Other: - symbol designation now passed unmodified into tooltip (@YuHo) - fixed some solution parameters leaking into blank puzzle (@YuHo) **2024-06-22** Site build: - link aliasing now support hyphens (@Rook, @PinkHoodie), fixed (@MichaelVedder) - feather interference with svg path (@PinkHoodie) - ´´Content-security-policy´´ and ´´X-Frame-Options´´ headers replace the older redirect script, removing irregularly occuring issues reported by @Hizuriya and @Gnull on PuzzleSquareJP. **2024-06-14** Internal: - ´´altletters´´ property deprecated - each´´scope´´ now name the respective ´´glow´´ key (about 350 files changed, in an automated way) - internal number representation upgraded to support different number types (as many as needed) Collaboration: - Dedicated channel in CTC's discord (@bakpao, team) New genres: GENRE RELEASE DATE SUPPORTED BY [Retoponogo] 2024-06-28 @ZacharyTalis [Sniping Arrow] 2024-06-27 @Yuyuki and @Pedro [Yosumi] 2024-06-21 @Solyu [ABC's] 2024-06-20 @PinkHoodie [Cross Math] 2024-06-18 @AnuragSahay and @Pedro [Tamago Town] 2024-06-16 @AnuragSahay [Yakisoba] 2024-06-14 @MichaelVedder [Turn Sums] 2024-06-13 @AnuragSahay [Pipelink] 2024-06-12 @PinkHoodie [Forceloop] 2024-06-08 @Pinkhoodie [Tally Loop] 2024-06-07 @Endagorion [Crossroads] 2024-06-06 @Rook [Koburin] 2024-06-05 @JustKirb ´´Prism´´ [Akari] 2024-06-05 @leeor [Number Crosslink] 2024-06-04 @hutthutthutt May 2024 #=#=#=#=#=#=# Variants: - Globals: ´´pipe´´, ´´pipe-partial´´, ´´escape´´, ´´edge-given´´, ´´turning´´, ´´bramble-max-N´´ - Locals: gemini-block ´´lenience´´ and ´´equivalence´´ Genres: - [Kazuburo], 29/05/2024 - [Linesweeper], 29/05/2024 (unplanned) - [Honey Dozen], 23/05/2024 - [Nikoji], 19/05/2024 - [Squares & Rectangles], 17/05/2024 - [White Link], 16/05/2024 - [Jadium], 14/05/2024 - [Firewall], 13/05/2024 - [Multiplication Link], 10/05/2024 - [Naname Loop], 09/05/2024 - [Gemini Loop], 08/05/2024 - [Nombre], 07/05/2024 - [Gemini Block], 06/05/2024 - [Kindomino], 02/05/2024 Number overhaul - Polar number input: - single-click to add previously saved or typed number - single-click on any number to erase - single-drag gesture to add any number (rotate the knob clockwise to increase, counterclockwise to decrease) - single-drag gesture to erase any number (small drag) - single-drag gesture to correct any number (rotate the knob to adjust from previous number) - suport for infinite ranges (multiple rotations of the knob will keep increasing/decreasing) - support for minimum, maximum and exclusions in range (e.g. number 15 in [Corner Meeting]) - intuitiveness via clock/crank metaphors, however with numbers spaced 1/10th (instead of 1/12th) as decimal arithmethic is easier (@Menderbug) - predictability as dial numbers are always in the same consistent position (whether adding anew or correcting) - semitransparent dial, not obstructing underlying board - Negative numbers - encoding for negative numbers naturally expands previous parenthised encoding - negative numbers added to selected genres, such as [Foreshadow] Thanks @Mornicus, @Endagorion, @MartinEnder, @AnuragSahay, @PinkHoodie, @fff, @nishinanntoka for ongoing feedback (work in progress) Encoding - reencoded genres now include an encoding (version) number in the url, via the ´´E´´ field. The default (zero) is not shown. - pipes were reencoded [Hamiltonian Plumbers], [Shirokuro Pipe] - short arrows were reencoded [X-sums], [Hit Points] - support for arbitrary line types via encogroups Internal - virtual templates extended to the min/max binomium - svg-based rendering Fixes - day regression in number templates reported by @PinkHoodie, @Laclale (cause: file misnaming) **2024-05-23** April 2024 #=#=#=#=#=#=# Genres: - New: [Inturnal], [Bramble], [Rectyard], [Pointing at the crowd] //Heterocut - Classic: [Yin Yang], [Fillomino], [Slitherlink], [Choco banana], [Kurotto], [Kurodoko], [Tasquare] Project: - More structured genre porting [plans], to facilitate distributed collaboration, with: - expected release dates - claimable panels and metadata - [Version] history - genre pages display more information about running unit tests, puzzle listing schedules, etc... and even a notice for genres temporarily broken. - going through gene tags to fix them (@dohz) NOTE: could there be a way to auto-tag, based on the used rules? UI: - faster display of rule panels in the modal; - genre-variant specific panels now in the genre file, with authorship, via ´´varipanels´´, not necessitating a specific variant template; **2024-04-19** - changed the backdrop colour to dark and added a distrete close button (@MartinEnder, @randomperson123) **2024-04-17** - the timer now pauses while changing window or tab (@Lorem) **2024-04-18** - aux marks preserved on winning in edit mode (@Menderbug) **2024-04-21** - cursors are now black on Mac OS, mimicking the defaults Symbols and styles - Arrow symbols are now generated based on the geometry, rather than manually. - Cage-like styles are now possible (@PinkHoodie, @Anurag) - Grid division genres now using dashed gridlines (@dohz, @Menderbug) - Ability to specify ´´symbol.textOpacity´´ separate from general opacity Panels: - changed the backdrop colour to dark and added a distrete close button (@MartinEnder, @randomperson123) **2024-04-17** - faster display of rule panels in the modal; - genre-variant specific panels now in the genre file, with authorship, via ´´varipanels´´, not necessitating a specific variant template; **2024-04-19** Timer: - the timer now pauses while changing window or tab (@Lorem) **2024-04-18** Internal - Arrow symbols now generated based on the geometry, rather than enumerated manually. - multi-genre unit testing framework now memoises the common root state to speed up batch testing - searchable debug window for live checker - style variegation delayed to provide more flexibility (hopefully not affecting performance) - virtual palettes for colour name sharing (primary, secondary, neutral, marker) - efficient point snapping to avod numeric errors - auto-assign symbol layers based on their (already unique) letter - ability to style aux marks reactively (e.g to make them disappear or fade in certain situations) Fixes: - Exported urls no longer contain newly-encoded aux marks (@Menderbug) **2024-04-04** - Puzzle galleries no longer display error checking inadvertently (cause: previously implicitly undefined argument started being populated by a sequential integer index number after refactoring). Thanks @Dohz and @PinkHoodie for reporting. **2024-04-15** - Regression immediately found by @PinkHoodie was fixed (cause: incomplete separation of recommended variants ´´.recovariants´´ from the current loaded variants ´´.variants´´) **2024-04-19** Other: - @PinkHoodie added +9 genres to PuzzleSquare **2024-04-04** - Changed the headings style to always use small caps, for consistency (@dohz) **2024-04-19** March 2024 #=#=#=#=#=#=# New genres: - [Yajilin] - [Touching Tails] - [Parimony] - [Lighthouses] - [One-Two Zone] - [Implicit Directors] Global variants - ´´knapp-daneben´´ - ´´liar´´ Local variants - ´´knapp-daneben-hue´´ UI: - drawing line input overhaul: - add "live" free line that appears while dragging the last segment; - solve several input drawing bugs (@Anurag, @Menderbug, @Edderiofer) - added version and credits in always visible position - icons now can also be shown outlined, when relevant (@5381) Encoding: - aux markers are now encoded exactly with the algorithm as symbols. Other: - support for checkered hex grids, for example, in the ´´kiki´´ variant (@MartinEnder) or in [Parimony] (@Anurag) - any ´´.png´´ puzzle images exported after 2024/03/18 can be loaded in the interface via drag-and-drop Collaborations and API: - Kudamono genres are now autodetected in PuzzleSquareJP (@Wand, @fff) - genre and variant lists became available at: [kudamono/api/genres.txt|api/genres.txt] and [kudamono/api/variants.txt|api/variants.txt] (@5381) Highlighter: - ability to aggegate any other item type, via ´´unifilters´´ (@ZacharyTalis) Internal: - full separation of ´´symbol.encoletter´´ and ´´symbol.letter´´ for encoding purposes Fixes: - Recent search bar regression found by @PinkHoodie was corrected (cause: deep refactoring with partial test coverage) **2024-03-27** - Recent encoding regression reported by @5381, @PinkHoodie and @Rever was corrected (cause: more unit tests needed in the encoding module) **2024-03-28** February 2024 #=#=#=#=#=#=# New genres: - [The Convoy] - [The Longest] - [Slicy] - [Anymino] - Akari (stepping stone) New Variants: - ´´shade-minesweeper´´ - ´´kurodoko´´ - ´´territory-shade-2´´, ... - ´´territory-shade-blocks-N´´... (including ´´double´´ alias for [Slicy]) - ´´branch-shallow´´ Genre-specific variants: - ´´double´´ (Masyu), ´´hex´´ (Masyu) Rule Panel Modernisations: - a [panels] page to coordinate all efforts - many genres modernised by @PinkHoodie, @JustKirb, @AnuragSahay, @5381, @EliDoris and site.author - blank puzzles pre-added to modernised genres (@EliDoris) - variant panels, if defined, display separate authorship info (@PinkHoodie) UI: - directional line input mode added to ice genres [Skating], [Full House], [Cross Roads], [Perplexing path], [Rook End Mazes], a suggestion by @EliDoris - new explicity auto mode button - aux button tentatively removed, by placing all tools in the same menu - keyboard shortcuts for lines, sketch lines, and any other tool (documented) - richer interaction of aux marks with symbols (via shared aux mark/symbol layers) - some non-serialisable property changes (like switching to/from edit mode) may also be saved to the undo stack (@EliDoris) Internal: - diverse refactoring and performance improvements - renamed ´´depiction´´ to ´´pic´´ to save keystrokes (thus minimise typing errors) - secondary rules restriction layer via ´´restrict´´ property (@EliDoris) Template System: - template numbers are no longer limited to, specific hand-picked, numbers - all integers are valid Unit Testing: - input unit tests within a genre may now include sequential events: - clicks (left, right, touch, mousewheel) included in - any keyboard shortcut January 2024 #=#=#=#=#=#=# New genres: - [Suguru] - [Ripple Loop] - [Isowatari] - [Estate Lawns] - [Luz Loop] - [Sudoku] New variants: - ´´kropki-white´´ - ´´kropki-black´´ - ´´kropki-black-total´´ - ´´kropki-white-total´´ - ´´math´´ - ´´shade-equal´´ - ´´shade-unique´´ - ´´unshade-equal´´ - ´´unshade-unique´´ - ´´unshade-equal-by-area´´ - ´´territory-square´´ - ´´territory-rectangle´´ Genres promoted to variant: - ´´ripple-loop´´ - ´´unequaloop´´ - ´´xerophile´´ - ´´simple-loop´´ - ´´room´´ Variant promotions: - ´´tiles-remove-1´´ (extracted form [Clones]) - ´´match-parity´´ promoted from [Crosswall] Rule Panels: - Ongoing effort: variant rules appear "on-demand" when a variant is loaded (@dohz, @menderbug, @elidoris). The pictures themselves *do not* adapt well... - Style changes and acknowledgments added, as part of a modernisation effort (@PinkHoodie) - panel-specific credits added, with fields title, date, author, number (@JustKirb) UI: - updated the export button for more clarity (@dohz, @zimodo) - numberline mode in [Hidoku] - knob parameters now be editable when entering edit mode directly via url (@MartinEnder) Other - dashes now autoscale with geometry, via parameter ´´geometry.wallscale´´ Internal: - replaced the concept of ´´placodo´´ with more flexible ´´encogroup´´ - erased most references to "dot" in the drag/input modes (decoupling) - subtractive variants at the template level - state symbol morphing for global variants - dragging event throttling, instead of debouncing (@Menderbug) Unit Testing: - global genre unit testing now includes variants (longstanding bug fix). 2023 #### December 2023 #=#=#=#=#=#=# Collaborations: - PuzzleSquareJP Advent Calendar 2023, [detailed in this article|2023-12-puzzlesquarejp-advent] New genres: - [Cross Border Parity Loop] - [Knight Loop] - [Nurisquare] - [Foreshadow] New variants: - ´´shade-diagonal-areas-unequal´´ - ´´shade-diagonal-figures-unequal´´ - ´´chopped´´ - ´´divide-2´´, ´´divide-3´´ etc... (for region-division genres) - ´´territory-adjacent-area-consecutive´´ - ´´aqre´´ and related family - ´´meandering´´ - ´´context´´ (for [Hasu no Mura]) - ´´tasquare´´ - ´´yajilin´´ - ... and more! Variant adaptations: - ´´hex´´ (for [Clones], [Soulmates]) Fixes: - current cursor restored on undo (@EliDoris) - click area height misalignment and symbols placed on absent tiles (@Wisteria) - keystrokes no longer captured when editing metadata / other parameters (various) - several genre-specific fixes - longstanding bug related to the differences in UTC and local time (@DavidMillar, @Random8, @Placeholder, and others...) - excluded variants now work even where there is internal renaming Interface: - SDFs used for faster absent tile detection - given lines can now be drawn irrespective of absent tiles - temporarily deactivated features: - click to add segment - inserting given symbol below solve symbol erased the latter - preview cursor no longer active when hovering other interface elements (@EliDoris) - UI constrain module, for things such as: - limiting which numbers can be inputted based on puzzle size, available tiles, etc... - Event debouncing: - no two actions of the same type may be scheduled into the future, preventing freezing when several slow actions are scheduled in sequence - Standartisation of complex palettes into 4 main templates: - palette-primary-... lines and symbols - palette-secondary-... highlights - palette-neutral-... grid, frame, legend - palette-marker-... aux marks and sketch lines Internal: - decoupled dragging functions to enable unit testing of inputs API: - Full multi-line encoding - More complete approach to puzzle reencoding, via templates (c to o) - reencoded all parameter genres (P1, P2, ...) to more specific names so they won't clash when mixed November 2023 #=#=#=#=#=#=# New genres: - [Corner Loop] by @NaokiInaba - [Tring-Tring] by @Eszter & @Endagorion, with variant //unequal-adjacent-loops// - [Vertigo] by @Endagorion, also as with variant //vertigo// - Variants: - total-crossings in [Shirokuro-pipe], masyu in [Ice Dance pair] - directions variant now adapts to different geometries - numbered-lengths and numbered-tiles (@PinkHoodie) - tatami now including borders (@PinkHoodie) - myopia and hyperopia as variants Core: - markers added now can preserve symbols beneath, via the ´´markbol.symbed´´ property (@PinkHoodie) UI: - auto-cursor added to signify when auto-mode is active - arrow keys (used to enlarge the board) restricted to edit mode, to minimise interference with default page navigation (@nishinanntoka) - soft-resizing for more efficient rendering and fixing a bug by @Endagorion - display rules as modal, without changing page @Eszter: - correct display of variant rules (@XSheep, @SnapDragon64) - subsequent interference/trapping fixed (@Jubale, @SnapDragon64) Interoperability: - Penpa batch import: - hexagonal grids now supported - support for tile removals via the box tool, within the initial grid Internal: - ´´credits.altnames´´ field added, which is used to display alternate genre names in the page, link preview and [kudamono/new] (@EliDoris) - mesh & verge: - ´´geometry.linebiverged´´ property specifies whether lines can have both endpoints at the verge whereas ´´geometry.lineverged´´ applies to a single endpoint. - ´´omnibol.unfabrikeys´´ property can be used to exclude e.g. marker placements at some parts of the outer frame (@SpectriaLimina) ^^[bonsai] - faster in,ex,at meshes calculation - masked mesh now retrieved directly from ´´infraharvest´´, solving a longstanding bug (@PinkHoodie, @Kays) - ´´scope_index´´ automatically added within ´´polyfilters´´ - ´´state.modes´´ property now automatically determined at startup based on available symbols, markers, etc... thus adapting to variants - major variant loading system upgrade, so that additonal variants can be specified within variants (@PinkHoodie) October 2023 #=#=#=#=#=#=# New genres: - [Akari RGB] by @Jubale and @Jolnson, with help from @EliDoris, including Antiking variant by @Wisteria - [Haso no Mura] by @畠入 - [Ore Dango] by @Nikoli API: - loading a puzzle in another page other than the paper-puzzle-player page now causes the url to point to that page: - to encourage that as the canonical url (@dohz) - without breaking page navigation - unfortunately, history entries will still be added [until browsers fix this decade-old bugs|https://bugzilla.mozilla.org/show_bug.cgi?id=753264#c21] UI: - cursors: - large mouse pointer removed, after polling a significant set of users in different communitites, and hearing heir thoughts; - added smaller, more conventional mouse pointer, albeit with a small symbol nearby, since the current action needs a signifier (@Yuyuki) - another browser bug found: on MSEdge, text inside svg cursors renders badly at small text sizes - predictive "cursor ghost" now less pronouced, transparent with a dashed outline - immediate cursor change when toggling edit mode, as well as on starting the puzzle (after first cursor move) - empty boards now never cause a winning state (by default) - aux marks: - dragging bug fixed (@blaz, @seren, and others) - bug reported by @Wisteria fixed - clarified auto button tooltips - toggling aux mode remembers last tool used - scroll wheel also cycles through aux marks in aux mode - visuals: - line stripes now appear at consistent perceptual distances, no matter the angle; - instead of parsing colours, ´´ctx.globalalpha´´ is used, yielding: - a perfomance improvement - out-of-the-box LAB colourspace support (@EliDoris) - slightly more stable colouring (@IHNN) - Setter/Solve switch: - when inserting a symbol/mark, switching to/from edit mode has the lowest precedence (@Xsheep) - edit text added to button (@dohz) - tooltip for auto now useful (@EricFox) //- the rules button now displays the rules directly in a window Interoperability: - Penpa batch import: - given lines: Line (tile-centered), line (tile-centered, free, in very limited scenarios) Kudamono Genre Designer: - initial autocompletions added (@EliDoris) Genre Fixes: - compatibility issue causing older [Soulmates] and [Parrot Loop] puzzles not displaying - [Hiking Track] revived - misc. fixes: on all chess genres, [Decoration Tree], start-finish genres - untangram (@SpectriaLimina) Internal: - variant templates now explicitly applied at the very end of the queue - all genre pages moved into a folder (thanks @dohz for finding missing links!) - removed: - textures support - ´´geometry.tileterritoryed´´, ´´geometry.unobstacles´´, ´´geometry.regioncompass´´, ´´geometry.symbolcompass´´ - ´´inherit´´ property (´´models´´ suffice) - ´´hint´´ (replaced by ´´markbol.polycompass´´) September 2023 #=#=#=#=#=#=# New genres & variants: - [Alcazar] by @Jerome - [Simple Loop]: directions by @Millay - [Masyu]: pentomino, snake, snake-edge 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) UI: -cursors: - streamlined the cursor / cursor prediction modules - the cursor now shows in all occasions (@Menderbug) - editable fields: - changed colours to increase contrast (@Jubale) - fixed a bug of shortcut interference (@Jubale) 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 2023 #=#=#=#=#=#=# 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-vertex-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 2023 #=#=#=#=#=#=# 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 2023 #=#=#=#=#=#=# 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 2023 #=#=#=#=#=#=# 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 ´´pics´´ 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 2023 #=#=#=#=#=#=# 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 2023 #=#=#=#=#=#=# 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 2023 #=#=#=#=#=#=# 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 2023 #=#=#=#=#=#=# 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] ^^ July 2021 #=#=# Features and fixes: - sketch mode added to [kudamono-editor] (@Hempuli, initially for [bonsai]) - diverse performance improvements. 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]