# deck > Streamable .deck patch language for Tish hosts. Two packages: `@spacedevin/deck` parses the language, `@spacedevin/deck-player` plays it through Web Audio. Line-oriented, streamable patch text. Times are in quarter-note beats; one bar = 4 beats = 16 sixteenth steps. The parser is deliberately parse-only — absent optionals stay `null` and no clamping happens, because defaults and ranges are host policy. One Tish source emits three targets (Tish, JS, Rust) checked against a single conformance corpus. ## Docs - [@spacedevin/deck](https://spacedevin.github.io/deck/): Streamable .deck patch language for Tish hosts (e.g. Deckard) - [deck language](https://spacedevin.github.io/deck/docs/deck-grammar/): Line-oriented, streamable patch text (.deck). This is the language reference for @spacedevin/deck - [Examples](https://spacedevin.github.io/deck/docs/examples/): Complete, runnable .deck songs — one per idea. On the docs site every block here has a Play button; in a checkout, drop any of them in a .deck file - [AST shape](https://spacedevin.github.io/deck/docs/ast/): What parseProgram and parseTrackBody return. This is the contract a host codes against - [Host extensions](https://spacedevin.github.io/deck/docs/deck-extension/): Three registries let a host add vocabulary without forking the grammar. That matters: the one implementation that had no such hook (tish-gba, which needed a top-level wave statement and a layer body key) ended up a separate grammar rather than a subset of this one - [Hosting @spacedevin/deck](https://spacedevin.github.io/deck/docs/host/): The package parses and classifies .deck text. Hosts map the AST into their own IR, register catalogs, and own audio - [Playback](https://spacedevin.github.io/deck/player/): Web Audio playback for .deck — chip-tune synths, a transport, and an element. - [Player scope](https://spacedevin.github.io/deck/player/agents/): What belongs in the playback package, and what has to stay upstream. ## Optional - [Full docs as one file](https://spacedevin.github.io/deck/llms-full.txt): every page above, concatenated - [Source repository](https://github.com/spacedevin/deck): the markdown on this site lives here - [Conformance corpus](https://github.com/spacedevin/deck/tree/main/conformance): the cross-implementation contract — the same `.deck` inputs and expected parses, run by the JS build, the Rust crate and any host - [Golden fixture](https://github.com/spacedevin/deck/blob/main/fixtures/golden.deck): one file exercising the whole language