soroban-abacus-flashcards/apps/web
Thomas Hallock 639e662d76 fix: improve magnifier zoom smoothness and debug panel
- Remove immediate snap threshold in useMagnifierZoom - always animate smoothly with react-spring even for large zoom changes (e.g., 14.8× → 313.8× when approaching Vatican City)
- Add smooth cubic falloff for region importance (1 - (d/50)³) to prevent sudden jumps when regions enter detection box
- Reduce size boost from 2.0× to 1.5× and make conditional (only applies when distanceWeight > 0.1) to prevent tiny edge regions from dominating
- Expand detection radius from 75px to 100px for smoother transitions
- Add minimum zoom constraint to ensure magnifier viewport never exceeds detection box size (minZoom >= svgRect.height / 50)
- Compress debug panel Region Analysis: show top 3 regions instead of 5, single-line format
- Fix React duplicate key warning by deduplicating regionDecisions before rendering and using namespaced keys
- Revert to bounding box detection for performance (geometry-based detection was too expensive)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 11:37:50 -06:00
..
.claude feat: add visual debugging for zoom importance scoring 2025-11-24 18:52:11 -06:00
.storybook fix: refactor worksheet config persistence to blacklist approach + Storybook stories 2025-11-13 11:26:36 -06:00
__tests__
content/blog
data
docs
drizzle
e2e feat: add precision mode system with pixel grid visualization 2025-11-23 14:00:43 -06:00
public
scripts
src fix: improve magnifier zoom smoothness and debug panel 2025-11-25 11:37:50 -06:00
.dockerignore.test
.gitignore
CARD_SORTING_PORT_PLAN.md
COMPLEMENT_RACE_PORT_PLAN.md
DEVELOPMENT_STANDARDS.md
LINTING.md
README.md
biome.jsonc
drizzle.config.ts
eslint.config.js
next-env.d.ts
next.config.js fix: configure Next.js to transpile @svg-maps ES modules 2025-11-20 09:15:53 -06:00
package.json refactor: use flatten-js for precise geometric intersection detection 2025-11-25 07:05:57 -06:00
panda.config.ts fix: refactor worksheet config persistence to blacklist approach + Storybook stories 2025-11-13 11:26:36 -06:00
playwright.config.ts
pnpm-lock.yaml
server.js debug: add error handling for socket-server require to see actual failure 2025-11-20 05:51:24 -06:00
svg-processing-test.js
test-arcade-api.sh
test-flashcards-final.pdf
test-flashcards.pdf
test-simplified.pdf
test_fullscreen_persistence.html
test_panda_simple.html
tsconfig.json
tsconfig.server.json fix: use dynamic ES module imports for @svg-maps packages in know-your-world 2025-11-22 12:16:54 -06:00
vitest.config.ts feat(know-your-world): full-screen layout with squish-through pointer lock escape 2025-11-22 21:50:13 -06:00

README.md

Test deployment - Mon Nov 3 16:31:57 CST 2025