v2.1.0 - BestiaryKernel + Trinity Wave 2.1
Trinity Wave 2.1: universal creature lifecycle kernel.
BestiaryKernel is one new pure-logic kernel that unifies NPC creature handling: SoA storage at <100 bytes per creature, generational 32-bit handles, per-slot pre-allocated BehaviorTree instances, double-buffered death-FX event ring, zero-allocation hot-loop ticks. Integrates the existing Trinity kernels through one facade so consumers stop writing their own ad-hoc AI / spawn / death pipelines:
SonicSyncperception drained into per-slot blackboardsLoomPulsemood values pulled into BT context each tickInferenceOrchestratorcloud-lane requests submitted for T3+ onlyNarrativeMemoryprior-death recall biases initial moodBehaviorTreeinstances drive intent (action, velocity, facing) per tick; the kernel reads intent and writes SoA
Ships with CREATURE_CATALOG: 6 skeleton variants for Wave 2.1 — warrior, archer, caster (T1 fodder), bone reaver, choir skeleton (T2 elite), and First Standing (T3 mini-boss with cloud inference). Each variant declares spec data (sizeScale, palette key, BT id, mood channel, audible signature, perception radius, inference lane, death FX taxonomy, signature behaviors) so adding a new family requires zero kernel code changes.
defaultBehaviorTreeFactory ships authored fallback BTs for all 6 variants — pursue / kite / channel / charge / wail / fallback-selector patterns matching the signatureBehaviors field. Consumers can swap the factory wholesale via setBehaviorTreeFactory for richer per-variant authoring.
Tests
- 4032 / 4032 green (up from 3984 at v2.0.0, +48 BestiaryKernel tests)
- 30 concurrent creatures × 60 ticks under 4ms on desktop V8
Install
```
npm install loom-engine # gets 2.1.0
npm install loom-engine@beta # also 2.1.0
```
Compatibility
Drop-in upgrade from v2.0.x. No breaking changes. BestiaryKernel is additive — existing Trinity Mainframe consumers keep working unchanged.
🤖 Generated with Claude Code