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"]
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.

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,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 +1,6 @@
# 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
intentionally reduced to a Rust CSG workspace shell.