Compare commits

...
Author SHA1 Message Date
Meta Vens
d4596dda22 Wire AGENTS.md into Claude Code memory
Claude Code reads CLAUDE.md, not AGENTS.md, so this repo's doctrine was
invisible to it. This one-line import makes the existing AGENTS.md load
without duplicating or renaming it. Codex is unaffected.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-29 12:20:07 +02:00
Meta Vens
0852f6ad29 REC-119: cut dead branch-state mirror and completed scratch note
Deletes state/branches.json (tracked as "[]") and state/scratch.md.

state/branches.json claims no branches exist, but origin actually carries
main, codex/cultgeometry-csg-rename, and other remote branches — the file
has been silently wrong since it was empty from the start, misleading any
human or agent who inspects it. No reader was found.

state/scratch.md said only that the live cut moved to CultGeometry CSG
(crates/gamecult_geometry_csg) and to stop rehydrating old scene-generation
plans from memory — a completed migration note that duplicates
state/map.yaml's current_status/live_architecture sections, which say the
same thing as the durable record.

Explicitly NOT touched, per this pass's scope: state/evidence.jsonl
(historical evidence, excluded from this cut by the assignment), and the
empty `impl DomainChunkBuild {}` block — that struct lives in the
crates/gamecult_geometry_csg git submodule, which resolves to the
GameCult.Geometry.Csg repository; it was cut there directly under REC-124
rather than duplicated here.

Kill attempt: rg -n --hidden -g '!target/**' -g '!.git/**' -g '!state/**'
'branches\.json|scratch\.md' . across this repo: no hits outside state/
itself.

Collision check: git diff --stat origin/main...origin/codex/cultgeometry-csg-rename
touches only CLAUDE.md (+3 lines); it does not touch either deleted file.

REC-119

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-13 14:12:37 +02:00
Meta Vens
59fa3ef503 Point VibeGeometry at CultGeometry CSG 2026-08-26 17:39:23 +02:00
11 changed files with 42 additions and 46 deletions

6
.gitmodules vendored
View file

@ -1,3 +1,3 @@
[submodule "crates/vg_csg"]
path = crates/vg_csg
url = https://github.com/GameCult/vg-csg
[submodule "crates/gamecult_geometry_csg"]
path = crates/gamecult_geometry_csg
url = https://github.com/GameCult/GameCult.Geometry.Csg

View file

