Kudamono Retrospective

Updated on (created ) — Filed under: Kudamono Docs

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 Kudamono Plans.

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

2025

Input:

  • diagonal shading input mode reintroduced for dynasty-like shading genres like heyawake (PinkHoodie)
  • cross aux mark interference in certain cases was eliminated

Network:

  • faster loading of puzzle pages due to more complete template caching

Usability:

  • puzzles from galleries open in new tab by default (5381)

Metadata:

  • added sources:
    • AnyPuzzle Media
    • Quixler
    • SortedPuzzles
    • Sudoku-puzzles.net
    • noq
    • roll for fantasy
    • gridgames.app
    • puzzlefountain
  • completed sources:
    • wikipedia (en)
  • sources now consistently ordered across pages
  • related genres
  • TMs

Fixes:

  • picture export problem with some urls (Anurag Sahay)
  • page regression (PinkHoodie, Laclale and Pierre Maurier (Oripy)) corrected

New Genres:

Genre Release Supported by
TetoronPinkHoodie
YajikabePinkHoodie
EndorainPinkHoodie
Piece PlacePinkHoodie
HeyawakePinkHoodie
FencesPinkHoodie
CalcudokuPinkHoodie
Dungeon map5381
Mirror puzzles5381

Display:

  • full svg display for unlimited zooming

Layout redesign:

  • updated the colour palette to neutral colours
  • the bottom toolbar has been redesigned (button spacing, shape, overall look)
    • eliminated the info button (info canbe obtained via the version number)
  • the header section has been redesigned
    • moved metadata to the top header
    • moved help button to the top header, now displaying as a simple question mark
    • the header now links directly to the pages to make a new puzzle and to see all implementations
  • the timer blends in better when displayed
  • patterned background for increased contrast

Internal:

  • cutting on unnecessary code modules (ongoing)

Fixes:

  • Interlinks (janko.at)
2025-03-19 iPad/iPhone functionality has been restored (cause: css incompatibility) PinkHoodie, Anurag Sahay, Ten986 2025-03-17 Display issues have been reported on the Safari browser (iPad, iPhones) as the result of V45, causing no puzzle to show. Apple devices are always at a disadantage since they are not used during the normal course of development. If this is important to you, please . 2025-03-31 Aux marker colour restored in older genres lacking a palette (PinkHoodie).

New genres:

Genre Release Supported by
tapa-regional5381
meganePedro and Martin Ender (Menderbug)
jisokuPedro and Anurag Sahay
Shiro-ten (nuri-ten variant)Pedro
Spur LoopPinkHoodie
Loop and Bounds (Araf Loop)Anurag Sahay
floor-planAnurag Sahay
Regional SnakePinkHoodie
elastic-loopPedro and PinkHoodie

Panel modernisations:

GENRESupported by:
2-3 Mazes5381
Half Suits5381

Database:

  • adding missing info to urls, upgrading encoding, sitewide

Parameters:

  • all genres with parameters were upgraded, to:
    • reduce the complexity of the codebase (knob module erased)
    • ensure parameters are always included in genre pictures
    • ensure parameters are always specified in the url, to avoid shadow defaults

Display:

  • symbol buttons appear in true colour and proper scale

New genres:

Genre Release Supported by
Straight Cross ストレートクロスPinkHoodie
Kurodoko LoopPinkHoodie

Panels:

  • publication and issue now appear in the rule panels too
  • aligned panels with baseline

Sight:

Engine:

  • derived templates now perform 2nd-level replacements
  • template loading locally now avoids CORS restrictions

Share Menu:

  • add a clickable link to the current puzzle (can be used to clone the puzzle in a new window, or for direct copy)
  • corrected email sharing button so that the puzzle link appears in the email body
  • added WA icon, and removed other social network links
  • streamlined icon button styles
  • added live preview picture, and fixed day regression with that feature on chrome browsers (reported by PinkHoodie)

Random Puzzle:

  • a random puzzle can now be loaded from all existing pages, a feature suggested by Blake Regehr
  • consolidated all puzzlestrings

Other:

  • fixed a recent regression affecting the RSS feed and Sitemap
  • fixed a day regression found by Anurag Sahay affecting export links
  • flash regression corrected (Rook)
  • changestream regression corrected, (PinkHoodie)
  • added to the genre metadata:
    • Nikoli Nintendo Switch Puzzle Apps
    • repository of Warai Kamosika (パズル工房 ひまつぶし)
    • PuzzleGenius genre tutorials
    • PuzzleMadness daily generated puzzles
    • one-off sites for specific genres
    • PuzzleTV
  • Style upgrade of the snake-like constraint in genres Limbs, Xerophile, Ant Mill, The Convoy, etc…

