// Build House - Construction with Builder Green
// Teaching AST structure through building

program BuildHouse {

  // Define the parts of a house
  parts HouseParts {
    foundation: Rectangle(wide, short)
    walls: Rectangle(medium, tall)
    roof: Triangle(wide)
    door: Rectangle(small, medium)
    window: Square(small)
  }

  // Define how parts connect (the structure!)
  structure HouseStructure {
    foundation at bottom
    walls on top of foundation
    roof on top of walls
    door inside walls at bottom
    window inside walls at middle
  }

  // Ask Green to build!
  Green do build HouseParts following HouseStructure

  // Show our creation
  show Green.building
  show "House complete!"

}

// What the child sees (blocks):
// ┌─────────────────────┐
// │ 🧱 Create Parts     │
// │ ┌─────────────────┐ │
// │ │ ▬ foundation    │ │
// │ │ ▮ walls         │ │
// │ │ △ roof          │ │
// │ │ ▯ door          │ │
// │ │ □ window        │ │
// │ └─────────────────┘ │
// └─────────────────────┘
// ┌─────────────────────┐
// │ 📐 Structure        │
// │ ┌─────────────────┐ │
// │ │     △ roof      │ │
// │ │    ┌──┐         │ │
// │ │ □  │▯ │ walls   │ │
// │ │    └──┘         │ │
// │ │ ▬▬▬▬▬▬ found    │ │
// │ └─────────────────┘ │
// └─────────────────────┘
// ┌─────────────────────┐
// │ 🟢 Green do [Build] │
// │ [Parts] + [Structure│
// └─────────────────────┘

// Hidden learning: Abstract Syntax Trees!
// Parts are like AST nodes
// Structure shows how nodes connect
// Parent-child relationships (roof ON walls)
// This is how compilers represent code!