@ -2,7 +2,7 @@
## Purpose
VibeGeometry is the repository shell for the `vg-csg` Rust work surface.
VibeGeometry is the repository shell for the CultGeometry CSG Rust work surface.
The previous scene-generation mission has been deleted from the live tree. Do
not recreate it unless the user explicitly asks to recover a historical artifact
@ -19,10 +19,10 @@ domain/tree intent
## Ownership
- `crates/vg_csg` owns implementation.
- `crates/gamecult_geometry_csg` owns implementation.
- The root workspace owns only wiring, submodule state, and very small guidance.
- If a new domain-tree DSL, selected-cut planner, streaming mesh cache, or
frustum query API is needed, start inside `vg-csg`.
frustum query API is needed, start inside CultGeometry CSG.
- Do not add root-level helper runtimes, prompt packs, visual translation
corpora, or schema scaffolds.
@ -32,14 +32,14 @@ domain/tree intent
git submodule update --init --recursive
cargo test
cargo clippy --all-targets --all-features
cargo run -p vg_csg --release --example csg_perf_fixture
cargo run -p gamecult-geometry-csg --release --example csg_perf_fixture
```
## Discipline
- Keep the runtime path legible: input tree, selected cut, brush/CSG lowering,
emitted triangles, and timing evidence.
- Prefer tests and performance receipts inside `vg-csg` over root-level notes.
- Prefer tests and performance receipts inside CultGeometry CSG over root-level notes.
- Preserve exact parity only for public behavior the crate claims to mirror.
- RealtimeCSG is a reference seam, not an idol.
- Do not let historical scene-generation work become a live dependency again.

3
CLAUDE.md Normal file
View file

@ -0,0 +1,3 @@
Repository doctrine for this project lives in AGENTS.md, shared with Codex.
@AGENTS.md

22
Cargo.lock generated
View file

@ -326,6 +326,17 @@ dependencies = [
"slab",
]
[[package]]
name = "gamecult-geometry-csg"
version = "0.1.0"
dependencies = [
"approx",
"bevy_math",
"rmp-serde",
"serde",
"sha2",
]
[[package]]
name = "generic-array"
version = "0.14.7"
@ -889,17 +900,6 @@ version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]]
name = "vg_csg"
version = "0.1.0"
dependencies = [
"approx",
"bevy_math",
"rmp-serde",
"serde",
"sha2",
]
[[package]]
name = "wasip2"
version = "1.0.3+wasi-0.2.9"

View file

@ -1,3 +1,3 @@
[workspace]
members = ["crates/vg_csg"]
members = ["crates/gamecult_geometry_csg"]
resolver = "3"

View file

@ -1,6 +1,7 @@
# VibeGeometry
VibeGeometry is now the working shell around `vg-csg`.
VibeGeometry is the historical shell around **CultGeometry CSG**, whose clean
package identity is `GameCult.Geometry.Csg`.
The previous scene-generation research era is gone from the live tree. It can
stay in git history, where failed experiments are useful without being allowed
@ -17,17 +18,17 @@ domain/tree intent
The actual work surface is the Rust crate at:
- `crates/vg_csg`
- upstream: `https://github.com/GameCult/vg-csg`
- `crates/gamecult_geometry_csg`
- upstream: `https://github.com/GameCult/GameCult.Geometry.Csg`
## What This Repo Owns
- The `vg-csg` submodule pointer.
- The CultGeometry CSG submodule pointer.
- A minimal Rust workspace that builds that crate.
- Thin operating notes that keep future work pointed at runtime CSG, not legacy
scene-generation scaffolding.
## What `vg-csg` Owns
## What CultGeometry CSG Owns
- Brush and CSG tree APIs.
- RealtimeCSG-shaped public seams where useful.
@ -42,9 +43,9 @@ The actual work surface is the Rust crate at:
git submodule update --init --recursive
cargo test
cargo clippy --all-targets --all-features
cargo run -p vg_csg --release --example csg_perf_fixture
cargo run -p gamecult-geometry-csg --release --example csg_perf_fixture
```
If a future task needs domain-tree DSL work, put it in `vg-csg` unless there is
If a future task needs domain-tree DSL work, put it in CultGeometry CSG unless there is
a proven reason it must live outside the crate. The default answer is simple:
the geometry machine belongs where the geometry machine runs.

@ -0,0 +1 @@
Subproject commit b476a05eb5ea93ea86f44b09892e83f4bf9499b0

@ -1 +0,0 @@
Subproject commit a3197f413997f90fb53c609274e025d58fadc31b

View file

@ -1 +0,0 @@
[]

View file

@ -1,22 +1,21 @@
experiment:
name: VibeGeometry
status: runtime_csg_shell
phase: vg_csg_focus
phase: cultgeometry_csg_focus
premise: >
VibeGeometry is now the thin repository shell around the `vg-csg` Rust
work surface. Historical scene-generation research machinery has been
removed from the live tree.
VibeGeometry is the thin historical shell around the CultGeometry CSG Rust
work surface, whose clean package identity is GameCult.Geometry.Csg.
mission:
primary: >
Build a fast runtime CSG machine capable of lowering domain/tree intent into
an LOD-aware CSG hierarchy and emitting triangle/collider output for a
camera or frustum query in milliseconds.
work_surface: crates/vg_csg
work_surface: crates/gamecult_geometry_csg
hard_boundaries:
- Do not rebuild the historical scene-generation pipeline in this repo.
- Put implementation in `crates/vg_csg` unless a task proves a root-level
- Put implementation in `crates/gamecult_geometry_csg` unless a task proves a root-level
surface is necessary.
- Preserve exact parity only for public RealtimeCSG-style behavior the crate
explicitly claims to mirror.
@ -25,25 +24,25 @@ hard_boundaries:
live_architecture:
pipeline:
- Domain or tree intent enters `vg-csg`.
- Domain or tree intent enters CultGeometry CSG.
- The runtime chooses an LOD-aware selected cut for the requested view,
budget, dirty state, or output scope.
- The selected cut lowers to CSG/brush operations.
- The crate emits triangle and collider output plus receipt/timing evidence.
root:
- Minimal Cargo workspace.
- `crates/vg_csg` git submodule.
- `crates/gamecult_geometry_csg` git submodule.
- Minimal README/AGENTS/state pointers.
current_status:
summary: >
Root-level scene-generation surfaces have been deleted. `vg-csg` is the live
Root-level scene-generation surfaces have been deleted. CultGeometry CSG is the live
work surface for future domain-tree, LOD CSG, selected-cut, and triangle
emission work.
next_action: >
Continue inside `crates/vg_csg`: define the first LOD/query contract for
Continue inside `crates/gamecult_geometry_csg`: define the first LOD/query contract for
selected CSG output rather than adding new root scaffolding.
remotes:
vibegeometry: https://github.com/GameCult/VibeGeometry
vg_csg: https://github.com/GameCult/vg-csg
gamecult_geometry_csg: https://github.com/GameCult/GameCult.Geometry.Csg

View file

@ -1,6 +0,0 @@
# Scratch
Current live cut: `vg-csg` owns the work surface.
Do not rehydrate old scene-generation plans from memory. The live tree has been
intentionally reduced to a Rust CSG workspace shell.