Point VibeGeometry at CultGeometry CSG

This commit is contained in:
Meta Vens 2026-08-26 17:39:23 +02:00
commit 59fa3ef503
9 changed files with 40 additions and 40 deletions

6
.gitmodules vendored
View file

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

View file

@ -2,7 +2,7 @@
## Purpose ## 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 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 not recreate it unless the user explicitly asks to recover a historical artifact
@ -19,10 +19,10 @@ domain/tree intent
## Ownership ## Ownership
- `crates/vg_csg` owns implementation. - `crates/gamecult_geometry_csg` owns implementation.
- The root workspace owns only wiring, submodule state, and very small guidance. - 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 - 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 - Do not add root-level helper runtimes, prompt packs, visual translation
corpora, or schema scaffolds. corpora, or schema scaffolds.
@ -32,14 +32,14 @@ domain/tree intent
git submodule update --init --recursive git submodule update --init --recursive
cargo test cargo test
cargo clippy --all-targets --all-features 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 ## Discipline
- Keep the runtime path legible: input tree, selected cut, brush/CSG lowering, - Keep the runtime path legible: input tree, selected cut, brush/CSG lowering,
emitted triangles, and timing evidence. 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. - Preserve exact parity only for public behavior the crate claims to mirror.
- RealtimeCSG is a reference seam, not an idol. - RealtimeCSG is a reference seam, not an idol.
- Do not let historical scene-generation work become a live dependency again. - Do not let historical scene-generation work become a live dependency again.

22
Cargo.lock generated
View file

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

View file

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

View file

@ -1,6 +1,7 @@
# VibeGeometry # 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 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 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: The actual work surface is the Rust crate at:
- `crates/vg_csg` - `crates/gamecult_geometry_csg`
- upstream: `https://github.com/GameCult/vg-csg` - upstream: `https://github.com/GameCult/GameCult.Geometry.Csg`
## What This Repo Owns ## What This Repo Owns
- The `vg-csg` submodule pointer. - The CultGeometry CSG submodule pointer.
- A minimal Rust workspace that builds that crate. - A minimal Rust workspace that builds that crate.
- Thin operating notes that keep future work pointed at runtime CSG, not legacy - Thin operating notes that keep future work pointed at runtime CSG, not legacy
scene-generation scaffolding. scene-generation scaffolding.
## What `vg-csg` Owns ## What CultGeometry CSG Owns
- Brush and CSG tree APIs. - Brush and CSG tree APIs.
- RealtimeCSG-shaped public seams where useful. - RealtimeCSG-shaped public seams where useful.
@ -42,9 +43,9 @@ The actual work surface is the Rust crate at:
git submodule update --init --recursive git submodule update --init --recursive
cargo test cargo test
cargo clippy --all-targets --all-features 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: a proven reason it must live outside the crate. The default answer is simple:
the geometry machine belongs where the geometry machine runs. the geometry machine belongs where the geometry machine runs.

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

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

View file

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