Unimplemented engine feature: SpellDefinition.flowTagsConsumed/Produced declared but never read #62

Closed
opened 2026-09-15 04:49:08 +00:00 by Mark · 1 comment
Owner

Summary

SpellDefinition declares two fields — flowTagsConsumed and flowTagsProduced — but nothing in the engine or UI reads them. The README markets these as enabling 'advanced combo chains' but the mechanic is unimplemented.

Where

  • src/engine/types.ts: SpellDefinition.flowTagsConsumed, flowTagsProduced (lines 75-83)
  • src/data/spells.ts: 2 spells declare these fields (turned-knife, blind-witness)

Why this matters

  • Spells declare a behavior the engine doesn't honor
  • Players who design strategies around flow tags get no feedback

Acceptance criteria

Either:

  1. Implement the flowTagsConsumed/Produced mechanic in the resolver: when a spell completes, consume its declared flow tags from the chain state and produce the new ones, updating the player's flowTag display. Wire the UI to show flow transitions.
  2. Remove the two fields from SpellDefinition and the spell data files.
## Summary SpellDefinition declares two fields — flowTagsConsumed and flowTagsProduced — but nothing in the engine or UI reads them. The README markets these as enabling 'advanced combo chains' but the mechanic is unimplemented. ## Where - src/engine/types.ts: SpellDefinition.flowTagsConsumed, flowTagsProduced (lines 75-83) - src/data/spells.ts: 2 spells declare these fields (turned-knife, blind-witness) ## Why this matters - Spells declare a behavior the engine doesn't honor - Players who design strategies around flow tags get no feedback ## Acceptance criteria Either: 1. Implement the flowTagsConsumed/Produced mechanic in the resolver: when a spell completes, consume its declared flow tags from the chain state and produce the new ones, updating the player's flowTag display. Wire the UI to show flow transitions. 2. Remove the two fields from SpellDefinition and the spell data files.
Mark closed this issue 2026-09-18 14:22:26 +00:00
Author
Owner

Took acceptance-criteria option 2 (remove the unimplemented fields).

  • src/engine/types.ts: removed flowTagsConsumed? and flowTagsProduced? from SpellDefinition
  • src/data/spells.ts: removed the field assignments from turned-knife and blind-witness
  • README.md: rewrote the misleading "Spells ... consume and produce flow tags, enabling advanced combo chains." sentence to describe the actual mechanic (flow-tag transitions + reactive conditions)

Commit: d51064a on Mark/chainbound main.

If a real flow-tag consume/produce mechanic gets designed later, the fields can be re-added with proper resolver + UI wiring. Nothing reads them today.

Took acceptance-criteria option 2 (remove the unimplemented fields). - src/engine/types.ts: removed `flowTagsConsumed?` and `flowTagsProduced?` from `SpellDefinition` - src/data/spells.ts: removed the field assignments from `turned-knife` and `blind-witness` - README.md: rewrote the misleading "Spells ... consume and produce flow tags, enabling advanced combo chains." sentence to describe the actual mechanic (flow-tag transitions + reactive conditions) Commit: d51064a on Mark/chainbound main. If a real flow-tag consume/produce mechanic gets designed later, the fields can be re-added with proper resolver + UI wiring. Nothing reads them today.
Sign in to join this conversation.
No description provided.