@its-not-rocket-science/ananke 0.5.1 → 0.5.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
@@ -8,6 +8,40 @@ Versioning follows [Semantic Versioning](https://semver.org/).
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.5.4] — 2026-06-14
12
+
13
+ ### Added
14
+
15
+ - **examples/reference/species-lab** — enhanced to cover the full ROADMAP PM-1 scope: `species`, `character`, `generate`, `competence`, `extended-senses`, and content packs.
16
+ - Section 2 (new): Competence profiles — `resolveCompetence` for 4 tasks (forage herbs, navigate wilderness, craft sword, signal alien species) across all 6 species, showing `quality_Q` and `descriptor` per domain.
17
+ - Section 3 (new): Character progression — `awardXP` (25 meleeCombat encounters → milestones 0 and 1 at encounters 10 and 18); `applyTrainingSession` (28-day strength plan, diminishing returns toward ceiling per species starting force).
18
+ - Section 4 (new): Content pack validation — `validatePack` + `loadPack` with a well-formed xenobiology scenario pack; also validates a malformed pack to demonstrate error detection.
19
+ - Section 1 fix: replaced broken `locomotionModes` speed lookup with `stature_m` column (fantasy species don't define explicit locomotion modes).
20
+ - **examples/reference/species-lab/README.md** — full architecture, competence domain table, sample output, pain points (locomotionModes, pack schema, milestone threshold), extension recipes.
21
+
22
+ ## [0.5.3] — 2026-06-14
23
+
24
+ ### Added
25
+
26
+ - **examples/reference/campaign-sandbox** — enhanced with feudal system and military campaigns (PM-1 reference build). Now demonstrates the full ROADMAP PM-1 scope: `polity`, `feudal`, `diplomacy`, `migration`, `demography`, `epidemic`, save/reload.
27
+ - Feudal layer: Sparta as Rome's voluntary vassal via `createVassalBond`; daily `applyDailyTribute` + `stepBondStrength`; `isRebellionRisk` warnings as loyalty decays 65% → 11% over 180 days.
28
+ - Military campaign: `declareWar` (Rome → Carthage, day 30), 40-day war auto-resolved each tick by `stepPolityDay` via `resolveWarOutcome`, `makePeace` with territory transfer shown.
29
+ - `computeLevyStrength` shown at war declaration: Sparta's levy contribution to Rome's effective military strength.
30
+ - Feudal bond state persisted in `stampSnapshot` round-trip.
31
+ - **examples/reference/campaign-sandbox/README.md** — full architecture, day-by-day flow, performance envelope, pain points, extension recipes.
32
+
33
+ ## [0.5.2] — 2026-06-14
34
+
35
+ ### Added
36
+
37
+ - **examples/reference/tactical-duel** — rewritten as an interactive keyboard-driven 1v1 terminal gamelet (PM-1 reference build). Demonstrates `combat`, `anatomy`, `sensory`, `AI`, `bridge`, and `replay` end-to-end.
38
+ - Auto mode (default / non-TTY): runs to completion and prints summary, backward compatible.
39
+ - Interactive mode (`--interactive` / `-i`): ANSI terminal display with arena map, consciousness/shock/fluid bars, animation hints (`deriveAnimationHints`), sensory detection (`canDetect`), event log, keyboard controls (`A`ttack, `B`lock, `H/←` left, `L/→` right, `Space` wait, `P`ause, `Q`uit).
40
+ - Brawler controlled by `buildAICommands` with a hard-coded `BERSERKER_POLICY` (`AIPolicy` / `AIArchetype`).
41
+ - Event log generated by diffing entity state each tick (consciousness drops, shock increases, fluid loss, attack onset, movement).
42
+ - Replay recorded and written on exit regardless of mode.
43
+ - **examples/reference/tactical-duel/README.md** — full architecture diagram, API surface table, display anatomy guide, performance envelope, and known pain points.
44
+
11
45
  ## [0.5.1] — 2026-06-14
12
46
 
13
47
  ### Added
@@ -3,4 +3,4 @@
3
3
  *
4
4
  * Source of truth: package.json "version".
5
5
  */
6
- export declare const ANANKE_ENGINE_VERSION = "0.5.1";
6
+ export declare const ANANKE_ENGINE_VERSION = "0.5.3";
@@ -5,4 +5,4 @@
5
5
  *
6
6
  * Source of truth: package.json "version".
7
7
  */
8
- export const ANANKE_ENGINE_VERSION = "0.5.1";
8
+ export const ANANKE_ENGINE_VERSION = "0.5.3";
@@ -1,6 +1,6 @@
1
1
  import { WORLD_EVOLUTION_BACKEND_SCHEMA_VERSION, type WorldEvolutionDelta, type WorldEvolutionMetrics, type WorldEvolutionRulesetId, type WorldEvolutionRulesetProfile, type WorldEvolutionRunResult, type WorldEvolutionSnapshot } from "./world-evolution-backend/index.js";
2
2
  export declare const WORLD_EVOLUTION_ORCHESTRATION_SCHEMA_VERSION: "ananke.world-evolution-orchestration.v1";
3
- export declare const WORLD_EVOLUTION_ENGINE_VERSION = "0.5.1";
3
+ export declare const WORLD_EVOLUTION_ENGINE_VERSION = "0.5.3";
4
4
  export declare const WORLD_EVOLUTION_CHECKPOINT_SCHEMA_VERSION: "ananke.world-evolution-checkpoint.v1";
5
5
  export type EvolutionRuleset = WorldEvolutionRulesetProfile;
6
6
  export interface EvolutionSessionConfig {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@its-not-rocket-science/ananke",
3
- "version": "0.5.1",
3
+ "version": "0.5.4",
4
4
  "type": "module",
5
5
  "description": "Deterministic lockstep-friendly SI-units RPG/physics core (fixed-point TS)",
6
6
  "license": "MIT",