VibeGeometry/README.md
2026-05-04 12:20:23 +01:00

109 lines
4.1 KiB
Markdown

# VibeGeometry
VibeGeometry is a research and implementation home for agent-authored Blender
scene generation.
The project exists to build a pipeline where Codex, or any other sufficiently
useful local agent, can take reference images and visual instructions, plan a
procedural geometry strategy, generate Blender Python scripts, construct
complex geometry-node graphs, render the result, and revise from evidence
instead of shrugging confidently at a pile of decorative node spaghetti.
The target is Blender 5.0 and later. The repo treats geometry nodes as the
main modeling surface, Python as the graph construction and orchestration
language, and rendered output as the evidence loop.
## Core Idea
VibeGeometry separates five things that are easy to smear together:
1. **Visual target**
What the result should look like, grounded in reference images and explicit
instructions.
2. **Geometry strategy**
The procedural plan: primitives, fields, instances, curves, surfaces,
simulation zones, attributes, materials, and camera composition.
3. **Node graph contract**
The legible graph structure that should exist in Blender, including named
groups, exposed parameters, attribute flow, and reusable node idioms.
4. **Python builder**
The script that creates the scene, builds node groups, links sockets,
assigns materials, places cameras and lights, and saves or renders the
`.blend` result.
5. **Render review**
What the actual output proves: visual match, graph sanity, missing geometry,
material errors, performance pain, and rejected approaches.
The script is not the design. The render is not the truth. The node graph is
the machine, and the repo exists to make that machine inspectable.
## Current Status
This is an initial scaffold.
Currently present:
- persistence surfaces for re-entry, evidence, planning, and compaction hygiene
- starter architecture notes for the Blender scene-generation pipeline
- a repo structure for schemas, prompts, examples, experiments, scripts, tools,
notes, and durable state
- small state inspection and pre-compaction helpers
Not present yet:
- Blender Python graph builder library
- scene brief schema
- node graph manifest schema
- render review schema
- reference-image ingestion helpers
- automated Blender render runner
- visual comparison or reviewer loop
## Repo Tour
- `AGENTS.md`: operating discipline for humans and agents
- `state/map.yaml`: canonical project map and current next action
- `state/scratch.md`: disposable working memory for one bounded subgoal
- `state/evidence.jsonl`: distilled belief-changing evidence
- `state/branches.json`: active or closed investigation branches
- `notes/fresh-workspace-handoff.md`: compact re-entry packet
- `notes/vibegeometry-current-system-map.md`: current repo machinery
- `notes/vibegeometry-implementation-plan.md`: implementation sequence
- `notes/architecture-rationale.md`: why the persistence surfaces exist
- `docs/architecture/`: pipeline contracts and design notes
- `docs/research/`: Blender geometry-node research notes
- `schemas/`: future JSON schema contracts
- `examples/`: future scene briefs, generated scripts, and review artifacts
- `experiments/`: disposable render attempts and captures
- `prompts/`: reusable agent prompts for scene planning and review
- `scripts/`: utility scripts that are not core persistence machinery
- `tools/vibegeometry_state.py`: state inspection and evidence helper
- `tools/vibegeometry_prepare_compaction.py`: pre-compaction audit helper
## Useful Commands
```powershell
npm run state:status
npm run state:prepare-compaction
```
To add distilled evidence:
```powershell
& 'C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe' '.\tools\vibegeometry_state.py' add-evidence --type design --status accepted --note '...'
```
## Best Starting Points
- `AGENTS.md`
- `state/map.yaml`
- `notes/vibegeometry-current-system-map.md`
- `notes/vibegeometry-implementation-plan.md`
- `docs/architecture/pipeline-overview.md`
For Codex-driven work, read `AGENTS.md` before changing the repo. It contains
the rules that keep the project from turning into a confident procedural hairball.