Documentation
Everything the flash-theater DSL currently supports, one topic per page — real syntax, a real code showcase
(pulled from or modeled directly on apps/sample-app and the other demo apps),
and an explicit "not (yet) supported" list so nothing is left undocumented. For the precise grammar reference
see GRAMMAR.md;
for the full implemented/planned status table see docs/features.md.
Getting started
Project layout, the <component> root tag, and the compile CLI.
Reactive state
field / derived / state, the global store, read/watch.
Statements & expressions
if/else, ternary, ==/!=, chain safety, loops, try/catch, anonymous functions.
Template & binding
Dynamic attributes, {#if}/{#if:destroy}, {#each}, bind:.
Focus & navigation
focusable, on:key, and the cross-component LRUD focus system.
Router
router.navigate, RouterOutlet, default-focus, the vacuum rule.
Theme
<theme-template>/<theme>, bare theme.a.b access, switchTheme.
Classes (.flsh)
Reusable BrightScript-only logic: extends, override, super.
Streams
Per-instance pub-sub between objects inside one component.
Task manager
taskManager.run/cancel, priority queues, alerting, onResult.
Requests
request Http {}, response caching, safe build/parse hooks.
Timer statements
setTimeout/setInterval/clearTimeout/clearInterval — JS-shaped Timer sugar.
Animation
animation {} declarations, transition:/in:/out:, animate:.
Scale
Design-resolution-aware scaling for numbers, arrays, and AAs.
Environments
env.<name>, environments/<name>.config.json, manifestOverrides, --env.
Want to try the language yourself first? Live playground on the homepage →