0000000000000000000000000000000000000000 8e774acc0045c43d14703ec3dff20bb4c766bf2a algorithmixx <gero.scholz@gmail.com> 1778703217 +0200	commit (initial): Initial commit of pre-existing implementation (pre-rebuild snapshot)
8e774acc0045c43d14703ec3dff20bb4c766bf2a 51ee975c652eec9ea4e820c521863d16b4389864 algorithmixx <gero.scholz@gmail.com> 1778703394 +0200	commit: Phase 0: tabula rasa for didactic rebuild
51ee975c652eec9ea4e820c521863d16b4389864 dbe9358809da8d79c8f2eb189e9d7af51fcf34c5 algorithmixx <gero.scholz@gmail.com> 1778703962 +0200	commit: Phase 1: 8x8 chessboard renders, click reports cell coordinates
dbe9358809da8d79c8f2eb189e9d7af51fcf34c5 1aab9fa03a401b0b3f65fa2baf7931aad32c9da0 algorithmixx <gero.scholz@gmail.com> 1778741575 +0200	commit: Phase 2 prep: add PROTOKOLL.md + _assets/ with retrospective entries for phases 0 and 1
1aab9fa03a401b0b3f65fa2baf7931aad32c9da0 1d9f19cb588cde1aa9379aa5cce5c3035c2c63e4 algorithmixx <gero.scholz@gmail.com> 1778742783 +0200	commit: Phase 2: knight's tour solver core (iterative DFS + Warnsdorff) with line and number render
1d9f19cb588cde1aa9379aa5cce5c3035c2c63e4 32b11daf73a47026e3534c0d1c00d38d1b780433 algorithmixx <gero.scholz@gmail.com> 1778742819 +0200	commit: Phase 2 protocol: add phase 2 entry to PROTOKOLL.md with solution screenshot
32b11daf73a47026e3534c0d1c00d38d1b780433 fe74bf20b56130833f137b0efc7a1d7b6f1fc5e5 algorithmixx <gero.scholz@gmail.com> 1778747210 +0200	commit: Phase 3: variable W*H boards, padded solver, dynamic cell size
fe74bf20b56130833f137b0efc7a1d7b6f1fc5e5 c6bad3b51d7364ad4b21a679b153bb1779261a2d algorithmixx <gero.scholz@gmail.com> 1778747259 +0200	commit: Phase 3 protocol: add phase 3 entry to PROTOKOLL.md with stress-test and pathological-case screenshots
c6bad3b51d7364ad4b21a679b153bb1779261a2d 94e018df501cd0ecb14330cfc68edc558cae6e63 algorithmixx <gero.scholz@gmail.com> 1778747581 +0200	commit: Phase 3 follow-up: window resize listener, preserves rendered tour
94e018df501cd0ecb14330cfc68edc558cae6e63 45cccacf41f77a4a817e010eac98a349d8f60f6d algorithmixx <gero.scholz@gmail.com> 1778747605 +0200	commit: Phase 3 protocol follow-up: document the resize Nachzuegler and the baseline-behavior principle
45cccacf41f77a4a817e010eac98a349d8f60f6d bec871863ad593f0139d0bebf21afb2aa5f8a7a7 algorithmixx <gero.scholz@gmail.com> 1778751443 +0200	commit: Phase 4: heuristic + figure + mix-button + full-state localStorage
bec871863ad593f0139d0bebf21afb2aa5f8a7a7 567466ef1dc79a9e947d4c7ddefbdd718958fc63 algorithmixx <gero.scholz@gmail.com> 1778751505 +0200	commit: Phase 4 protocol: add phase 4 entry with smoke test table and 8x6 Zebra exhaustion screenshot
567466ef1dc79a9e947d4c7ddefbdd718958fc63 72f15cdfb187b14a26ddac75a69defe69abf6b22 algorithmixx <gero.scholz@gmail.com> 1778752503 +0200	commit: Phase 5: visibility toggles for numbers and tour line
72f15cdfb187b14a26ddac75a69defe69abf6b22 3c34d2b5f64d1d95e5bb507389fde73d8ae7723c algorithmixx <gero.scholz@gmail.com> 1778752532 +0200	commit: Phase 5 protocol: add phase 5 entry with lines-only and numbers-only screenshots
3c34d2b5f64d1d95e5bb507389fde73d8ae7723c 802536591f3dc221b5afe51be9c6f3550af69d9c algorithmixx <gero.scholz@gmail.com> 1778754508 +0200	commit: Phase 6: closed-tour mode via start-neighbour bias (Schwenk technique)
802536591f3dc221b5afe51be9c6f3550af69d9c 67427d20181a6798442ea42756dfad03883847e0 algorithmixx <gero.scholz@gmail.com> 1778754555 +0200	commit: Phase 6 protocol: closed-tour entry with Schwenk-bias smoke tests and user contribution note
67427d20181a6798442ea42756dfad03883847e0 5a174431a70fdd56b6e4a34ecf988792e971af0b algorithmixx <gero.scholz@gmail.com> 1778759731 +0200	commit: Phase 7: symmetric tours (axisV / point / rot90) via orbit-aware DFS
5a174431a70fdd56b6e4a34ecf988792e971af0b e1b47dffdfc7f6dd0ade23caba1d4ba59261f876 algorithmixx <gero.scholz@gmail.com> 1778759780 +0200	commit: Phase 7 protocol: symmetric tours, color-parity analysis, algorithmic restriction note
e1b47dffdfc7f6dd0ade23caba1d4ba59261f876 d1f9d60e2d2ad12ff68fbfcef624bd9bbd7f5716 algorithmixx <gero.scholz@gmail.com> 1778761878 +0200	commit: Phase 7.5 A: introduce T_CONTRACT.md alongside knight.md
d1f9d60e2d2ad12ff68fbfcef624bd9bbd7f5716 07d786073e318e301468700a7d40550d4db248dd algorithmixx <gero.scholz@gmail.com> 1778762287 +0200	commit: Phase 7.5 B1: split app.js into 8 OO modules (no functional change)
07d786073e318e301468700a7d40550d4db248dd ffa89e212c737f92a3491e27bd249dcef334c7f5 algorithmixx <gero.scholz@gmail.com> 1778768055 +0200	commit: Phase 7.5 B2: state via URL hash for replay testability
ffa89e212c737f92a3491e27bd249dcef334c7f5 d4330fe6834ea579c7b052fe6269e4a47f93cc3f algorithmixx <gero.scholz@gmail.com> 1778768211 +0200	commit: Phase 7.5 B3: i18n consolidation + visible language switcher
d4330fe6834ea579c7b052fe6269e4a47f93cc3f 7ba4c2cba4f13b8607022faf20ae32463766ecd9 algorithmixx <gero.scholz@gmail.com> 1778768401 +0200	commit: Phase 7.5 B4: a11y basics (keyboard nav, ARIA, focus, aria-live)
7ba4c2cba4f13b8607022faf20ae32463766ecd9 f6f42512e334a5db7d122f4999bf11ca3e69ed6c algorithmixx <gero.scholz@gmail.com> 1778768545 +0200	commit: Phase 7.5 B5: test skeleton (tests/test.html + tests/tests.js)
f6f42512e334a5db7d122f4999bf11ca3e69ed6c 5d4c935ec977116f6492466cef6d0a9bea7779d9 algorithmixx <gero.scholz@gmail.com> 1778768778 +0200	commit: Phase 7.5 C: protocol entry + T_CONTRACT.md de-retrograded
5d4c935ec977116f6492466cef6d0a9bea7779d9 9c52f50cd906f8cf3ad4d6a5a2cc5deb50c9b56e algorithmixx <gero.scholz@gmail.com> 1778769303 +0200	commit: Phase 7.5 follow-up: URL hash only when state differs from defaults
9c52f50cd906f8cf3ad4d6a5a2cc5deb50c9b56e c063987b2b404a474b4d9c0f78bf7b56edaedf73 algorithmixx <gero.scholz@gmail.com> 1778769660 +0200	commit: Phase 7.5 follow-up: click on title resets all settings to defaults
c063987b2b404a474b4d9c0f78bf7b56edaedf73 9edead709614931854a5e9a75897cf2e366a1585 algorithmixx <gero.scholz@gmail.com> 1778770122 +0200	commit: Phase 8: blockable cells via right-click / long-press / Shift+Enter
9edead709614931854a5e9a75897cf2e366a1585 16523e8f18353de0d4315b9adab810ce27c4c332 algorithmixx <gero.scholz@gmail.com> 1778770618 +0200	commit: Phase 8 follow-up: replace hanging Warnsdorff-block test with confirmed user pattern
16523e8f18353de0d4315b9adab810ce27c4c332 a9e5df5614d191714b96bfe0f346f2f36ef0699f algorithmixx <gero.scholz@gmail.com> 1778770663 +0200	commit: Phase 8 follow-up: faster start cell for the block-pattern test
a9e5df5614d191714b96bfe0f346f2f36ef0699f b7fb94dd2dc50758349daeb24a2494238a29904e algorithmixx <gero.scholz@gmail.com> 1778770790 +0200	commit: Phase 8 protocol: blockable cells, hanging-test bug story, user-confirmed replay pattern
b7fb94dd2dc50758349daeb24a2494238a29904e 7e485e1f43817171719f4a953ce31505e244990d algorithmixx <gero.scholz@gmail.com> 1778772076 +0200	commit: T_CONTRACT: DI over Singleton + new section 9 'inherited globals'
7e485e1f43817171719f4a953ce31505e244990d 322875837d8bc2797cc60ad8556b8d75939611ef algorithmixx <gero.scholz@gmail.com> 1778772255 +0200	commit: DI refactor: replace Singleton getInstance with constructor-injected 'theX' convention
322875837d8bc2797cc60ad8556b8d75939611ef 0b994e29a9a5c9e40a7ef25c9ea40b869946bc92 algorithmixx <gero.scholz@gmail.com> 1778773531 +0200	commit: Phase 9: chunked async search with time budget, stop button, re-click-continue
0b994e29a9a5c9e40a7ef25c9ea40b869946bc92 73836bea44a70905ff470dbb78966b0d0a9eb3dd algorithmixx <gero.scholz@gmail.com> 1778774214 +0200	commit: Phase 9 protocol: DI architecture cluster + time-budget + stop + re-click-continue
73836bea44a70905ff470dbb78966b0d0a9eb3dd e7ebf106136b718adfa5c1fbb23207e0275f0c86 algorithmixx <gero.scholz@gmail.com> 1778775245 +0200	commit: Phase 10: per-cell sensitivity scan with live heatmap
e7ebf106136b718adfa5c1fbb23207e0275f0c86 e8dde70ea8b98f351221330732c64ce8a75d79c8 algorithmixx <gero.scholz@gmail.com> 1778775297 +0200	commit: Phase 10 protocol: per-cell sensitivity scan with Outside-In heterogeneity finding
e8dde70ea8b98f351221330732c64ce8a75d79c8 a224ff05c8140d74670de1fdb15d7871c8f98036 algorithmixx <gero.scholz@gmail.com> 1778775852 +0200	commit: Phase 11 polish: CSS accent variables + focus-ring on search-controls + remove redundant rule
a224ff05c8140d74670de1fdb15d7871c8f98036 78c913d06c71164002d58bd1a8b1333530502fae algorithmixx <gero.scholz@gmail.com> 1778775917 +0200	commit: Phase 11 protocol: validation pass after phase-7.5 retrofit
78c913d06c71164002d58bd1a8b1333530502fae 0625106239b1bd15461a790ced42f8e5bb4927f8 algorithmixx <gero.scholz@gmail.com> 1778826061 +0200	commit: Phase 12: LEHRUNTERLAGE + HTML rendering + i18n fix + doc-standard retrofit
