kronic
342a39a540
LANTERN P1 step 5 + §8: two-frame identity via FrameId + per-frame gym loadouts
...
FrameId (replicated frame/class signal) now WRITTEN server-side at spawn for all
players; the two class-HUD readers (ClassPrepPortal, MetaShop) read FrameId (with
an AbilityRef fallback for pre-FrameId players) instead of ClassForAbility. The
gym seeds a PER-FRAME default Spark loadout via ClassTraits.FrameLoadout —
Harpooner (Ranger slot): reel/mobility/skillshots; Bathynaut (Warrior slot):
pull-in/dash/zone-control. FrameId uses ecb.AddComponent (baked on the real
player; absent on the minimal MetaSeeding test prefab). 497 EditMode green.
Deferred to a focused pass (risky wholesale refactor, "still works" via the
transition): full removal of legacy AbilityRef/AbilityCooldown/EffectiveAbility
Stats (woven through equip/class/meta/StatRecompute + tests) and the CharacterId
Bathynaut/Harpooner rename.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-15 08:45:45 -07:00
..
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-07-15 08:35:20 -07:00
2026-05-31 21:35:12 -07:00
2026-07-15 08:35:20 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-06-24 20:06:56 -07:00
2026-06-04 11:35:57 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-07-10 19:41:47 -07:00
2026-07-10 19:41:47 -07:00
2026-07-13 18:30:41 -07:00
2026-07-02 20:41:43 -07:00
2026-07-13 18:30:41 -07:00
2026-07-13 18:30:41 -07:00
2026-07-02 20:41:43 -07:00
2026-07-02 20:41:43 -07:00
2026-07-06 18:50:49 -07:00
2026-07-05 20:21:18 -07:00
2026-06-18 00:30:20 -07:00
2026-06-18 00:30:20 -07:00
2026-07-06 10:37:24 -07:00
2026-07-06 10:37:24 -07:00
2026-07-06 10:37:24 -07:00
2026-07-06 10:37:24 -07:00
2026-07-15 08:45:45 -07:00
2026-06-18 00:30:20 -07:00
2026-06-09 23:26:20 -07:00
2026-05-31 21:35:12 -07:00
2026-07-07 23:16:53 -07:00
2026-06-11 23:53:34 -07:00
2026-07-13 18:30:41 -07:00
2026-07-06 18:34:12 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-07-14 10:43:31 -07:00
2026-07-14 10:43:31 -07:00
2026-07-07 20:51:18 -07:00
2026-06-02 22:50:43 -07:00
2026-06-02 22:50:43 -07:00
2026-06-02 22:50:43 -07:00
2026-07-07 20:51:18 -07:00
2026-07-07 20:51:18 -07:00
2026-06-24 20:06:56 -07:00
2026-06-24 20:06:56 -07:00
2026-07-12 13:53:48 -07:00
2026-07-12 13:53:48 -07:00
2026-07-07 23:16:53 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-06-04 11:35:57 -07:00
2026-06-04 11:35:57 -07:00
2026-07-13 18:30:41 -07:00
2026-07-08 21:26:23 -07:00
2026-06-17 12:48:08 -07:00
2026-06-09 23:26:20 -07:00
2026-06-10 17:22:57 -07:00
2026-06-10 17:22:57 -07:00
2026-06-24 20:06:56 -07:00
2026-06-24 20:06:56 -07:00
2026-07-06 10:37:24 -07:00
2026-07-06 10:37:24 -07:00
2026-07-06 10:37:24 -07:00
2026-07-06 10:37:24 -07:00
2026-06-03 22:41:27 -07:00
2026-05-31 21:35:12 -07:00
2026-07-15 00:00:41 -07:00
2026-07-13 18:30:41 -07:00
2026-06-03 22:41:27 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-07-14 10:59:45 -07:00
2026-07-14 10:59:45 -07:00
2026-07-15 00:00:41 -07:00
2026-07-15 00:00:41 -07:00
2026-07-14 10:35:58 -07:00
2026-07-14 10:35:58 -07:00
2026-07-15 00:00:41 -07:00
2026-07-15 00:00:41 -07:00
2026-06-24 20:06:56 -07:00
2026-06-24 20:06:56 -07:00
2026-07-14 11:45:06 -07:00
2026-05-31 21:35:12 -07:00
2026-07-07 22:53:32 -07:00
2026-05-31 21:35:12 -07:00
2026-07-02 20:41:43 -07:00
2026-05-31 21:35:12 -07:00
2026-07-14 10:43:31 -07:00
2026-05-31 21:35:12 -07:00
2026-06-02 22:50:43 -07:00
2026-06-02 22:50:43 -07:00
2026-07-13 18:30:41 -07:00
2026-06-04 11:35:57 -07:00
2026-06-24 20:06:56 -07:00
2026-06-02 22:50:43 -07:00
2026-06-24 20:06:56 -07:00
2026-06-21 22:58:26 -07:00
2026-06-24 20:06:56 -07:00
2026-06-21 22:58:26 -07:00