Pin CultLib abd1a92e: element ids on every list element type #12

Merged
nibu merged 5 commits from nibu/cultlib-pin-abd1a92e into master 2026-11-11 13:44:29 +00:00
Member

Bumps the headless CultLib pin b8fc5eb0 -> 7225835d (cultlib-unity-v3.0.0) and CultMath 7a8933b0 -> f1edfa45 (cultmath-unity-v0.5.1), matching Packages/manifest.json and packages-lock.json. caching-unity stays at caching-unity-v2.0.0 (editor tooling, unchanged in v3.0.0). The v3.0.0 plugin GameCult.Caching.dll exports CultElementIdAttribute (checked by reflection).

  • Aetheria has no [CultIndex] C# uses, so no [CultRole] switches.
  • [CultElementId] on every list element type the registry names (the 13 of the sweep doc plus ~25 it missed). Union bases take the slot above their subclasses: BehaviorData.Id = key 37, so behavior rows are 38 slots on the wire. ShipJoint/ShipAnchor have a readable Id, so they gain a derived trailing ElementId.
  • EconomyAuthor.Write removes a record of another type before writing (write ownership by written type).
  • The shipped mod packages (wren, nakovalnya) are regenerated off retired HullData slots 21/22 with the new AetherDb ship-authoring regenerate <ship.cc> [apply]; decoded content is identical (retired slots were Wwise ids). The new ship.cc LFS objects were uploaded by the LFS API (the git-lfs push step fails with Invalid repo name for this account).
  • Tests: pinned array lengths; hand-spelled nil store header and CultStoreUnreadableException; ElementIdBlind only where ids are legitimately irrelevant (shipped catalog minted per open, separately written packages); ElementIdUpgradeTests gains a content-preservation check (every record identical but for ids) and a check that every shipped mod package can be written over.
  • docs/element-ids.md: the bump is one-way, readers upgrade before writers; live pin and regeneration recorded.

Rebased onto master 2c087bf2 (PRs 13 and 14); suite: 2955/2955 green on headless Aetheria.Shared.Tests. Not verified: Unity editor compile (no editor here).

Merge order: the pin is one-way for any store written under it; do not roll back.

🤖 Generated with Claude Code

Bumps the headless CultLib pin b8fc5eb0 -> 7225835d (`cultlib-unity-v3.0.0`) and CultMath 7a8933b0 -> f1edfa45 (`cultmath-unity-v0.5.1`), matching `Packages/manifest.json` and `packages-lock.json`. `caching-unity` stays at `caching-unity-v2.0.0` (editor tooling, unchanged in v3.0.0). The v3.0.0 plugin `GameCult.Caching.dll` exports `CultElementIdAttribute` (checked by reflection). - Aetheria has no `[CultIndex]` C# uses, so no `[CultRole]` switches. - `[CultElementId]` on every list element type the registry names (the 13 of the sweep doc plus ~25 it missed). Union bases take the slot above their subclasses: `BehaviorData.Id` = key 37, so behavior rows are 38 slots on the wire. `ShipJoint`/`ShipAnchor` have a readable `Id`, so they gain a derived trailing `ElementId`. - `EconomyAuthor.Write` removes a record of another type before writing (write ownership by written type). - The shipped mod packages (wren, nakovalnya) are regenerated off retired HullData slots 21/22 with the new `AetherDb ship-authoring regenerate <ship.cc> [apply]`; decoded content is identical (retired slots were Wwise ids). The new `ship.cc` LFS objects were uploaded by the LFS API (the git-lfs push step fails with `Invalid repo name` for this account). - Tests: pinned array lengths; hand-spelled nil store header and `CultStoreUnreadableException`; `ElementIdBlind` only where ids are legitimately irrelevant (shipped catalog minted per open, separately written packages); `ElementIdUpgradeTests` gains a content-preservation check (every record identical but for ids) and a check that every shipped mod package can be written over. - `docs/element-ids.md`: the bump is one-way, readers upgrade before writers; live pin and regeneration recorded. Rebased onto master 2c087bf2 (PRs 13 and 14); suite: 2955/2955 green on headless Aetheria.Shared.Tests. Not verified: Unity editor compile (no editor here). Merge order: the pin is one-way for any store written under it; do not roll back. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
nibu force-pushed nibu/cultlib-pin-abd1a92e from 43a5092e70 to b191e3b30f 2026-11-11 13:09:30 +00:00 Compare
nibu force-pushed nibu/cultlib-pin-abd1a92e from b191e3b30f to 344ef3265c 2026-11-11 13:17:42 +00:00 Compare
nibu merged commit 73d36698b0 into master 2026-11-11 13:44:29 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Aetheria!12
No description provided.