Deckard

Generator extensions

gen_block patch / matrix graphs in Deckard.

Core collection and dialect registration live in @spacedevin/deck — see package DECK_EXTENSION.md (@spacedevin/deck/extension) and host boot in src/generators/DeckIds.tish.

Deckard registers:

Dialect idsParserAudio engineSpec shape
patch, modular, synthPatchGraph.tishPatch.tish{ nodes, conns, envs, dur } on generatorSpec.graph
matrixFm, matrix_fmMatrixFmGraph.tishMatrixFm.tishoperators, mod matrix, filters, routes (schema project-v2.json $defs/matrixFmGraph)

Until registered, parseGenBlock returns { kind, tplHeaderId, version: 1, raw } only.

Macros are named patch templates registered via registerBuiltinMacros (BuiltinMacros.tish / MacroVoice.tish). A gen <macroName> expands to a gen_block patch at load.

Simple plugins read generatorParams; matrixFm and patch read generatorSpec.graph (each falls back if the graph is empty).

Line-level dialect syntax (nodes, op/mod/route, …): package DECK_EXTENSION.md (also @spacedevin/deck/extension after install).