Release Healer Man 0.1.21

This commit is contained in:
phenom committed 2026-09-08 10:40:26 -04:00
1 parent 699fc858c9
commit f6f2375145
210 files changed
+976039 -6247

No files matched your search

@@ -47,15 +47,23 @@ reviewed mechanics passes.
## Coordinate conversion
RuneWaker server positions are world coordinates. The environment ROS is
placed by one WDB descriptor. Spawns must be moved into that ROS's local frame
before the RuneWaker-to-Three coordinate conversion:
RuneWaker server positions are world coordinates. The reviewed primary WDB
descriptor remains the coordinate anchor, while every static and reviewed
dynamic WDB resource is assembled relative to that anchor. Spawns use:
```text
sourceLocal = inverse(primaryWdbPlacement) * serverPosition
threeLocal = (sourceLocal.x, sourceLocal.y, -sourceLocal.z) * metersPerSourceUnit
```
Every resource placement uses the full matrix equivalent, including translation,
quaternion rotation, and nonuniform scale:
```text
threeMatrix = S * inverse(primaryTRS) * placementTRS * inverse(S)
S = scale(metersPerSourceUnit, metersPerSourceUnit, -metersPerSourceUnit)
```
The current calibrated scale is `0.1` meter per RuneWaker source unit. The
authoritative test-dungeon table uses 360 degrees per turn:
@@ -283,12 +291,17 @@ Review:
- collision chunks for decorative blockers;
- Recast report and entrance projection;
- WDB anchor in `import-metadata.json`;
- complete placement accounting in `wdb-placement-manifest.json`;
- source-evidenced dynamic placements are absent from static collision and have separately packaged runtime assets;
- dynamic filename candidates remain static and review-required until a reviewed recipe rule exists;
- Khronos validation output.
Secondary WDB doodads/effects remain audited. Repeated primary room placements
and documented source-coordinate support/fallback geometry are automated; a
complete arbitrary multi-ROS WDB scene still requires explicit placement,
material, collision, and performance review.
Every valid WDB ROS resource is exported once into
`runewaker-export-work/resource-cache/<resource-key>`, then reused for all of its
placements and across dungeon builds. Missing ROS files, non-ROS descriptors,
export failures, and non-mesh particle/light/sound/script components are recorded
instead of receiving substitute geometry. The preview and editable Blender file
remain primary-ROS diagnostics; review the assembled GLB for final coverage.
### 6. Review and build creature actors
@@ -401,6 +414,13 @@ Each mechanic must specify trigger, targets, timing, reset behavior, persistence
offline behavior, and multiplayer synchronization boundary before being marked
implemented.
Run `npm run runewaker:audit:encounters` after changing source snapshots,
mechanics evidence, generated populations, or the shared boss-mechanic catalog.
Its JSON report is the exhaustive implementation ledger. A source-spawn row or
evidence record may be promoted from
`deferred-source-gap` only when an exact executable mapping and its clearing test
are both present; a regex category or suggestive object name is not sufficient.
### 9. Register the dungeon
Use the generated environment metadata and population constants to create the
@@ -443,6 +463,8 @@ errors, WebGL errors, and mobile/desktop performance.
| `public/assets/creatures/<slug>/*` | Browser-shipping actor GLBs/manifest. |
| `src/game/generated/*Population.generated.ts` | Runtime entities/spawns/objectives. |
| `src/game/generated/*Mechanics.generated.ts` | Non-executable mechanics evidence summary. |
| `scripts/runewaker-pipeline/RUNEWAKER_ENCOUNTER_IMPLEMENTATION_REPORT.*` | Deterministic per-row/per-signal fidelity and blocker ledger. |
| `scripts/runewaker-pipeline/RUNEWAKER_ENVIRONMENT_ASSEMBLY_REPORT.*` | Non-mutating WDB resource/placement coverage and unsupported-type audit. |
Generated runtime data must be reproducible from recipes plus portable snapshots
without SQL or network access.
@@ -462,13 +484,13 @@ without SQL or network access.
## Current deliberate limits
The generic scripts automate source discovery, primary environment conversion,
The generic scripts automate source discovery, source-hash-validated multi-resource WDB environment conversion,
portable population recovery, direct GR2 actor conversion, exact paperdoll
assembly, source-safe direct-damage attacks, spawn generation, repeated-room
assembly, source-anchor navigation, mechanics evidence extraction, runtime
assembly, full placement transforms, static navigation, reviewed dynamic-object packaging, mechanics evidence extraction, runtime
registration, and validation. They do not pretend that arbitrary Lua/AutoPlot
code can be safely translated without review. Disconnected navmesh islands,
doors, phases, summons, patrols, timers, interactions, loot semantics, arbitrary
multi-ROS placement assembly, source-exact damage formulas, and multiplayer
source behavior for unreviewed dynamic candidates, source-exact damage formulas, and multiplayer
encounter synchronization remain explicit per-instance engineering work until
implemented and playtested.