Unlock negative-sentinel company condition scopes

This commit is contained in:
Jan Petykiewicz 2026-04-15 14:21:12 -07:00
commit 087ebf1097
18 changed files with 1315 additions and 79 deletions

View file

@ -31,11 +31,15 @@ Implemented today:
- real `0x4e9a` grouped rows now carry checked-in descriptor metadata, semantic family/preview
summaries, and three recovered executable company-scoped families: descriptor `2` = `Company Cash`,
descriptor `13` = `Deactivate Company`, and descriptor `16` = `Company Track Pieces Buildable`
- the first grounded condition-side unlock now exists for real packed rows: negative-sentinel
`raw_condition_id = -1` company scope lowers `condition_true_company` into normalized company
targets during import, while player and territory scope variants remain parity-visible and
explicitly blocked
That means the next implementation work is breadth, not bootstrap. The recommended next slice is
broader real grouped-descriptor coverage beyond the current company-scoped batch, plus
condition-relative execution for the still-blocked symbolic scopes, not another persistence
scaffold pass.
ordinary nonnegative condition-id semantics plus runtime ownership for the still-blocked player and
territory scope families, alongside broader real grouped-descriptor coverage beyond the current
company-scoped batch.
## Why This Boundary
@ -232,8 +236,8 @@ Current status:
raw `.smp` binaries
- overlay-backed captured-runtime inputs now provide enough runtime company context for symbolic
selected-company and controller-role scopes without inventing company state from save bytes alone
- the remaining gap is wider real grouped-descriptor semantic coverage plus condition evaluation,
not first-pass captured-runtime plumbing
- the remaining gap is wider real grouped-descriptor semantic coverage plus ordinary condition-id
evaluation and player/territory runtime ownership, not first-pass captured-runtime plumbing
### Milestone 4: Domain Expansion