@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 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.2] — 2026-03-19
14
-
15
- ### Added
16
-
17
- - `createWorld(seed, entities)` — Tier-1 convenience factory; builds a `WorldState` from
18
- `EntitySpec[]` (archetype, weapon, armour string IDs) without manual entity construction
19
- - `loadScenario(json)` / `validateScenario(json)` — JSON-driven world creation for
20
- non-TypeScript consumers (Godot GDScript, Unity C#, scenario files)
21
- - `ARCHETYPE_MAP` `ReadonlyMap` of all 21 built-in archetypes (7 base + 14 species)
22
- - `ITEM_MAP` `ReadonlyMap` of all historical and starter weapons/armour
23
-
24
- ---
25
-
26
- ## [0.1.1] — 2026-03-19
27
-
28
- ### Documentation
29
-
30
- - Replace root `README.md` with a focused programmer's guide (installation, three
31
- quick-start examples, core concepts, command reference, determinism rules, replay,
32
- bridge, API tier table, TypeScript types, performance guidance)
33
- - Preserve full original README as `docs/project-overview.md`
34
- - Publish `docs/` reference suite in npm tarball: host-contract, integration-primer,
35
- bridge-contract, performance, versioning, emergent-validation-report, project-overview
36
- - Mark Platform Hardening PH-1 through PH-8 complete in ROADMAP
37
- - Mark CE-1 (npm publish) complete; package published as `@its-not-rocket-science/ananke`
38
-
39
- ---
40
-
41
- ## [0.1.0] — 2026-03-18
42
-
43
- Initial published release. All simulation layers (2–6) complete.
44
- 3 023 tests passing. Coverage: statements 93.9%, branches 85.0%, functions 92.3%.
45
-
46
- ### Simulation kernel (Layer 2) Phases 1–60
47
-
48
- - **Phase 1** Physical melee combat: kinetic strike/block/parry resolution, per-region
49
- injury accumulation, shock/fluid-loss/consciousness tracking, movement physics, encumbrance,
50
- crowd density, spatial partitioning, formation frontage cap, occlusion
51
- - **Phase 2** — Grappling (leverage-based, deterministic), stamina/exhaustion model, weapon
52
- dynamics (bind, reach dominance, swing momentum carry)
53
- - **Phase 3** — Ranged and projectile combat: dispersion-based accuracy, penetration at range,
54
- suppression, cover/occlusion, explosive AoE, hydrostatic shock and cavitation, flash blindness
55
- - **Phase 4** — Perception and cognition: sensory model, decision latency, surprise mechanics,
56
- deterministic AI (line infantry / skirmisher presets)
57
- - **Phase 5** — Morale and psychological state: fear accumulation, routing, panic variety,
58
- leader/banner auras, rally mechanic
59
- - **Phase 6** Terrain: surface friction, obstacle/cover grids, elevation, slope direction,
60
- dynamic hazard cells, AI cover-seeking, elevation melee advantage
61
- - **Phase 7** Skill system: per-entity `SkillMap`, technique modifiers on physical outcomes
62
- - **Phase 8** Body plan system: universal region-based anatomy (humanoid, quadruped, theropod,
63
- sauropod, avian, vermiform, centaur, octopoid); add species with a data file, no kernel changes
64
- - **Phase 9** Medical simulation: fractures, infection, permanent damage, clotting, fatal
65
- fluid loss, `TreatCommand` with tiered equipment and skill-scaled treatment rates
66
- - **Phase 10** — Indirect fire and artillery
67
- - **Phase 11** — Technology spectrum: `TechContext`, `TechEra`, `TechCapability`,
68
- `validateLoadout`; powered exoskeleton, energy weapons, reflective armour, sensor items
69
- - **Phase 12** Capability sources and effects: Clarke's Third Law unification of magic and
70
- advanced technology; directional cone AoE for breath weapons / flamethrowers / gas
71
- - **Phase 21** Character generation: `generateIndividual(seed, archetype, bias?)` with
72
- per-archetype variance distributions; `NarrativeBias` for story-shaped generation (Phase 62)
73
- - **Phase 22** — Campaign layer: world clock, location registry, `travelCost` routing,
74
- campaign-level inventory, Map-aware JSON serialisation
75
- - **Phase 24** — Faction and reputation: standing, witness system, AI suppression
76
- - **Phase 25** — Economy: item valuation, wear degradation, loot resolution, trade evaluation
77
- - **Phase 31** Knockback and stagger: impulse-momentum physics → stagger / prone transitions
78
- - **Phase 32D** Morale system constants
79
- - **Phase 33** — Downtime and recovery: 1 Hz campaign-time bridge with tiered care levels
80
- - **Phase 34** Replay and analytics: `ReplayRecorder`, `replayTo`, `serializeReplay` /
81
- `deserializeReplay`, `CollectingTrace`, metrics
82
- - **Phase 35** Arena simulation framework: scenario DSL, batch trial runner, expectation system
83
- - **Phase 36** — Dialogue and negotiation: intimidation / persuasion / deception / surrender /
84
- trade resolution using physical and psychological attributes
85
- - **Phase 37** — Skill system extension: linguistic, musical, spatial intelligences
86
- - **Phase 38** — Character description layer: `describeCharacter`, `formatCharacterSheet`,
87
- `formatOneLine`, tier ratings grounded in real-world benchmarks
88
- - **Phase 39** Narrative layer: trace-to-prose event conversion, configurable verbosity
89
- - **Phase 45** — Faction system expansion
90
- - **Phase 47** — Personality traits
91
- - **Phase 48** Formation and squad mechanics
92
- - **Phase 50** — Legend and chronicle: `LegendRegistry`, fame tracking, `ChronicleEntry`
93
- - **Phase 51** Group psychology
94
- - **Phase 53** — Systemic toxicology: ingested/cumulative toxins, pharmacokinetics,
95
- substance interactions, addiction and withdrawal
96
- - **Phase 54** Wound aging and long-term sequelae: PTSD-like `TraumaState`, phantom pain,
97
- chronic fatigue, sepsis risk
98
- - **Phase 55** Collective non-combat activities: siege engineering, ritual/ceremony, trade
99
- caravan logistics
100
- - **Phase 56** Disease and epidemic simulation: transmission routes, incubation, mortality,
101
- immunity, polity-scale spread
102
- - **Phase 57** Aging and lifespan: `AgeState`, age multipliers on all attribute groups,
103
- `applyAgingToAttributes`
104
- - **Phase 58** — Sleep and circadian rhythm: sleep phases, debt accumulation,
105
- `applySleepToAttributes`, `circadianAlertness`
106
- - **Phase 59** — Mounted combat: five mount profiles, charge energy, rider height/stability,
107
- forced dismount, mount fear propagation
108
- - **Phase 60** — Environmental hazard zones: fire/radiation/toxic gas/acid/extreme cold,
109
- linear falloff exposure, `stepHazardZone`
110
- - **Phase 2ext / 3ext / 8B / 8C / 10B / 10C / 11C / 12B** — Phase extensions for thermoregulation,
111
- weather, terrain enhancements, and technology calibration
112
-
113
- ### Individual scale (Layer 3) Phases 57–58, 62
114
-
115
- - Aging, sleep/circadian, narrative bias for character generation
116
-
117
- ### Group scale (Layer 4) Phase 65
118
-
119
- - **Phase 65** — Emotional contagion at polity scale: `EmotionalWave`, four built-in profiles
120
- (military rout, plague panic, victory rally, charismatic address), `applyEmotionalContagion`,
121
- `stepEmotionalWaves`, `netEmotionalPressure`
122
-
123
- ### Society scale (Layer 5) — Phase 66
124
-
125
- - **Phase 66** — Generative mythology: six archetypal patterns detected from legend/chronicle log
126
- (hero, monster, great_plague, divine_wrath, golden_age, trickster); `compressMythsFromHistory`,
127
- `stepMythologyYear`, `aggregateFactionMythEffect`
128
-
129
- ### World scale (Layer 6) — Phases 61, 67
130
-
131
- - **Phase 61** — Polity and world-state system: `Polity`, `PolityRegistry`, `stepPolityDay`,
132
- trade, war, diplomacy, tech advancement, epidemic spread at polity scale
133
- - **Phase 67** — Technology diffusion: tech eras spread via trade routes; `computeDiffusionPressure`,
134
- `stepTechDiffusion`, `totalInboundPressure`
135
-
136
- ### Interface layer (Layer 1) ROADMAP items 7–11, Phases 62–63
137
-
138
- - **Phase 62** — Narrative Bias: `NarrativeBias` parameter for `generateIndividual`
139
- - **Phase 63** Narrative Stress Test: probability of story beats across seed distributions;
140
- Deus Ex score (0.00 = plausible, 1.00 = plot armour)
141
- - **Phase 64** "What If?" alternate history engine: polity-scale scenario runner across N seeds
142
- - Visual editors: Body Plan Editor, Validation Scenario Builder, Species Forge
143
- (`docs/editors/`)
144
- - Public Validation Dashboard: 43/43 scenarios passing (`docs/dashboard/`)
145
- - Performance & Scalability Benchmarks: `tools/benchmark.ts`, `docs/performance.md`
146
- - Emergent Behaviour Validation Suite: four historical scenarios, all pass (`tools/emergent-validation.ts`)
147
- - Blade Runner artificial life test: 198 NPCs, 365 simulated days, 4/4 claims pass
148
- - Dataset Contribution Pipeline: `docs/dataset-contribution.md`
149
-
150
- ### Infrastructure
151
-
152
- - 3 023 Vitest tests; coverage ≥ 90% statements/lines, ≥ 80% branches, ≥ 85% functions
153
- - CI: Node 20 + 22 matrix, typecheck, build, coverage, validation dashboard auto-update
154
- - Fixed-point arithmetic throughout; zero `Math.random()` in `src/`
155
- - `docs/integration-primer.md` — architecture, data-flow diagrams, type glossary, gotchas
156
- - `docs/bridge-api.md` — 3D integration API reference
157
- - `docs/ecosystem.md`Unity/Godot adapter sketches
158
- - `docs/performance.md` — benchmark methodology and tuning guide
159
-
160
- ---
161
-
162
- [Unreleased]: https://github.com/your-org/ananke/compare/v0.1.0...HEAD
163
- [0.1.0]: https://github.com/your-org/ananke/releases/tag/v0.1.0
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
@@ -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
- // These exports form the public integration surface. Breaking changes require
3
- // a major semver bump (x.0.0) and a migration guide in CHANGELOG.md.
4
- // Safe to import directly in host applications and typed as stable in STABLE_API.md.
5
- export * from "./units.js"; // q(), SCALE, qMul, mulDiv fixed-point arithmetic
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 "./sim/vec3.js"; // Vec3, lerpVec3, addVec3 — 3-D vector helpers
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, createWorld()
18
- export * from "./model3d.js"; // extractRigSnapshots(), deriveAnimationHints(), RigSnapshot, AnimationHints, GrapplePoseConstraint
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 — 3D renderer bridge
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
@@ -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:your-org/ananke#<commit-sha>"
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/your-org/ananke.git vendor/ananke
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.2",
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": [