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.
VibeGeometry separates five things that are easy to smear together:
-
Visual target What the result should look like, grounded in reference images and explicit instructions.
-
Geometry strategy The procedural plan: primitives, fields, instances, curves, surfaces, simulation zones, attributes, materials, and camera composition.
-
Node graph contract The legible graph structure that should exist in Blender, including named groups, exposed parameters, attribute flow, and reusable node idioms.
-
Python builder The script that creates the scene, builds node groups, links sockets, assigns materials, places cameras and lights, and saves or renders the
.blendresult. -
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.
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 small
vibegeometry/helper library for coordinate frames, deterministic fields, batching, Blender object/material/camera helpers, and verifier checks - experimental Rust crates:
vg_csgfor Bevy-math brush assembly andvg_grammarfor semantic procedural claims feeding the CSG tree - a repo structure for schemas, prompts, examples, experiments, scripts, tools, notes, and durable state
- small state inspection and pre-compaction helpers
Not present yet:
- scene brief schema
- node graph manifest schema
- render review schema
- reference-image ingestion helpers
- automated Blender render runner
- visual comparison or reviewer loop
AGENTS.md: operating discipline for humans and agentsstate/map.yaml: canonical project map and current next actionstate/scratch.md: disposable working memory for one bounded subgoalstate/evidence.jsonl: distilled belief-changing evidencestate/branches.json: active or closed investigation branchesnotes/fresh-workspace-handoff.md: compact re-entry packetnotes/vibegeometry-current-system-map.md: current repo machinerynotes/vibegeometry-implementation-plan.md: implementation sequencevibegeometry/: reusable procedural-scene helper librarynotes/architecture-rationale.md: why the persistence surfaces existdocs/architecture/: pipeline contracts and design notesdocs/research/: Blender geometry-node research notesschemas/: future JSON schema contractsexamples/: future scene briefs, generated scripts, and review artifactsexperiments/: disposable render attempts and capturesprompts/: reusable agent prompts for scene planning and reviewscripts/: utility scripts that are not core persistence machinerytools/vibegeometry_state.py: state inspection and evidence helpertools/vibegeometry_prepare_compaction.py: pre-compaction audit helper
npm run state:status
npm run state:prepare-compactionTo add distilled evidence:
& 'C:\Users\Meta\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe' '.\tools\vibegeometry_state.py' add-evidence --type design --status accepted --note '...'AGENTS.mdstate/map.yamlnotes/vibegeometry-current-system-map.mdnotes/vibegeometry-implementation-plan.mddocs/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.