git:20260912.3ac5afd to git:20260913.0472540

22 added, 22 removed. Audit A to A.

---
name: fighting-design
- description: Versus grammar on a shared clock. Footsies, air-dash, tag-assist, platform-fighter. Stacks on action-feel. Ask the column first. Do not start from a named character movelist.
+ description: Use when a versus or arena fighter needs explicit neutral, space, round/win, roster-resource and interaction grammar while timing, combos, hit resolution and netcode remain delegated to their specialist owners.
---
# Fighting design
- Ask the column:
+ This skill owns **match/interaction grammar**, not the low-level combat clock.
- | Column | Space | Combo owner |
- |---|---|---|
- | grounded-footsies | 2D plane, walk-in | links + special cancel |
- | air-dash | air mobility is a resource | juggle routes |
- | tag-assist | two bodies, one meter | tag extend |
- | platform-fighter | platforms + blast line | knockback growth, not long links |
+ ## Compatible columns
- Street Fighter fills grounded-footsies. Air-dash is a column, not a franchise. Smash-likes fill platform-fighter.
+ `grounded-footsies` | `air-dash` | `tag-assist` | `platform-fighter`
- ## Rules
+ Use these as project directions, not franchise implementations.
- 1. One shared logic clock. Hitstop freezes the two colliding ActorClocks only. See action-feel.
- 2. Motion parse is stepwise windows, not one fat pocket.
- 3. Neutral must exist. If every button is a combo starter that skips space control, the column is broken.
- 4. A throw / grab answers shield or block. A projectile answers walk-in. Publish the triangle.
- 5. Meter that skips neutral needs a visible cost and a punish window after.
- 6. Netcode: prefer delay + rollback over lockstep. Input delay is part of feel; hide it in buffer, do not add a second clock.
- 7. Character identity is a moveset shape (long poke, fast walk, meter monster), not a lore paragraph.
+ ## Contract
- ## Stages
+ Publish the applicable arena/space model, movement/resource affordances, round/stock/KO/blast/win rules, guard/throw/projectile or other interaction classes, roster/team/tag rules, stage/hazard policy and comeback/resource constraints.
- Keep collision stable. Hazards are a column (off / rare / constant). Platform-fighter blast lines are the health bar; grounded columns should not use blast lines as the win.
+ ## Ownership
+ - `action-feel`: logical combat clock, hitstop/cancel processing and move commitment.
+ - `combo-design`: route graph.
+ - `hitbox-hurtbox`, `throw-tech`, `parry-guard`, etc.: contact/defense mechanics.
+ - `netcode-feel`: prediction/rollback/delay/correction. This skill does not prescribe a networking architecture.
+ - `super-meter` / other resource owners: resource transactions.
+
+ ## Rules
+
+ 1. “Neutral,” pressure, defense and comeback tools are described through observable project rules; no universal throw/projectile/block triangle is required.
+ 2. Character identity is gameplay affordance/data selected by the project, not copied named-character movelists.
+ 3. Stage collision/hazards follow their owners; platform/blast/health win models are column/project choices, not interchangeable hidden defaults.
+ 4. Input parsing, hitstop and rollback policy are referenced, never duplicated here.
+
## Accept
- - A new player can block, walk, and poke in the first minute
- - A 2-hit confirm is possible on the chosen combo column without a 20-hit route
- - Mirror match does not require a patch to be playable
+ A match-state trace explains legal neutral/engagement options, resources, round/stock progression and win outcome while the referenced specialist skills explain timing/contact/network details. Mirror or asymmetric matchups use the same published system rules.