New genres:

Genre Release Supported by
Nuri Ten ぬりてんPinkHoodie
Show TenPinkHoodie
Uso-nori うそのりPinkHoodie
Sample Paint サンプルペイントPinkHoodie
Regional Star BattleAnurag Sahay
Regional LITSAnurag Sahay
Greener GrassesPinkHoodie
Slide & SeekPinkHoodie
Golem GradRook
Tumbleweed LoopPedro
Speckled BandsAnurag Sahay

2024

Collaborations:

  • adding many variants from PuzzleSquareJP Advent's calendar, under the tag Advariants
  • add a hook to integrate with Cspuz via bookmarklets

Sources:

  • added T.Karino's player as an additional source
  • merged the about and credits section (PinkHoodie) and rephrased several aspects (Hyprgon), across all genre pages
  • genres can now be sorted and filtered by publication in the new puzzle page
  • added links to Cspuz2 in all of semiexp's recently supported genres for Advent Calendar

Other:

  • Temporary pause of social media presence in the month of December. Email remains active as the primary communication channel.
  • Panels can now be received as single-line urls.
  • Removed excess padding on small screens (especially for the genre rules popup) after a report by Paweł Krysiak

Scheduling:

  • Genre preview ribbon, dismissible, reading credits.releasedate
  • newly released scheduled genres now appear in home page as expected (bugfix, PinkHoodie)
  • automatic daily website rebuild, 7AM UTC

New genres:

Genre Release Supported by
Letter WeightsPinkHoodie
Regional WalkPinkHoodie
Ice WalkPinkHoodie
Kakeeru カケエルPinkHoodie
Math PathPinkHoodie
Tetroid テトロイドPinkHoodie
Polyomino packingAnurag Sahay
EisbahnRook
Aquarium アクアプレースAnurag Sahay
Water funAnurag Sahay
GeradewegPinkHoodie

Visuals:

  • corrected a lingering text sizing problem in svg pictures

Encoding:

Variants:

  • recommended variants are now periodically retrieved from each genre page too (more variant recommendations)
  • zero is now admissible as a parameter in numeric variants

Fixes:

  • collision on the hex grid is more precise, although possibly slower (Random 8)
  • an imperfect specification of number style, manifested as a problem with the Crosswall variant (detected by PinkHoodie) was corrected across +25 numeric genres
  • Image export no longer breaks when the url author field containes japanese characters (モノクログリーン)

Share urls:

  • the share url will include today's date if not otherwise specified

Panels:

  • panel authorship now appears for variant panels too

Internal:

  • "withed" templates are less cumbersome
  • propagate tags from list overview to individual genres
  • deprecate geometry.linedivided

New genres:

Genre Released Supported by
AccordAnurag Sahay
Loop Rankershminge
Interlaced TripletsAnurag Sahay
Kropki PairsPinkHoodie
Seiza 星座になれたらPinkHoodie
Bar GraphAnurag Sahay
LandvermessungPinkHoodie
Gokigen NanamePinkHoodie

Panel Modernisations:

Genre Claimed by
Try AnglesPinkHoodie

Shortcuts:

  • pre-selected numbers (via keyboard) on are overwritten by latest inserted number via the number dial (Martin Ender (Menderbug))
  • some missing shortcuts were added to the button tooltips (Martin Ender (Menderbug))
  • shortcuts table(s) consolidated as one, deduplicated, and restructured for all genres (Martin Ender (Menderbug))

Input:

  • candidate numbers now are properly constrained across all genres
  • in region division genres, contiguous edge marks were swapped for an equivalent type of sketch line, increasing convenience (Martin Ender (Menderbug), Random 8, Rook, Jubale, Haocurious)
  • all single-line genres forbidding line intersection now enforce that constraint at input time
  • fragmented input for free lines, breaking at grid dots (Xurui)
  • walls now intersect with other line types, erasing them

Visuals:

  • distinctive genre clue symbols now adapt to genre geometry (see: Kurodoko 黒どこ, Vista, Linesweeper 八方リンク)
  • gridline style consolidation across genres and templates;
  • gridlines now styled differently between editing and solving modes, when the puzzle is solved (Martin Ender (Menderbug))
  • segment dashes now scale appropriately across different geometries (scaling by segment size for small segments, then keeping a fixed size for large segments)
  • ability to keep only certain highlights, when exporting pictures, via property permascopes

