@its-not-rocket-science/ananke 0.1.10 → 0.1.11

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
@@ -98,6 +98,18 @@ Adding new **optional** fields to these interfaces is never a breaking change.
98
98
 
99
99
  ---
100
100
 
101
+ ## [0.1.11] — 2026-03-24
102
+
103
+ ### Added
104
+
105
+ - **Export Presets, Weapons, Channels, Traits, Kinds from Package Root** (`src/parallel.ts`)
106
+ - Five modules were documented as Tier 1 stable but missing from src/index.ts.
107
+ mkKnight/mkBoxer/etc., weapon arrays, DamageChannel, TraitId, CommandKinds
108
+ and related symbols are now importable directly from the package root.
109
+ Fix STABLE_API.md: WEAPONS was a phantom name; correct to ALL_HISTORICAL_MELEE etc.
110
+
111
+ ---
112
+
101
113
  ## [0.1.10] — 2026-03-24
102
114
 
103
115
  ### Added
package/STABLE_API.md CHANGED
@@ -74,7 +74,31 @@ version bump and a migration guide in `CHANGELOG.md`.
74
74
  |--------|-------------|
75
75
  | `mkKnight`, `mkBoxer`, `mkWrestler`, `mkOctopus`, `mkScubaDiver` | Named entity factories |
76
76
  | `AMATEUR_BOXER`, `PRO_BOXER`, `GRECO_WRESTLER`, `KNIGHT_INFANTRY`, `LARGE_PACIFIC_OCTOPUS` | Validated archetypes |
77
- | `WEAPONS` | Historical weapons database (~70 weapons, six eras) |
77
+ | `ALL_HISTORICAL_MELEE`, `ALL_HISTORICAL_RANGED` | Complete historical weapon arrays |
78
+ | `PREHISTORIC_MELEE` … `CONTEMPORARY_RANGED` | Per-era weapon arrays (six eras × melee/ranged) |
79
+
80
+ ### Damage channels and traits (`src/channels.ts`, `src/traits.ts`)
81
+
82
+ | Export | Description |
83
+ |--------|-------------|
84
+ | `DamageChannel` | Enum of damage channel types (kinetic, thermal, etc.) |
85
+ | `ChannelMask` | Bitmask type for combining channels |
86
+ | `channelMask(...channels)` | Build a combined channel mask |
87
+ | `hasChannel(mask, ch)` | Test whether a mask includes a channel |
88
+ | `TraitId` | Union type of all valid trait identifiers |
89
+ | `TRAITS` | Record mapping each `TraitId` to its `TraitEffect` |
90
+ | `buildTraitProfile(traits)` | Aggregate trait multipliers from an entity's trait list |
91
+ | `applyTraitsToAttributes(attrs, traits)` | Apply trait effects to an attribute block |
92
+
93
+ ### Command vocabulary (`src/sim/kinds.ts`)
94
+
95
+ | Export | Description |
96
+ |--------|-------------|
97
+ | `CommandKinds` | Object of command kind string constants (`Move`, `Attack`, `Defend`, …) |
98
+ | `MoveModes` | Walk / sprint / crawl constants |
99
+ | `DefenceModes` | Parry / dodge / block constants |
100
+ | `EngageModes` | Engage / disengage constants |
101
+ | `HitArea` | Union of valid hit area identifiers |
78
102
 
79
103
  ### Replay and serialization (`src/replay.ts`)
80
104
 
@@ -3,12 +3,17 @@ 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 "./weapons.js";
7
+ export * from "./presets.js";
8
+ export * from "./channels.js";
9
+ export * from "./traits.js";
6
10
  export * from "./describe.js";
7
11
  export * from "./sim/vec3.js";
8
12
  export * from "./sim/condition.js";
9
13
  export * from "./sim/injury.js";
10
14
  export * from "./sim/entity.js";
11
15
  export * from "./sim/commands.js";
16
+ export * from "./sim/kinds.js";
12
17
  export * from "./sim/kernel.js";
13
18
  export * from "./sim/body.js";
14
19
  export * from "./sim/world.js";
package/dist/src/index.js CHANGED
@@ -11,13 +11,18 @@ export * from "./units.js"; // q(), SCALE, qMul, qDiv, clampQ, mulDiv, to, from,
11
11
  export * from "./types.js"; // IndividualAttributes, core scalar types
12
12
  export * from "./archetypes.js"; // Archetype, BodyPlan, built-in species presets
13
13
  export * from "./generate.js"; // generateIndividual()
14
- export * from "./equipment.js"; // WEAPONS database, EquipmentCatalogue
14
+ export * from "./equipment.js"; // Weapon, Armour, Gear, WeaponDamageProfile, EquipmentCatalogue
15
+ export * from "./weapons.js"; // ALL_HISTORICAL_MELEE, ALL_HISTORICAL_RANGED, PREHISTORIC_MELEE … CONTEMPORARY_RANGED
16
+ export * from "./presets.js"; // mkKnight(), mkBoxer(), mkWrestler(), mkOctopus(), mkScubaDiver()
17
+ export * from "./channels.js"; // DamageChannel, ChannelMask, channelMask()
18
+ export * from "./traits.js"; // TraitId, TRAITS, buildTraitProfile(), applyTraitsToAttributes()
15
19
  export * from "./describe.js"; // describeCharacter(), formatCharacterSheet(), formatOneLine()
16
20
  export * from "./sim/vec3.js"; // Vec3, lerpVec3, addVec3
17
21
  export * from "./sim/condition.js"; // ConditionSnapshot, condition constants
18
22
  export * from "./sim/injury.js"; // InjuryRegion, BodyRegion, injury constants
19
23
  export * from "./sim/entity.js"; // Entity (stable fields: id, pos, mass_kg, attributes…)
20
- export * from "./sim/commands.js"; // CommandMap, EntityCommand, action verbs
24
+ export * from "./sim/commands.js"; // CommandMap, Command, noMove()
25
+ export * from "./sim/kinds.js"; // CommandKinds, MoveModes, DefenceModes, EngageModes, HitArea
21
26
  export * from "./sim/kernel.js"; // stepWorld(), applyImpactToInjury(), applyExplosion()
22
27
  export * from "./sim/body.js"; // BodyPlan, BodySegment, humanoid / quadruped plans
23
28
  export * from "./sim/world.js"; // WorldState, KernelContext
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@its-not-rocket-science/ananke",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "type": "module",
5
5
  "description": "Deterministic lockstep-friendly SI-units RPG/physics core (fixed-point TS)",
6
6
  "license": "MIT",