Character ages and Phase 8 checkpoint (interiors)

This commit is contained in:
2026-10-31 15:50:44 +03:00
parent 214b05b40f
commit ea281bf913
117 changed files with 13301 additions and 432 deletions
+22
View File
@@ -131,8 +131,24 @@ cmake --build build --target demoLuaSceneScript # Demo: game-mode inline scene/p
cmake --build build --target demoSceneSwitchingExtra # Demo: scene switching with CellGrid interior
cmake --build build --target demoSokoban # Demo: forklift sokoban activity (vehicle + crates + quest HUD)
cmake --build build --target demoTaxi # Demo: taxi driver (procedural town, sedans, NPC traffic, fare chain)
cmake --build build --target characters-all # All adult/baby/child/teenager/elder character assets
cmake --build build --target character-assets-check # Validate age catalogs/LODs/resource tree
```
### Parallel asset builds
Blender 3.6 batch jobs are not safe to run concurrently (shared user
config/addon state and shared build files). Every Blender invocation in
the CMake pipeline goes through `${BLENDER_LOCKED}`, which is
`flock -x ${BLENDER_LOCK} <blender>`, so `cmake --build build -jN` is
safe: only one Blender job runs at a time while CMake copies, compiles
and validates in parallel. `flock` must be installed (configure fails
otherwise). The default lock is per build tree
(`<build-dir>/blender-assets.lock`); if two build trees are built at the
same time, configure them with the same lock file, for example
`-DBLENDER_LOCK=/tmp/world2-blender-assets.lock`. New custom commands
must use `${BLENDER_LOCKED}`, never `${BLENDER}` directly.
### Build Outputs
- `build/Game` - Main game executable (legacy)
- `build/Editor` - World editor executable (legacy)
@@ -375,6 +391,12 @@ JPH::BodyID body = physics->createBody(shape, 1.0f, position, rotation,
`<name>.vehicle.json` scene entity (contract:
`assets/blender/vehicles/CAR_MODELING.md`)
- `import_vrm.py` - VRM character import
- `characters/generate_age_blends.py` + `characters/agegen/` - one-shot
adult → age-band seed converter (rig scaling, mesh/shape-key
deformation, garment/hair conversion, animation retargeting; contract:
`assets/blender/characters/AGES-PLAN.md`)
- `characters/validate_age_assets.py` - structural validation of the
generated age catalogs/LODs/resource tree
3. **Build**: CMake processes assets during build
4. **Runtime**: Assets loaded from `resources.cfg` paths