Pages:

  • pages are now properly redirected, in uniformised fashion (Random 8), solving assorted bugs and noticeable hyphenation problems
  • many missing interlinks added (PinkHoodie)
  • 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 Sahay)
  • the auto-generated example puzzle panel no longer suffers from encoding issues in the puzzle parameters (PinkHoodie)

Internal:

  • a missing collision (paleoinfraforest vs neosupraharvest) was added
  • main diagonal compass, for finer tuning of direction in hex geometry
  • all links are relative, thus they cannot appear at different points in the tree… Changestream changed to prevent sublinks, often wrong.
  • more ergonomic live debug console
  • automatical template expansion for numeric-type variants
  • new collision type for line-line intersections via the secto object
  • full text replacement for template loading, via -with:{...}
  • panels specified in genre file now deemed more specific than (thus overwriting) those specified in variant file
  • include varipanels in unit testing

New Genres:

Genres Date Supported by
Regilin ヘヤジリンPinkHoodie
Double or nothing ダブルブロックRook
U-bahnPinkHoodie
Haunted Mirror Mazes2024-20-13PinkHoodie
VistaPinkHoodie
AquapelagoCan Güllü (KenGlue)
CorridorsPinkHoodie
Diagonal DissectionPinkHoodie
Regional AkariLennard Sprong (X_Sheep)
Milk Tea ミルクティーRook
PolyominousAnurag Sahay, Martin Ender (Menderbug)

