lantern

sprout-garden-phase-1

Sprout Garden Phase 1: Foundation

Vines and Basic Transformers - The building blocks

Overview

Phase 1 introduces the core mechanics that make everything else possible:

  • Flow control via vines (tap to rotate)
  • Growth cycles via form growers and color bloomers
  • Sequential tending - watch sprouts flow through

This phase teaches: Things flow through paths and change along the way.

Plot Types Introduced

Plot Symbol Category Seeds Fruits Behavior
Spring 🌱 source none all 4 Emits sprouts
Harvest 🎯 sink all 4 none Collects sprouts
Vine (→↓←↑) βž‘οΈβ¬‡οΈβ¬…οΈβ¬†οΈ flow 3 dirs 1 dir Carries unchanged
Form Grower βš™οΈ transform all 4 pass-through Ripens shape
Color Bloomer 🎨 transform all 4 pass-through Blooms color
Splitter β‘‚ flow all 4 perpendicular Splits 90Β°

Growth Cycles

Form Cycle (Ripening)

● seedling β†’ β–  sprout β†’ β–² bloom β†’ β˜… fruit β†’ (back to seedling)

Each Form Grower advances one step. Four growers = full cycle.

Color Cycle (Blooming)

πŸ”΄ red β†’ 🟒 green β†’ πŸ”΅ blue β†’ 🟑 yellow β†’ (back to red)

Each Color Bloomer advances one step. Four bloomers = full cycle.

Level Progression

Level Challenge Teaches
1 Connect spring to harvest Flow concept
2 One form change Single transform
3 One color change Property transforms
4 Two form changes Chaining
5 Form + color combined Multiple properties
6 Multiple of each Planning paths
7 Three form changes Cycle mechanics
8 Full cycle wrapping Modular arithmetic
9 Complex path planning Spatial reasoning
10 Challenge garden! All skills combined

Source Files

File Purpose
src/plots/types/spring.js Sprout emitter
src/plots/types/harvest.js Sprout collector
src/plots/types/vine.js Directional carrier (rotatable)
src/plots/types/form-grower.js Shape transformer
src/plots/types/color-bloomer.js Color transformer
src/plots/types/splitter.js Perpendicular splitter

API Documentation

files:
  - /Users/graemefawcett/working/ben.fawcett.family/activities/sprout-garden/src/plots/types/spring.js
  - /Users/graemefawcett/working/ben.fawcett.family/activities/sprout-garden/src/plots/types/harvest.js
  - /Users/graemefawcett/working/ben.fawcett.family/activities/sprout-garden/src/plots/types/vine.js
  - /Users/graemefawcett/working/ben.fawcett.family/activities/sprout-garden/src/plots/types/form-grower.js
  - /Users/graemefawcett/working/ben.fawcett.family/activities/sprout-garden/src/plots/types/color-bloomer.js
  - /Users/graemefawcett/working/ben.fawcett.family/activities/sprout-garden/src/plots/types/splitter.js

❌ Fence Execution Error: "'code-api-docs' - Down the rabbit hole we went, but that node doesn't exist! Try 'oculus list' to see what's available."

Pedagogy

What Kids Learn (Without Knowing It)

  • Sequential processing: Things happen in order
  • State machines: Objects have properties that change
  • Modular arithmetic: Cycles wrap around
  • Spatial reasoning: Paths through 2D space
  • Debugging: "Why did my sprout go there?"

Visual Feedback

  • Sprouts animate through paths
  • Current cell highlights during growth
  • Trace panel shows full journey
  • Properties panel reveals plot internals

Verification

Live Vitest Results (33 tests)

TableConfig:
  array_path: table
  columns:
    Test: 0
    Status: 1
    Time: 2
  format: markdown

❌ Fence Execution Error: Invalid graphnode fence format: graphnode

Static Analysis (File Structure)

Test Status Details
spring.js exists fail file not found
harvest.js exists fail file not found
vine.js exists fail file not found
form-grower.js exists fail file not found
color-bloomer.js exists fail file not found
splitter.js exists fail file not found

Summary: Tests verify all Phase 1 plot types - spring, harvest, vine (all 4 directions), form-grower, color-bloomer, and splitter.

Slots

North

slots:
- sprout-garden

South

slots:
- sprout-garden-phase-1-test

East

slots:
- sprout-garden-phase-2

West

slots: []
↑ northsprout-garden
↓ southsprout-garden-phase-1-test
β†’ eastsprout-garden-phase-2