VibeGeometry/notes/vibegeometry-implementation-plan.md
2026-05-04 19:01:20 +01:00

4.2 KiB

VibeGeometry Implementation Plan

Current Phase

Turn the verified translation corpus into a small set of durable contracts and builder seams for agent-authored Blender geometry-node scenes.

The goal is still not a procedural art factory. The goal is a clean artifact loop where agents can state a visual target, choose a geometry strategy, emit inspectable node graphs, render evidence, and revise one hypothesis at a time without piling clever junk into the machine.

Planning belongs in this file and the handoff/map state surfaces. Architecture docs should describe durable contracts, boundaries, and data shapes; they should not carry live next-action clutter.

Corpus Lessons

  • Python is the planning and orchestration layer: loops, tables, variants, validation, cleanup, documentation, and Blender scene/render control.
  • Geometry Script is strongest as an inspectable graph emitter, especially when the script keeps names, sockets, attribute flow, and reusable group boundaries legible.
  • bpy remains necessary for Blender objects, modifiers, materials, cameras, lights, files, renders, and evaluated-geometry comparison.
  • nodes_to_script is useful as a converter draft and source-graph probe. Its output should inform the translation, not define good house style.
  • Accepted graph translations need behavioral verification, not just successful script execution.
  • City-scale graphs expose the next toolchain pressure: repeat zones, foreach zones, gizmo nodes, repeat Top outputs, and converter edge cases.

Near-Term Sequence

  1. Choose the next IRCSS French Houses move.

    • Either fix one repeat-zone/foreach/gizmo blocker in the Geometry Script fork or select a non-zone architectural helper with a non-empty behavioral harness.
    • Keep the chosen target small enough to verify against evaluated geometry.
    • Record rejected paths only when they change future decisions.
  2. Define the scene brief contract.

    • Capture references, text instructions, target visual traits, constraints, camera/composition requirements, acceptance criteria, and known unknowns.
    • Preserve source paths or URLs for every reference image.
    • Separate visual target description from implementation strategy.
  3. Define the node graph manifest contract.

    • Describe node groups, sockets, exposed controls, modifiers, attribute names, field flow, materials, dependencies, and verification expectations.
    • Require enough naming and rationale for future agents to inspect the graph.
    • Keep graph contracts Blender 5.0+ oriented.
  4. Build a minimal Python builder seam.

    • Start with one tiny scene that proves graph construction, material setup, camera, lighting, save, and render orchestration.
    • Prefer small composable helpers for node group creation and socket linking.
    • Avoid a giant builder abstraction until repeated graph idioms demand it.
  5. Build render review artifacts.

    • Store render path, scene brief id, manifest id, script path, Blender version, review status, visual misses, graph issues, and next hypothesis.
    • Treat rendered output as the acceptance surface for visual claims.
  6. Promote doctrine only after it survives use.

    • Keep examples small enough to inspect.
    • Put sample-specific graph maps in docs/research/translations/.
    • Keep docs/research/procedural-doctrine.md tight enough to fit in working context when building a new scene from scratch. Nobody needs a sacred haystack.
  7. Generalize after the loop works.

    • Add reference-image ingestion helpers.
    • Add headless batch rendering.
    • Add visual comparison or reviewer prompts.
    • Add richer examples only after the contracts stop sliding.

Deferred

  • Large procedural asset library
  • Automated visual scoring beyond basic review artifacts
  • Fine-tuned graph-generation models
  • Blender add-on packaging
  • Complex simulation-node workflows before the basic graph loop is stable

Discipline

  • Work one bounded organ at a time.
  • Explain target-to-graph data flow before broad refactors.
  • Prefer explicit manifests and render evidence over implicit agent memory.
  • If the diff grows while understanding shrinks, stop and simplify.
  • Keep history in git; keep persisted state focused on what future sessions need to believe.