21 — Module Kanban (interactive)
Intent
Section titled “Intent”Living engineering board for Year 1 plugin work. Projects separate boards (seeded: Full game, Demo (Ladder), Website, Cinematic Benchmark). Inside a project: one card per module/plugin. Expand a card for main tasks (usually A–E from the critical path). Nest subtasks under each main task.
Demo product rules: GDD Demo — Multiplayer Ladder Vertical Slice (demo-multiplayer-ladder) — pure Ladder vertical slice; one-weapon Frame kits (Receiver × Frame data rows; no mesh Refit); Demo Mod O-key tuner (Field Spec · Shiv Spec · Fake Mag); hard-coded specials; no campaign; Blocked cards use a reason tag; trees/monetary/campaign/mesh-modular out. Single bible authority (locks + demo5.8 build order): 22-demo.md.
Cinematic Benchmark board: Standalone UE showcase client — Motion Matching shall · Benchmark score submit · ≠ Ladder · ≠ Lyra/Full GFP spine now (Full integrate later). Bible: 28-cinematic-benchmark.md.
Website board: WordPress / plugins / Pre-CF vs CF — parallel to UE. Planning book pack tfa_website_html/. Bible: 23-website.md.
Open the board
Section titled “Open the board”The board lives in the tracker app: Board · Gantt · Issues.
- Boards: Full game · Demo · Website · Cinematic Benchmark
- Gantt (one per project): Full game · Demo · Website · Cinematic Benchmark. Bars take their colour from the card’s lane and their fill from checklist progress; click a bar to open the card.
Changes are shared live: when anyone saves an edit, everyone with the board open sees it straight away. The server also records who changed what (the activity log).
Projects
Section titled “Projects”| Project | Seed |
|---|---|
| Full game | Critical-path modules #0–15 with A–E tasks + subtasks · Traits/Origin/Sets TBD tasks on TFACharacterI / Progression / TFACrafting (TBD-058…064, seed v43) |
| Demo | Ladder product · hard-coded specials · Full Demo spine · Regular MP stretch · Blocked reasons ([art]/[feat], …) · cuts: trees / monetary / crafting / vision / campaign · MM cut |
| Website | Spec authority · plugin hygiene · security · Royal MCP · IA/Pre-CF/CF · Account/SSO · checkout · Discord · theme Profiles A/B/C · ops |
| Cinematic Benchmark | Standalone UE project · Pose Search · combat/cine showcase · Benchmark ingest · Full integrate later (parked) · 28 |
Switch projects with the project tabs at the top of the page. Each project has its own cards and columns.
Blocked work and reasons
Section titled “Blocked work and reasons”The Blocked lane (id blocked) is a parking lot. A card can carry a reason tag; tags are stored on the card and shown on the board, but the tracker has no screen to edit them yet (the API accepts them). To record a bug or blocker, use File issue on the card: it opens the Issues page with that card prefilled. Dragging a card into Blocked does not file an issue automatically (the old board did).
| Reason | Use when |
|---|---|
[art] |
Missing mesh / SK / anim / VFX (system still in scope) |
[spike] |
Needs investigation before commit |
[feat] |
Waiting on another feature / GFP |
[bug] |
Blocked by a known bug |
[dep] |
Hard dependency (prior plugin / spine wait) |
[design] |
Design / FS not ready |
[content] |
Content / folder / data asset missing |
[other] |
Anything else — put detail in the note |
— none |
No reason tag (or not blocked) |
Blocked detail (free text) is the note (e.g. No SK_TFA_Rocket yet or TFACombat #6). Separate from the reason tag and from the column.
Demo: Rocket / Bow / Heavy seed as [art] — families stay in Demo. Trees / monetary stay Full-game-only (not Demo Blocked).
Columns
Section titled “Columns”| Column | Meaning |
|---|---|
| Backlog | Not started / waiting on earlier spine work |
| Ready | Unblocked — next up |
| In progress | Actively being programmed |
| In review | Implementation up for design/FS/AC review |
| Done | Exit gate satisfied for dependents |
| Blocked | Parking lot for work that cannot proceed; optional reason tag |
What you can do
Section titled “What you can do”- Switch projects; add a card (+ Card, it lands in Backlog)
- Drag cards between lanes, or change the lane inside the card
- Click a card to open its detail: lane, schedule, notes, checklist, comments
- Checklist hierarchy: Task → Subtask → Step (steps are the finest grain). Check items off; add and delete tasks, subtasks and steps
- Add notes and comments
- Move a card to trash (a soft delete)
- File issue from a card; on the Issues page filter by status, add an issue (+ Issue) and change an issue’s status in place
- Schedule a card on the Gantt: start, length and section, in relative units (S0, S1, …) and not dates. Cards without a schedule are listed under Not scheduled with Add to plan
Not in the tracker yet
Section titled “Not in the tracker yet”The old browser board had these; the tracker does not (yet):
- Editing the text of an existing task, subtask or step, renaming or adding projects, and restoring a card from trash. The API supports them; there is no screen.
- Per-board and per-card undo, Export / Import JSON and the seed vault (Save board seed / Restore seed). The database is the source of truth and the activity log replaces undo history.
Anchors
Section titled “Anchors”- Demo GDD chapter:
demo-multiplayer-ladder(master) · bible: 22-demo.md - Cinematic Benchmark: GDD
cinematic-benchmark· bible: 28-cinematic-benchmark.md - Website Spec: pack
tfa_website_html/· bible: 23-website.md - Critical path: 20-critical-path.md
- GFP cookbook: 02-gfp-cookbook.md
- Have/Need: inventory/HAVE-NEED.md
- Placeholders / FPS-15: inventory/content-placeholders.md
- Seed defaults: imported once into the tracker database from
backend/seed/seed.json; there is no builder.
- Shared, live board with cards, checklists and an In review lane; drag-and-drop between lanes
- Critical path Gantt for all four projects (61 cards scheduled), editable from the card
- Issues page, with File issue from any card
- Multi-project boards: Full game + Demo + Website + Cinematic Benchmark
- Full game seeded from master plugin order (#0–15) with A–E + subtasks
- Demo seeded with Full Demo spine + Ladder/Regular + Blocked reason tags + cuts
- Website seeded from Website Spec + live plugin audit (23-website.md)
- Board defaults:
backend/seed/seed.json, imported once into the tracker database. The tracker itself isbackend/+frontend/. - Concurrent locks carried in the seed:
- Demo + Full Motion Matching tutorial:
docs/tutorials/motion-matching-demo-and-full.md· Demo carddemo-motion-matching· Fullcombat/melee - Wall Run Motion Matching: L/R cycle mid-stint; ground Pose Search at enter/exit only — no
PSD_TFA_WallRunv1 (2026-11-07-wall-run-motion-matching-design.md) - Cinematic Benchmark product: standalone board · MM + cine + ingest · Full integrate later (
2026-11-02-cinematic-benchmark-design.md· ch.28) - Motion Matching (Demo + Full + CB): Pose Search (
2026-11-02-motion-matching-full-design.md) - Melee hit reg: hybrid auth · notify capsule/box Demo · socket sweep Full (
2026-11-02-melee-hit-registration-design.md) - Movement / keymapping (Demo): card
demo-movement-input— WallRun 3.0 s · dash 6.0 m · turn 45° · lookahead 2.0 m/4 · auto peel / curve · wall-locked move + free look (FS-MOV-004) · FS-INP-001/004/005 · Lab › Parkour; GS/PS ownership on TFACore; hybrid-camera look-vs-body includes Wall Run - Hybrid camera (Demo): card
demo-hybrid-camera— same skeletal mesh · dual components · OwnerNoSee · TrueFPP bone-hide head/torso/legs/feet (arms+gun only) (FS-CAM-002) · no arms-only asset · FS-CAM-006 look-vs-body: any flip/attack rotates mesh only; camera keeps aim; mouse/RS always live in FPP+TPP - ADS (Demo + Full): FS-GUN-013 — TrueFPP weapon FOV + optic aim; remotes see TPP ADS pose; OmniVisor is chrome only
- Mutable / Appearance (Full game): card
mesh-mutable(FS-MESH-001 / FS-APP-*) + Frontend/Core/Weapons Appearance / Soft Object Path subs — not on Demo
- Demo + Full Motion Matching tutorial:
- Nightly export of the board to JSON, committed to git, so board state has history and diffs (planned; see the tracker design notes)
- Clear
[art]/[content]Blocked cards when real SKs / folders land