@its-not-rocket-science/ananke 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +191 -163
- package/dist/src/index.d.ts +1 -26
- package/dist/src/index.js +14 -42
- package/docs/versioning.md +2 -2
- package/package.json +9 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,163 +1,191 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to Ananke are documented here.
|
|
4
|
-
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
5
|
-
Versioning follows [Semantic Versioning](https://semver.org/).
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## [Unreleased]
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## [0.1.
|
|
14
|
-
|
|
15
|
-
### Added
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
`
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## [0.1.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
- **Phase
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
- **Phase
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
- **Phase
|
|
84
|
-
|
|
85
|
-
- **Phase
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
- **Phase
|
|
90
|
-
- **Phase
|
|
91
|
-
|
|
92
|
-
- **Phase
|
|
93
|
-
|
|
94
|
-
- **Phase
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
-
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
- **Phase
|
|
105
|
-
|
|
106
|
-
- **Phase
|
|
107
|
-
|
|
108
|
-
- **Phase
|
|
109
|
-
|
|
110
|
-
- **Phase
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
- **Phase
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
- **Phase
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to Ananke are documented here.
|
|
4
|
+
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
5
|
+
Versioning follows [Semantic Versioning](https://semver.org/).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## [Unreleased]
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## [0.1.4] — 2026-03-20
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- Subpath export `@its-not-rocket-science/ananke/species` — exposes `SpeciesDefinition`,
|
|
18
|
+
`ALL_SPECIES`, and all 14 built-in species constants for companion packages such as
|
|
19
|
+
`ananke-fantasy-species`.
|
|
20
|
+
- Subpath export `@its-not-rocket-science/ananke/polity` — exposes `createPolity`,
|
|
21
|
+
`createPolityRegistry`, `stepPolityDay`, `declareWar`, `makePeace`, `areAtWar`,
|
|
22
|
+
`Polity`, `PolityRegistry`, `PolityPair` for world-simulation consumers such as
|
|
23
|
+
`ananke-world-ui`.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## [0.1.3] — 2026-03-20
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- `src/index.ts` (CE-4) now exports only the Tier 1 stable surface defined in `STABLE_API.md`.
|
|
32
|
+
Tier 2 (experimental) and Tier 3 (internal) exports have been removed from the root barrel
|
|
33
|
+
and are accessible via direct module paths (e.g. `dist/src/sim/aging.js`).
|
|
34
|
+
- `createWorld`, `loadScenario`, `validateScenario`, `ARCHETYPE_MAP`, `ITEM_MAP` promoted to
|
|
35
|
+
Tier 1 (were incorrectly placed under Tier 3 in 0.1.2).
|
|
36
|
+
- `describeCharacter`, `formatCharacterSheet`, `formatOneLine` added to root barrel (were
|
|
37
|
+
listed as Tier 1 in `STABLE_API.md` but missing from the 0.1.2 export).
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## [0.1.2] — 2026-03-19
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
|
|
45
|
+
- `createWorld(seed, entities)` — Tier-1 convenience factory; builds a `WorldState` from
|
|
46
|
+
`EntitySpec[]` (archetype, weapon, armour string IDs) without manual entity construction
|
|
47
|
+
- `loadScenario(json)` / `validateScenario(json)` — JSON-driven world creation for
|
|
48
|
+
non-TypeScript consumers (Godot GDScript, Unity C#, scenario files)
|
|
49
|
+
- `ARCHETYPE_MAP` — `ReadonlyMap` of all 21 built-in archetypes (7 base + 14 species)
|
|
50
|
+
- `ITEM_MAP` — `ReadonlyMap` of all historical and starter weapons/armour
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## [0.1.1] — 2026-03-19
|
|
55
|
+
|
|
56
|
+
### Documentation
|
|
57
|
+
|
|
58
|
+
- Replace root `README.md` with a focused programmer's guide (installation, three
|
|
59
|
+
quick-start examples, core concepts, command reference, determinism rules, replay,
|
|
60
|
+
bridge, API tier table, TypeScript types, performance guidance)
|
|
61
|
+
- Preserve full original README as `docs/project-overview.md`
|
|
62
|
+
- Publish `docs/` reference suite in npm tarball: host-contract, integration-primer,
|
|
63
|
+
bridge-contract, performance, versioning, emergent-validation-report, project-overview
|
|
64
|
+
- Mark Platform Hardening PH-1 through PH-8 complete in ROADMAP
|
|
65
|
+
- Mark CE-1 (npm publish) complete; package published as `@its-not-rocket-science/ananke`
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## [0.1.0] — 2026-03-18
|
|
70
|
+
|
|
71
|
+
Initial published release. All simulation layers (2–6) complete.
|
|
72
|
+
3 023 tests passing. Coverage: statements 93.9%, branches 85.0%, functions 92.3%.
|
|
73
|
+
|
|
74
|
+
### Simulation kernel (Layer 2) — Phases 1–60
|
|
75
|
+
|
|
76
|
+
- **Phase 1** — Physical melee combat: kinetic strike/block/parry resolution, per-region
|
|
77
|
+
injury accumulation, shock/fluid-loss/consciousness tracking, movement physics, encumbrance,
|
|
78
|
+
crowd density, spatial partitioning, formation frontage cap, occlusion
|
|
79
|
+
- **Phase 2** — Grappling (leverage-based, deterministic), stamina/exhaustion model, weapon
|
|
80
|
+
dynamics (bind, reach dominance, swing momentum carry)
|
|
81
|
+
- **Phase 3** — Ranged and projectile combat: dispersion-based accuracy, penetration at range,
|
|
82
|
+
suppression, cover/occlusion, explosive AoE, hydrostatic shock and cavitation, flash blindness
|
|
83
|
+
- **Phase 4** — Perception and cognition: sensory model, decision latency, surprise mechanics,
|
|
84
|
+
deterministic AI (line infantry / skirmisher presets)
|
|
85
|
+
- **Phase 5** — Morale and psychological state: fear accumulation, routing, panic variety,
|
|
86
|
+
leader/banner auras, rally mechanic
|
|
87
|
+
- **Phase 6** — Terrain: surface friction, obstacle/cover grids, elevation, slope direction,
|
|
88
|
+
dynamic hazard cells, AI cover-seeking, elevation melee advantage
|
|
89
|
+
- **Phase 7** — Skill system: per-entity `SkillMap`, technique modifiers on physical outcomes
|
|
90
|
+
- **Phase 8** — Body plan system: universal region-based anatomy (humanoid, quadruped, theropod,
|
|
91
|
+
sauropod, avian, vermiform, centaur, octopoid); add species with a data file, no kernel changes
|
|
92
|
+
- **Phase 9** — Medical simulation: fractures, infection, permanent damage, clotting, fatal
|
|
93
|
+
fluid loss, `TreatCommand` with tiered equipment and skill-scaled treatment rates
|
|
94
|
+
- **Phase 10** — Indirect fire and artillery
|
|
95
|
+
- **Phase 11** — Technology spectrum: `TechContext`, `TechEra`, `TechCapability`,
|
|
96
|
+
`validateLoadout`; powered exoskeleton, energy weapons, reflective armour, sensor items
|
|
97
|
+
- **Phase 12** — Capability sources and effects: Clarke's Third Law unification of magic and
|
|
98
|
+
advanced technology; directional cone AoE for breath weapons / flamethrowers / gas
|
|
99
|
+
- **Phase 21** — Character generation: `generateIndividual(seed, archetype, bias?)` with
|
|
100
|
+
per-archetype variance distributions; `NarrativeBias` for story-shaped generation (Phase 62)
|
|
101
|
+
- **Phase 22** — Campaign layer: world clock, location registry, `travelCost` routing,
|
|
102
|
+
campaign-level inventory, Map-aware JSON serialisation
|
|
103
|
+
- **Phase 24** — Faction and reputation: standing, witness system, AI suppression
|
|
104
|
+
- **Phase 25** — Economy: item valuation, wear degradation, loot resolution, trade evaluation
|
|
105
|
+
- **Phase 31** — Knockback and stagger: impulse-momentum physics → stagger / prone transitions
|
|
106
|
+
- **Phase 32D** — Morale system constants
|
|
107
|
+
- **Phase 33** — Downtime and recovery: 1 Hz campaign-time bridge with tiered care levels
|
|
108
|
+
- **Phase 34** — Replay and analytics: `ReplayRecorder`, `replayTo`, `serializeReplay` /
|
|
109
|
+
`deserializeReplay`, `CollectingTrace`, metrics
|
|
110
|
+
- **Phase 35** — Arena simulation framework: scenario DSL, batch trial runner, expectation system
|
|
111
|
+
- **Phase 36** — Dialogue and negotiation: intimidation / persuasion / deception / surrender /
|
|
112
|
+
trade resolution using physical and psychological attributes
|
|
113
|
+
- **Phase 37** — Skill system extension: linguistic, musical, spatial intelligences
|
|
114
|
+
- **Phase 38** — Character description layer: `describeCharacter`, `formatCharacterSheet`,
|
|
115
|
+
`formatOneLine`, tier ratings grounded in real-world benchmarks
|
|
116
|
+
- **Phase 39** — Narrative layer: trace-to-prose event conversion, configurable verbosity
|
|
117
|
+
- **Phase 45** — Faction system expansion
|
|
118
|
+
- **Phase 47** — Personality traits
|
|
119
|
+
- **Phase 48** — Formation and squad mechanics
|
|
120
|
+
- **Phase 50** — Legend and chronicle: `LegendRegistry`, fame tracking, `ChronicleEntry`
|
|
121
|
+
- **Phase 51** — Group psychology
|
|
122
|
+
- **Phase 53** — Systemic toxicology: ingested/cumulative toxins, pharmacokinetics,
|
|
123
|
+
substance interactions, addiction and withdrawal
|
|
124
|
+
- **Phase 54** — Wound aging and long-term sequelae: PTSD-like `TraumaState`, phantom pain,
|
|
125
|
+
chronic fatigue, sepsis risk
|
|
126
|
+
- **Phase 55** — Collective non-combat activities: siege engineering, ritual/ceremony, trade
|
|
127
|
+
caravan logistics
|
|
128
|
+
- **Phase 56** — Disease and epidemic simulation: transmission routes, incubation, mortality,
|
|
129
|
+
immunity, polity-scale spread
|
|
130
|
+
- **Phase 57** — Aging and lifespan: `AgeState`, age multipliers on all attribute groups,
|
|
131
|
+
`applyAgingToAttributes`
|
|
132
|
+
- **Phase 58** — Sleep and circadian rhythm: sleep phases, debt accumulation,
|
|
133
|
+
`applySleepToAttributes`, `circadianAlertness`
|
|
134
|
+
- **Phase 59** — Mounted combat: five mount profiles, charge energy, rider height/stability,
|
|
135
|
+
forced dismount, mount fear propagation
|
|
136
|
+
- **Phase 60** — Environmental hazard zones: fire/radiation/toxic gas/acid/extreme cold,
|
|
137
|
+
linear falloff exposure, `stepHazardZone`
|
|
138
|
+
- **Phase 2ext / 3ext / 8B / 8C / 10B / 10C / 11C / 12B** — Phase extensions for thermoregulation,
|
|
139
|
+
weather, terrain enhancements, and technology calibration
|
|
140
|
+
|
|
141
|
+
### Individual scale (Layer 3) — Phases 57–58, 62
|
|
142
|
+
|
|
143
|
+
- Aging, sleep/circadian, narrative bias for character generation
|
|
144
|
+
|
|
145
|
+
### Group scale (Layer 4) — Phase 65
|
|
146
|
+
|
|
147
|
+
- **Phase 65** — Emotional contagion at polity scale: `EmotionalWave`, four built-in profiles
|
|
148
|
+
(military rout, plague panic, victory rally, charismatic address), `applyEmotionalContagion`,
|
|
149
|
+
`stepEmotionalWaves`, `netEmotionalPressure`
|
|
150
|
+
|
|
151
|
+
### Society scale (Layer 5) — Phase 66
|
|
152
|
+
|
|
153
|
+
- **Phase 66** — Generative mythology: six archetypal patterns detected from legend/chronicle log
|
|
154
|
+
(hero, monster, great_plague, divine_wrath, golden_age, trickster); `compressMythsFromHistory`,
|
|
155
|
+
`stepMythologyYear`, `aggregateFactionMythEffect`
|
|
156
|
+
|
|
157
|
+
### World scale (Layer 6) — Phases 61, 67
|
|
158
|
+
|
|
159
|
+
- **Phase 61** — Polity and world-state system: `Polity`, `PolityRegistry`, `stepPolityDay`,
|
|
160
|
+
trade, war, diplomacy, tech advancement, epidemic spread at polity scale
|
|
161
|
+
- **Phase 67** — Technology diffusion: tech eras spread via trade routes; `computeDiffusionPressure`,
|
|
162
|
+
`stepTechDiffusion`, `totalInboundPressure`
|
|
163
|
+
|
|
164
|
+
### Interface layer (Layer 1) — ROADMAP items 7–11, Phases 62–63
|
|
165
|
+
|
|
166
|
+
- **Phase 62** — Narrative Bias: `NarrativeBias` parameter for `generateIndividual`
|
|
167
|
+
- **Phase 63** — Narrative Stress Test: probability of story beats across seed distributions;
|
|
168
|
+
Deus Ex score (0.00 = plausible, 1.00 = plot armour)
|
|
169
|
+
- **Phase 64** — "What If?" alternate history engine: polity-scale scenario runner across N seeds
|
|
170
|
+
- Visual editors: Body Plan Editor, Validation Scenario Builder, Species Forge
|
|
171
|
+
(`docs/editors/`)
|
|
172
|
+
- Public Validation Dashboard: 43/43 scenarios passing (`docs/dashboard/`)
|
|
173
|
+
- Performance & Scalability Benchmarks: `tools/benchmark.ts`, `docs/performance.md`
|
|
174
|
+
- Emergent Behaviour Validation Suite: four historical scenarios, all pass (`tools/emergent-validation.ts`)
|
|
175
|
+
- Blade Runner artificial life test: 198 NPCs, 365 simulated days, 4/4 claims pass
|
|
176
|
+
- Dataset Contribution Pipeline: `docs/dataset-contribution.md`
|
|
177
|
+
|
|
178
|
+
### Infrastructure
|
|
179
|
+
|
|
180
|
+
- 3 023 Vitest tests; coverage ≥ 90% statements/lines, ≥ 80% branches, ≥ 85% functions
|
|
181
|
+
- CI: Node 20 + 22 matrix, typecheck, build, coverage, validation dashboard auto-update
|
|
182
|
+
- Fixed-point arithmetic throughout; zero `Math.random()` in `src/`
|
|
183
|
+
- `docs/integration-primer.md` — architecture, data-flow diagrams, type glossary, gotchas
|
|
184
|
+
- `docs/bridge-api.md` — 3D integration API reference
|
|
185
|
+
- `docs/ecosystem.md` — Unity/Godot adapter sketches
|
|
186
|
+
- `docs/performance.md` — benchmark methodology and tuning guide
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
[Unreleased]: https://github.com/its-not-rocket-science/ananke/compare/v0.1.0...HEAD
|
|
191
|
+
[0.1.0]: https://github.com/its-not-rocket-science/ananke/releases/tag/v0.1.0
|
package/dist/src/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./types.js";
|
|
|
3
3
|
export * from "./archetypes.js";
|
|
4
4
|
export * from "./generate.js";
|
|
5
5
|
export * from "./equipment.js";
|
|
6
|
+
export * from "./describe.js";
|
|
6
7
|
export * from "./sim/vec3.js";
|
|
7
8
|
export * from "./sim/condition.js";
|
|
8
9
|
export * from "./sim/injury.js";
|
|
@@ -14,31 +15,5 @@ export * from "./sim/world.js";
|
|
|
14
15
|
export * from "./model3d.js";
|
|
15
16
|
export * from "./replay.js";
|
|
16
17
|
export * from "./bridge/index.js";
|
|
17
|
-
export * from "./channels.js";
|
|
18
|
-
export * from "./traits.js";
|
|
19
|
-
export * from "./derive.js";
|
|
20
|
-
export * from "./sim/intent.js";
|
|
21
|
-
export * from "./sim/action.js";
|
|
22
|
-
export * from "./sim/combat.js";
|
|
23
|
-
export * from "./quest.js";
|
|
24
|
-
export * from "./quest-generators.js";
|
|
25
|
-
export * from "./relationships.js";
|
|
26
|
-
export * from "./relationships-effects.js";
|
|
27
|
-
export * from "./inventory.js";
|
|
28
|
-
export * from "./item-durability.js";
|
|
29
|
-
export * from "./settlement.js";
|
|
30
|
-
export * from "./settlement-services.js";
|
|
31
|
-
export * from "./chronicle.js";
|
|
32
|
-
export * from "./story-arcs.js";
|
|
33
|
-
export * from "./narrative-render.js";
|
|
34
|
-
export * from "./world-generation.js";
|
|
35
|
-
export * from "./sim/trace.js";
|
|
36
|
-
export * from "./rng.js";
|
|
37
|
-
export * from "./dist.js";
|
|
38
|
-
export * from "./lod.js";
|
|
39
|
-
export * from "./sim/impairment.js";
|
|
40
|
-
export * from "./sim/indexing.js";
|
|
41
|
-
export * from "./sim/tuning.js";
|
|
42
|
-
export * from "./sim/testing.js";
|
|
43
18
|
export * from "./world-factory.js";
|
|
44
19
|
export * from "./scenario.js";
|
package/dist/src/index.js
CHANGED
|
@@ -1,56 +1,28 @@
|
|
|
1
1
|
// ── Tier 1 — Stable host API ─────────────────────────────────────────────────
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
|
|
2
|
+
// This is the only import path companion projects and hosts should use:
|
|
3
|
+
// import { stepWorld, createWorld, q, SCALE } from "@its-not-rocket-science/ananke"
|
|
4
|
+
//
|
|
5
|
+
// Breaking changes to any export here require a major semver bump (x.0.0) and
|
|
6
|
+
// a migration guide in CHANGELOG.md. See STABLE_API.md for the full contract.
|
|
7
|
+
//
|
|
8
|
+
// Tier 2 (experimental) and Tier 3 (internal) exports are accessible via direct
|
|
9
|
+
// module imports, e.g. import { stepAging } from ".../dist/src/sim/aging.js"
|
|
10
|
+
export * from "./units.js"; // q(), SCALE, qMul, qDiv, clampQ, mulDiv, to, from, sqrtQ
|
|
6
11
|
export * from "./types.js"; // IndividualAttributes, core scalar types
|
|
7
12
|
export * from "./archetypes.js"; // Archetype, BodyPlan, built-in species presets
|
|
8
13
|
export * from "./generate.js"; // generateIndividual()
|
|
9
14
|
export * from "./equipment.js"; // WEAPONS database, EquipmentCatalogue
|
|
10
|
-
export * from "./
|
|
15
|
+
export * from "./describe.js"; // describeCharacter(), formatCharacterSheet(), formatOneLine()
|
|
16
|
+
export * from "./sim/vec3.js"; // Vec3, lerpVec3, addVec3
|
|
11
17
|
export * from "./sim/condition.js"; // ConditionSnapshot, condition constants
|
|
12
18
|
export * from "./sim/injury.js"; // InjuryRegion, BodyRegion, injury constants
|
|
13
19
|
export * from "./sim/entity.js"; // Entity (stable fields: id, pos, mass_kg, attributes…)
|
|
14
20
|
export * from "./sim/commands.js"; // CommandMap, EntityCommand, action verbs
|
|
15
21
|
export * from "./sim/kernel.js"; // stepWorld(), applyImpactToInjury(), applyExplosion()
|
|
16
22
|
export * from "./sim/body.js"; // BodyPlan, BodySegment, humanoid / quadruped plans
|
|
17
|
-
export * from "./sim/world.js"; // WorldState, KernelContext
|
|
18
|
-
export * from "./model3d.js"; // extractRigSnapshots(), deriveAnimationHints(), RigSnapshot, AnimationHints
|
|
23
|
+
export * from "./sim/world.js"; // WorldState, KernelContext
|
|
24
|
+
export * from "./model3d.js"; // extractRigSnapshots(), deriveAnimationHints(), RigSnapshot, AnimationHints
|
|
19
25
|
export * from "./replay.js"; // ReplayRecorder, replayTo(), serializeReplay(), deserializeReplay()
|
|
20
|
-
export * from "./bridge/index.js"; // BridgeEngine, InterpolatedState, BridgeConfig
|
|
21
|
-
// ── Tier 2 — Advanced / experimental API ─────────────────────────────────────
|
|
22
|
-
// Tested and usable subsystems under active development. May change between
|
|
23
|
-
// minor versions (0.x.0); CHANGELOG.md will document any breaking change.
|
|
24
|
-
// Reference STABLE_API.md §Tier 2 for the full export list per module.
|
|
25
|
-
export * from "./channels.js"; // damage channel constants (BLUNT, SLASH, …)
|
|
26
|
-
export * from "./traits.js"; // trait descriptors
|
|
27
|
-
export * from "./derive.js"; // derived attribute helpers
|
|
28
|
-
export * from "./sim/intent.js"; // IntentMap, buildIntent()
|
|
29
|
-
export * from "./sim/action.js"; // ActionResult, resolveAction()
|
|
30
|
-
export * from "./sim/combat.js"; // resolveHit(), resolveParry(), applyCombat()
|
|
31
|
-
export * from "./quest.js"; // Quest, QuestObjective, questStep()
|
|
32
|
-
export * from "./quest-generators.js"; // generateQuest(), generateQuestChain()
|
|
33
|
-
export * from "./relationships.js"; // RelationshipMap, updateRelationship()
|
|
34
|
-
export * from "./relationships-effects.js"; // applyRelationshipEffect()
|
|
35
|
-
export * from "./inventory.js"; // Inventory, equipItem(), addItemToInventory()
|
|
36
|
-
export * from "./item-durability.js"; // durability helpers, resolveRepair()
|
|
37
|
-
export * from "./settlement.js"; // Settlement, stepSettlement()
|
|
38
|
-
export * from "./settlement-services.js"; // service resolution helpers
|
|
39
|
-
export * from "./chronicle.js"; // ChronicleEntry, addChronicleEntry()
|
|
40
|
-
export * from "./story-arcs.js"; // StoryArc, detectArcs()
|
|
41
|
-
export * from "./narrative-render.js"; // renderEntry(), renderChronicle(), generateNarrative()
|
|
42
|
-
export * from "./world-generation.js"; // WorldTemplate, generateWorld()
|
|
43
|
-
export * from "./sim/trace.js"; // SimTrace, traceStep() — debugging / profiling
|
|
44
|
-
// ── Tier 3 — Internal / kernel API ───────────────────────────────────────────
|
|
45
|
-
// Exported for power users and diagnostic tooling. Not stability-guaranteed;
|
|
46
|
-
// may change at any time without a changelog entry. Prefer Tier 1/2 surfaces
|
|
47
|
-
// in production host code. See STABLE_API.md §Tier 3 for rationale.
|
|
48
|
-
export * from "./rng.js"; // makeRng(), eventSeed() — RNG internals
|
|
49
|
-
export * from "./dist.js"; // distribution primitives
|
|
50
|
-
export * from "./lod.js"; // level-of-detail helpers
|
|
51
|
-
export * from "./sim/impairment.js"; // low-level impairment accumulators
|
|
52
|
-
export * from "./sim/indexing.js"; // SpatialIndex internals
|
|
53
|
-
export * from "./sim/tuning.js"; // kernel tuning constants (may be adjusted)
|
|
54
|
-
export * from "./sim/testing.js"; // mkHumanoidEntity() and other test helpers
|
|
26
|
+
export * from "./bridge/index.js"; // BridgeEngine, InterpolatedState, BridgeConfig
|
|
55
27
|
export * from "./world-factory.js"; // createWorld(), EntitySpec, ARCHETYPE_MAP, ITEM_MAP
|
|
56
28
|
export * from "./scenario.js"; // loadScenario(), validateScenario(), AnankeScenario
|
package/docs/versioning.md
CHANGED
|
@@ -57,7 +57,7 @@ experiment results), you may also pin to a specific commit hash.
|
|
|
57
57
|
```json
|
|
58
58
|
{
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"ananke": "github:
|
|
60
|
+
"ananke": "github:its-not-rocket-science/ananke#<commit-sha>"
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
```
|
|
@@ -67,7 +67,7 @@ Replace `<commit-sha>` with the full 40-character hash you have validated.
|
|
|
67
67
|
### Git submodule
|
|
68
68
|
|
|
69
69
|
```bash
|
|
70
|
-
git submodule add https://github.com/
|
|
70
|
+
git submodule add https://github.com/its-not-rocket-science/ananke.git vendor/ananke
|
|
71
71
|
cd vendor/ananke && git checkout <commit-sha>
|
|
72
72
|
git add vendor/ananke && git commit -m "pin ananke to <commit-sha>"
|
|
73
73
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@its-not-rocket-science/ananke",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Deterministic lockstep-friendly SI-units RPG/physics core (fixed-point TS)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,6 +10,14 @@
|
|
|
10
10
|
".": {
|
|
11
11
|
"import": "./dist/src/index.js",
|
|
12
12
|
"types": "./dist/src/index.d.ts"
|
|
13
|
+
},
|
|
14
|
+
"./species": {
|
|
15
|
+
"import": "./dist/src/species.js",
|
|
16
|
+
"types": "./dist/src/species.d.ts"
|
|
17
|
+
},
|
|
18
|
+
"./polity": {
|
|
19
|
+
"import": "./dist/src/polity.js",
|
|
20
|
+
"types": "./dist/src/polity.d.ts"
|
|
13
21
|
}
|
|
14
22
|
},
|
|
15
23
|
"files": [
|