diff --git a/.gitmodules b/.gitmodules index 5abcefb..4a64f7b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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 diff --git a/AGENTS.md b/AGENTS.md index 2b74df9..facd1c4 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..640c1a1 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,3 @@ +Repository doctrine for this project lives in AGENTS.md, shared with Codex. + +@AGENTS.md diff --git a/Cargo.lock b/Cargo.lock index 7dcb9a3..dbab116 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -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" diff --git a/Cargo.toml b/Cargo.toml index bed690a..71cda02 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,3 +1,3 @@ [workspace] -members = ["crates/vg_csg"] +members = ["crates/gamecult_geometry_csg"] resolver = "3" diff --git a/README.md b/README.md index 3efbdaf..178a302 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/crates/gamecult_geometry_csg b/crates/gamecult_geometry_csg new file mode 160000 index 0000000..b476a05 --- /dev/null +++ b/crates/gamecult_geometry_csg @@ -0,0 +1 @@ +Subproject commit b476a05eb5ea93ea86f44b09892e83f4bf9499b0 diff --git a/crates/vg_csg b/crates/vg_csg deleted file mode 160000 index a3197f4..0000000 --- a/crates/vg_csg +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a3197f413997f90fb53c609274e025d58fadc31b diff --git a/state/branches.json b/state/branches.json deleted file mode 100644 index fe51488..0000000 --- a/state/branches.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/state/map.yaml b/state/map.yaml index e3e59b1..6029563 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -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 diff --git a/state/scratch.md b/state/scratch.md deleted file mode 100644 index 718c9b4..0000000 --- a/state/scratch.md +++ /dev/null @@ -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.