Reorders the left sidebar so risky actions sit at the bottom with a gap:
Dashboard, Synchronize, Logout | Change Language (red), Delete Account.
The new Change Language button opens a warning popup with a language
dropdown. On confirm, if the selected locale differs from the current
one, the client calls POST /reset_language. On success it wipes the
local teacher folder (progression, remediation, confusion matrix…),
applies the new language to device and teacher settings, logs out and
reloads from the splash screen. On error the user sees an error popup
and nothing local changes.
Removed code-side background.modulate override from set_background() —
background tint is now baked into each scene's Background node. Gardens
06-12 use placeholder colors pending final design specs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Blue Jellyfish, Purple Turtle, Ant, Crab, Yellow Parakeet gardens
now use the final color values from the design spreadsheet.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Each garden (garden_01.tscn through garden_12.tscn) now has its own color
palette for lesson buttons (unlocked/completed fill and text colors).
Lesson count is validated to be between 12 and 60. The old dynamic
duplication of a single garden.tscn is replaced by instantiating the
correct scene per garden index.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Path now reads actual button positions and sizes from the visible
LessonButton nodes instead of SLOT_CENTERS constants. This means
editing button positions in the Godot editor automatically updates
the path line.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Buttons, pivot offsets and font size scaled down proportionally.
Same center positions preserved.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All 8 plants are now TextureRect nodes in garden.tscn instead of being
instantiated at runtime. Positions, sizes and colors are editable
directly in the Godot editor. Buttons were already scene nodes.
Removed _create_plants(), PLANT_LAYOUTS, PLANT_PATH_MODEL and all
runtime instantiation code from garden.gd. Plants container is now
placed between Background and Buttons for correct z-ordering.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add 8 garden plant assets (garden_plant_01 to 08) from victory assets
- Remove entire old flower system (FlowerSizes enum, flower generation,
flower VFX transitions, flower_controls, flowers_visible, flowers_sizes)
- Remove Flower class from GardenLayout
- Plants are created programmatically in Garden._create_plants() at fixed
positions matching the Explanation.png mockup layout
- All plants hidden by default, revealed progressively based on completed
minigames ratio: 0 completed = 0 visible, all completed = all 8 visible
- Add lowercase file naming rule to CLAUDE.md
- Fix current_garden lookup to use _get_garden_index_for_lesson instead
of removed flower_info system
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Button size is fixed at 300x300 in the scene, no need to instantiate
and measure at runtime.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>