Auto mode:

  • touch interaction on line genres gives priority to aux marks over line segments (Rook)
  • 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)
  • monoline submode now behaves correctly for edge lines in the diamond and hex grids too

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 (Eli Doris (TwoHoleStraw))
  • candidate numbers across number-placement genres were added, using the number dial (Martin Ender (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. (Martin Ender (Menderbug))

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
  • 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

Failed attempts:

  • small dead zone added to the drag handler, so even if the mouse moves a tiny bit, it still counts as a click (Eli Doris (TwoHoleStraw))

New genres released:

Genre Date Supported by:
Internal Patroljustkirb
Nikakoku ニカコクRandom 8
Border PatrolCan Güllü (KenGlue)
Tentaisho 天体ショjustkirb
PutteriaRook
AqrePinkHoodie
Nuritwin ぬりツインPinkHoodie
Binary Runshutthutthutt
Stained Glass ステンドグラスPedro

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)
  • moved all local variants to the respective genre file
  • fixed some broken links across the site
  • diverse fixes to many genres

New genres:

These were released:

Genre Date Supported by:
Point Plate 点プレートRook
Disconnection ディスコネクションPinkHoodie
Norinori のりのりPinkHoodie
SunglassesLennard Sprong (X_Sheep)

New genres:

Genre Date Supported by
Inbox/Outbox インボックス・アウトボックスどっかのだれか
Creek クリークPinkHoodie
SpokesPinkHoodie
Loop 12号ループAnurag Sahay
Parking パーキングRook
ShroomsBlaž Urban Gracar
GrandstandsMartin Ender (Menderbug)
Barns バーンズPinkHoodie
Light and ShadowRook
TetroscopeAnurag Sahay

Absent cells:

  • may now coexist with "floating" numbers (Martin Ender (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 (Martin Ender (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 Martin Ender (Menderbug) and Lavaloid (cause: returning focus to player too early)
  • pressing enter on parameters now corrrectly moves to the next parameter instead of adding whitespace

Other:

  • template regression where start and finish symbols were moved to solved mode, detected by PinkHoodie, was fixed
  • duplicate parameters in puzzle url now produce an error message so authors are aware a correction is needed

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
  • the last page update is now automatically reported at the page top (thanks Martin Ender (Menderbug))

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 Sahay, ゆき❄ (Yu-ri), 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 (Yu Ho)
  • fixed some solution parameters leaking into blank puzzle (Yu Ho)

Site build:

  • link aliasing now support hyphens (Rook, PinkHoodie), fixed (Michael Vedder)
  • 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.

Internal:

  • altletters property deprecated
  • eachscope 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 (Chiel Beenhakker (bakpao), team)

New genres:

Genre Release date Supported by
RetoponogoCerise Talis
Sniping Arrow スナイピングアローゆき❄ (Yu-ri) and Pedro
Yosumi 四隅に切れSolyu
ABCPinkHoodie
Cross MathAnurag Sahay and Pedro
Tamago TownAnurag Sahay
YakisobaMichael Vedder
Turn SumsAnurag Sahay
PipelinkPinkHoodie
ForceloopPinkHoodie
Tally LoopEndagorion
CrossroadsRook
Koburin コブリンjustkirb
Prism Akari 美術館Leeor (I Love Sleeping)
Number Crosslinkhutthutthutt

Variants:

  • Globals: pipe, pipe-partial, escape, edge-given, turning, bramble-max-N
  • Locals: gemini-block lenience and equivalence

Genres:

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 (Martin Ender (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, Martin Ender (Menderbug), Anurag Sahay, PinkHoodie, fff, Nishinanntoka for ongoing feedback (work in progress).

Encoding.

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)

Genres:

Project:

  • More structured genre porting Kudamono Plans, to facilitate distributed collaboration, with:
    • expected release dates
    • claimable panels and metadata
  • Kudamono Version History 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;
  • changed the backdrop colour to dark and added a distrete close button (Martin Ender (Menderbug), Randomperson123)
  • the timer now pauses while changing window or tab (Lorem)
  • aux marks preserved on winning in edit mode (Martin Ender (Menderbug))
  • 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 Sahay)
  • Grid division genres now using dashed gridlines (dohz, Martin Ender (Menderbug))
  • Ability to specify symbol.textOpacity separate from general opacity

Panels:

  • changed the backdrop colour to dark and added a discrete close button (Martin Ender (Menderbug), Randomperson123)
  • 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;

Timer:

  • the timer now pauses while changing window or tab (Lorem)

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 (Martin Ender (Menderbug))
  • 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.
  • Regression immediately found by PinkHoodie was fixed (cause: incomplete separation of recommended variants .recovariants from the current loaded variants .variants)

Other:

  • PinkHoodie added +9 genres to PuzzleSquare
  • Changed the headings style to always use small caps, for consistency (dohz)

New genres:

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 Sahay, Martin Ender (Menderbug), Sophie (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 (Martin Ender (Menderbug)) or in Parimony (Anurag Sahay)
  • any .png puzzle images exported after can be loaded in the interface via drag-and-drop

Collaborations and API:

Highlighter:

  • ability to aggegate any other item type, via unifilters (Cerise Talis)

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)
  • Recent encoding regression reported by 5381, PinkHoodie and Rever was corrected (cause: more unit tests needed in the encoding module)

New genres:

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 Rule Panels page to coordinate all efforts
  • many genres modernised by PinkHoodie, justkirb, Anurag Sahay, 5381, Eli Doris (TwoHoleStraw) and Pedro
  • blank puzzles pre-added to modernised genres (Eli Doris (TwoHoleStraw))
  • 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 Eli Doris (TwoHoleStraw)
  • 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 (Eli Doris (TwoHoleStraw))

Internal:

  • diverse refactoring and performance improvements
  • renamed depiction to pic to save keystrokes (thus minimise typing errors)
  • secondary rules restriction layer via restrict property (Eli Doris (TwoHoleStraw))

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

New genres:

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:

Rule Panels:

  • Ongoing effort: variant rules appear "on-demand" when a variant is loaded (dohz, Martin Ender (Menderbug), Eli Doris (TwoHoleStraw)). 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 (Martin Ender (Menderbug))

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 (Martin Ender (Menderbug))

Unit Testing:

  • global genre unit testing now includes variants (longstanding bug fix).

2023

Collaborations:

New genres:

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:

Fixes:

  • current cursor restored on undo (Eli Doris (TwoHoleStraw))
  • click area height misalignment and symbols placed on absent tiles (Wisteria Fall)
  • 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 (David Millar, Random 8, 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 (Eli Doris (TwoHoleStraw))
  • 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

New genres:

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 (Echoes):
    • correct display of variant rules (Lennard Sprong (X_Sheep), 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 (Eli Doris (TwoHoleStraw))
  • 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 (spectria limina) ^Bonsai Gardening
    • faster in,ex,at meshes calculation
    • masked mesh now retrieved directly from infraharvest, solving a longstanding bug (PinkHoodie, Kays Ishaq (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)

New genres:

API:

  • loading a puzzle in another page other than the paper-puzzle-player page now causes the url to point to that page:

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 (ゆき❄ (Yu-ri))
      • 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 (Blaž Urban Gracar, Seren, and others)
    • bug reported by Wisteria Fall 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 (Eli Doris (TwoHoleStraw))
    • slightly more stable colouring (Jeffrey Bardon (IHNN))
  • Setter/Solve switch:
    • when inserting a symbol/mark, switching to/from edit mode has the lowest precedence (Lennard Sprong (X_Sheep))
    • edit text added to button (dohz)
    • tooltip for auto now useful (Eric Fox)

Interoperability:

  • Penpa batch import:
    • given lines: Line (tile-centered), line (tile-centered, free, in very limited scenarios)

Kudamono Genre Designer:

  • initial autocompletions added (Eli Doris (TwoHoleStraw))

Genre Fixes:

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)

New genres & variants:

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:

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 (Andrea Gilbert (Clickmazes))
  • changestreams integrated with the homepage
  • variant information was added to the new puzzle page and also to the page of each genre, in a more automated way (ゆき❄ (Yu-ri))

UI:

  • cursors:
    • streamlined the cursor / cursor prediction modules
    • the cursor now shows in all occasions (Martin Ender (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

Collaborations:

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 from puzz.link-style urls, so all genres common to both platforms are covered.
  • Penpa batch import page created, with support for:

UI:

  • redesigned the restart button (restart) to make it more distinct: (reset) (Kays Ishaq (Kays))

Miscellaneous Bug fixes:

  • fixed an issue with auto-mode ignoring lines (Kuchiwo Tsugumi (Competor))
  • fixed an issue with some error styles being shaded by previous styles (Kuchiwo Tsugumi (Competor))
  • url can now be shared as well (モノクログリーン)
  • 404 page was not displaying (dohz, Mitchell Clarke (DireKrow))
  • Safari bugs:
    • bookshelf displays each book at full width
    • puzzle miniatures patched so they at least are easily selectable (Andrea Gilbert (Clickmazes))

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

Collaborations:

Interoperability:

UI:

  • board rotation and mirroring: (Martin Ender (Menderbug))
    • has interface buttons available (rotate-clockwise), (mirror-right), for mobile
    • mirror shortcuts updated to the combo M (shift+m) → (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 (Martin Ender (Menderbug))
    • more control of the dragging area via the dimension.dragpadding property - this extra padding is not included when exporting pictures, for example (Martin Ender (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 (Mitchell Clarke (DireKrow))
    • aux mark keyboard shortcut tooltips added (Mitchell Clarke (DireKrow))
  • aux marking:
    • shortcut Ctrl/⌘                 (ctrl+space) now toggles aux mode (Mitchell Clarke (DireKrow))
    • right clicking in edit mode now places auto aux marks as well (Mitchell Clarke (DireKrow))
    • aux mark interference (causing marker wrongly placed in adjacent cell) no longer occurs (Mitchell Clarke (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 (Martin Ender (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) (Martin Ender (Menderbug), Mitchell Clarke (DireKrow));
  • cursor now updates instantly when a symbols is changed via keyboard (Lennard Sprong (X_Sheep))
  • rare race condition tentatively fixed on drawing the puzzle miniatures (Mitchell Clarke (DireKrow))
  • bookshelf titles no longer slightly off-screen (Mitchell Clarke (DireKrow))
  • pulsing inexistent buttons no longer tried (Mitchell Clarke (DireKrow))
  • toggling highlighting is now instantaneous (Mitchell Clarke (DireKrow))

Collaborations:

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 (Blaž Urban Gracar)

UI:

  • one can now drag away from the puzzle by clicking on the surrounding area (David Millar)
  • UI buttons stay pressed when selected (Eli Doris (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/⌥X (alt+shift+x) shortcut
  • unified mode:
    • appearing more often (Martin Ender (Menderbug))
    • click area for lines enlarged to include segment midpoints, so they can't be missed now (Martin Ender (Menderbug), 嘉和逆天 (Chenhao Xu))
  • metadata:
    • difficulty stars can be inserted using asterisks (Blaž Urban Gracar)
    • 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 (Blaž Urban Gracar)
    • double-diagonal aux marks (Martin Ender (Menderbug))

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 N (shift+n) → D (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)

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 (Martin Ender (Menderbug))
    • derived button colours (Martin Ender (Menderbug))
    • alternative keyboard shortcuts are now possible, as the symbol.shortcuts property now accepts lists too
    • "lingering" cursor bug on mobile (Martin Ender (Menderbug) and ゆき❄ (Yu-ri))
  • 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 (ゆき❄ (Yu-ri))
  • lines:
    • "one cell behind" bug in line drawing (Martin Ender (Menderbug) and others)
    • property input.figure.halved allows better line subdivision , fixing a bug Parrot Loop (ゆき❄ (Yu-ri))
    • obstacles are now considered via the input.obstacles property Pentomino Puzzles, Tetro Stack
  • movement:

Rendering:

  • small adjustment to the puzzle picture border (Martin Ender (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) R・B ループ 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

Collaborations: New Genres R・B ループ 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 (Lennard Sprong (X_Sheep))
    • grid editing buttons updated for more consistency and now adapted to the diamond grid (Martin Ender (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
      • 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 () 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 (ゆき❄ (Yu-ri))
    • hover predictions became more focused (Martin Ender (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()/fail() icon, if appropriate, where available
      • can be copied to clipboard, via a button below, for quoting on external sites (Lennard Sprong (X_Sheep))
  • Other fixes
    • shading a number no longer necessarily hides it underneath (Martin Ender (Menderbug))
    • overlapping number and symbols now insertable together for more convenience Dream Sequence, Crossing Flashlights

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

New Genres: Zukei Puzzles, 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 are available (Martin Ender (Menderbug))
    • adaptive zoom now takes into account removed tiles (Lennard Sprong (X_Sheep))
    • hexagonal grids:
      • url encoding/decoding now bug-free Zukei Puzzles
      • 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 () within the about menu ()
    • 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 button, which:
      • erases solution and aux marks, when in play mode
      • erases everything, when in edit mode
    • input lag alleviated (Thomas Luo (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 Puzzles, 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:

Collaborations:

Features and Fixes:

  • Interactive puzzle parameters
  • Aux mark improvements:
  • Cursor fixes:
    • Predictive cursor display no longer active when the cursor falls outside the board (ゲサク (GESAKU))
    • Cursor misalignment/hitbox corrected (Sophie (Edderiofer))
    • Cursor no longer disappears on undoing back to start (モノクログリーン)
  • Other interface improvements:
    • small adjustments to the UI buttons to make them more intuitive (Martin Ender (Menderbug)), and more responsive
    • fix: returned timer to the foreground (Martin Ender (Menderbug))
    • 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

Features and Fixes:

  • Better image generation:
    • custom image sizes, in px;
    • correct image dimensions, including an auto-adjusting border; (モノクログリーン)
    • 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:

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

Collaborations:

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:
  • timer:
    • Upon solving a puzzle, a small timer will show up the elapsed time, in the format MM:SS (minutes, seconds) - (Chiel Beenhakker (bakpao))
    • 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

Collaborations:

Features and Fixes:

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 😢)

Collaborations:

New features:

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

Features and Fixes:

  • Puzlog:
    • seeing at a glance all puzzles by Pedro
    • 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
  • Andrea Gilbert (Clickmazes) spearheaded a new collaboration model, by transcribing her puzzles Full House

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:

  • Eric Fox made me rethink the collaboration model for porting and transcribing puzzles

Internals.

  • rule pictures can be ordered explicitly via the order (numeric) property

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 Types page
    • printing buttons added to the genre pages

Features and Fixes:

Internal:

  • metadata encoding fixes

Discontinued:

  • experiment with fetching of daily puzzles

New Genres: Rosewary, Rook End Mazes, Venn ベンズループ, Tetro Stack, Pentomino Puzzles .

Internal:

  • colour palettes names accept deep renaming chains

New Genres: Full House, flow .

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

Support for network-like-genres Shape Grid, Untangram, Unrectangles.

Collaborations:

Discontinued:

  • Automatically transcribing puzzles via "computer vision"

Features and fixes:

Internal:

  • the need for a page to check all unit Automated tests at once for all genres emerged

Features and fixes:

Collaborations:

Features and fixes:

  • emoji support Roost
  • arbitrary placement and visualisation of errors, irrespective of their origin

Collaborations:

Features and fixes:

Features and Fixes:

  • textual and numeric symbols (shortcuts, cursors) Subwhirl
  • customisation or grid guide lines and dots, based on inheritance

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

Bonsai Gardening by Lucas (Le Slo) 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

The first Kudamono puzzles were created, as well as the first version of the Kudamono Editor.