What this uses
src/sim/body.ts
src/sim/bodyplan.ts
src/sim/weapon_dynamics.ts
src/sim/kinds.ts
src/sim/entity.ts
@its-not-rocket-science/ananke
docs/integration-primer.md
Content packs are JSON manifests describing named entities, species, weapon profiles, armour schemes, and scenarios. The host loads packs at session creation time. Pack validation is the host's responsibility — Ananke provides TypeScript types for each section.
Tier 2 — experimental The content-pack manifest format is not yet part of the stable API contract.
Manifest schema explorer
Root
Weapons
Armour
Archetypes
Scenarios
Provenance
packId* string Unique pack identifier, reverse-domain style (e.g. com.example.medieval)
name* string Human-readable display name
version* string SemVer string, e.g. "1.0.0"
anankeMinVersion string Minimum Ananke version required, e.g. "0.5.0"
weapons object[] Array of weapon profiles (see Weapons tab)
armour object[] Array of armour scheme definitions
archetypes object[] Entity archetypes — physiology and initial stats
scenarios object[] Preset world scenarios
provenance* object Author, licence, checksum fields (see Provenance tab)
id* string Unique weapon id, e.g. "longsword"
name* string Display name
mass_kg* number Mass in kilograms × 1000 (fixed-point Skg integer)
strikeEnergy_J number Typical strike kinetic energy in joules × 65536
reachMin_Sm number Minimum effective reach in sub-metres (1 Sm = 0.0001 m)
reachMax_Sm number Maximum effective reach
damageType string "blunt" | "slash" | "pierce" | "combined"
id* string Unique armour id
name* string Display name
totalMass_kg number Full set mass in Skg
regions* object Per-region coverage map (head, torso, arms, legs) with absorb_Q values
material string "plate" | "mail" | "leather" | "padded" | "none"
id* string Archetype identifier
name* string Display name
bodyPlanId* string Reference to a body plan id (built-in or from this pack)
mass_kg number Body mass in Skg
attributes object IndividualAttributes override (strength, speed, cognition…)
defaultWeaponId string Default equipped weapon id
defaultArmourId string Default equipped armour id
id* string Scenario identifier
name* string Display name
worldSeed* number Deterministic world seed
entities object[] Initial entity placements and states
tickLimit number Optional maximum tick count
description string Prose description of scenario goals
author* string Pack author name or organisation
licence* string SPDX licence identifier, e.g. "MIT", "CC-BY-4.0"
homepage string URL for pack repository or documentation
sha256 string SHA-256 checksum of the canonical pack JSON (hex string)
createdAt string ISO 8601 creation timestamp
tags string[] Discovery tags, e.g. ["medieval","fantasy","weapons"]