- Add runtime crop override system for live DevCropTool updates without page reload
- Fix SVG letterboxing in DevCropTool coordinate conversion (screenToSvg/svgToScreen)
- Hide all UI (nav, GameInfoPanel) during crop mode for unobstructed drawing
- Show debug overlay (leftover/crop rectangles) even when no custom crop defined
- Use full map bounds as implicit crop when no custom crop exists
- Ensure map always fits within leftover area (not under UI elements)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
**Problem:** Mixed mastery mode uses operator-specific setting overrides
that are easy to overlook when making changes. This caused the recent
scaffolding bug and will get worse as we add more operators.
**Created Documentation:**
- OPERATOR_SPECIFIC_SETTINGS.md - Complete architecture guide
- Explains current implementation (global vs operator-specific)
- Documents recent scaffolding bug and root cause
- Lists all components that need special handling
- Provides 4-phase refactoring plan before adding new operators
**Key Insights:**
- Currently: 2 operators → 2 optional override fields per setting
- Future: 6+ operators → 6+ override fields = exponential complexity
- Hidden complexity: Not obvious from schema which fields have overrides
- Bug prone: Every UI component needs conditional logic
**Refactoring Plan:**
1. Phase 1: Documentation & audit (this commit)
2. Phase 2: Unified config model (explicit operator structure)
3. Phase 3: UI clarity (visual indicators, bulk actions)
4. Phase 4: Validation & testing
**Documentation Graph:**
- Linked from main README under "Additional Documentation"
- Marked with ⚠️ [NEEDS REFACTORING] for visibility
- Connected to Config Schema, Mastery, and Subtraction docs
**Next Steps:**
- Audit ContentTab and DifficultyTab for operator-specific handling
- Add integration tests for mixed mode settings
- Complete refactoring BEFORE adding multiplication/division
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Created worksheet README and updated root README to ensure all problem
generation documentation is discoverable via linked path.
**Documentation Graph:**
```
README.md (root)
→ apps/web/src/app/create/worksheets/README.md
→ PROBLEM_GENERATION_ARCHITECTURE.md
→ USER_WARNING_IMPROVEMENTS.md
→ .claude/PROBLEM_GENERATION.md
```
**New Files:**
- `apps/web/src/app/create/worksheets/README.md` - Overview of worksheet
system with links to all documentation
**Updated Files:**
- `README.md` - Added "Additional Documentation" section with worksheet
generator and abacus react component links
- `.claude/CLAUDE.md` - Added "Documentation Graph Requirement" at top
stating ALL docs must be reachable from root README
**Why This Matters:**
- Documentation that isn't linked gets forgotten and becomes stale
- New developers start at root README and follow links
- Ensures docs stay discoverable and maintained
- Now enforced as a critical requirement in Claude Code instructions
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>