Skip to content

21 — Module Kanban (interactive)

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.

The board lives in the tracker app: Board · Gantt · Issues.

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).

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.

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).

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
  • 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

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.
  • 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 is backend/ + frontend/.
  • Concurrent locks carried in the seed:
    • Demo + Full Motion Matching tutorial: docs/tutorials/motion-matching-demo-and-full.md · Demo card demo-motion-matching · Full combat/melee
    • Wall Run Motion Matching: L/R cycle mid-stint; ground Pose Search at enter/exit only — no PSD_TFA_WallRun v1 (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
  • 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