re: the player-facing chatter partition; correcting the wingman claim

The 13 tables that voice every player-facing event are all
PresetMessage_Katana_*, the PLAYER's own sets -- unit-group-table.md already
names the link (DeltaSaber_T_Player carries msg=MessageSet_Katana).  Exact
partition: 13 voice all 14 events, 131 voice none, 0 voice some, and no
non-Katana table voices any of them.  CharacterKATANA is the only speaker
exclusive to the set.

Corrects preset-message-rules.md, which called those the wingman tables.  The
wingman roster is owned by isl-condition-builtins.md (UNITS: Bird1-Sandra ...
Rhino2-Katana, Rhino3-Ellen) and needed no experiment.

Residual: Katana_09_S10-1 and Katana_14_S16-2 voice none of the 14.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
Claude (auto)
2026-08-27 17:42:28 +00:00
parent b710c9b9f0
commit 36f97c6322
5 changed files with 155 additions and 7 deletions

View File

@@ -4390,3 +4390,45 @@ firing, probability, pick, queue, priority, one-shot flag and cooldown.
numeric attenuation of the ducking level, the meaning of node states other than
`0x10`/`0x20`, and whether `sub_822168E8`/`sub_82217980` do more than
stop/resume. ❔ Still open elsewhere: which of the 49 speakers are wingmen.
---
## ✅❌ 2026-08-27 — the player-facing partition, and a correction I owed
**Docs checked, and two of them already owned the question I set out to ask:**
* [`isl-condition-builtins.md`](structures/isl-condition-builtins.md) **owns the
wingman roster** — `UNITS` in `GP_HANGAR_ARSENAL.pak` is seven fields pairing a
craft slot with a pilot (`Bird1-Sandra`, `Bird2-Billy`, `Bird3-Antonius`,
`Bird4-Carl`, `Rhino1-Raymond`, `Rhino2-Katana`, `Rhino3-Ellen`) and names it
as such. So "which of the 49 speakers are wingmen" **did not need an
experiment**.
* [`unit-group-table.md`](structures/unit-group-table.md) **owns the player
link** — Stage 02's own flight is `UN_f001_TCAF_DeltaSaber_T_Player` with
`msg=MessageSet_Katana`, `id=Character_Player_Test`, beside
`msg=MessageSet_Ellen`.
* `hangar-loadout-system.md` owns the `PlayerSET_*` rows.
❌ **Correction to `preset-message-rules.md` (mine).** It said the 14
player-facing events are "voiced only by the wingman tables". Wrong twice: the 13
tables are **all `PresetMessage_Katana_*`**, i.e. the **player's** sets, and the
wingman roster is a separate already-settled list in which `Rhino2-Katana` is the
player's own slot. Corrected in place with a ❌ note.
✅ **What the experiment did establish — an exact partition.** Of the 144 rule
tables: **13 voice all 14** player-facing events, **131 voice none**, and
**0 voice some**. Not a tendency — zero partials. And **none of the 129
non-Katana tables voices *any* of the 14**, so `LOCKON_*`, `PLAYER_HP_LESS_*`,
`PLAYER_AMMO_LESS_*` and `ORDER_WINGMAN_*` are exclusively the player's own
callouts. `CharacterKATANA` is the **only** one of the 15 speakers in that set
exclusive to it. Regenerator extended; artefact carries the partition.
🟡 **Residual:** there are **15** Katana tables, and the two that voice none are
`Katana_09_S10-1` and `Katana_14_S16-2` — all-or-nothing like the rest. Why those
two stage-phases opt out is not established from the disc.
**Method note:** the grep that would have caught this ran *after* the experiment
was designed, not before. The rule says grep the doc that owns the DATA first;
here the data was "wingman", the owning doc was `isl-condition-builtins.md`, and
reading it first would have reframed the iteration rather than corrected it
afterwards.