Skip to content

Playground

Try the Rea language live in your browser. Type Rea markup in the editor below and see it rendered instantly by the <reast-engine> web component.

Rea Source

Preview

The player component loads at runtime. If you see this message, the <reast-engine> script is not available in this environment. Build and serve the docs with the player package linked to see a live preview.

How it works

The playground creates a <reast-engine> web component and feeds it your Rea source as a blob URL. The player parses the markup using @reast/engine and renders the interactive story directly in the browser.

Supported syntax

Anything the engine implements works here — that is everything marked stable or experimental on the feature index:

  • Prose — paragraphs, headings, emphasis, blockquotes, rules, footnotes and hints
  • Choices* one-time, + sticky, - gathers, -> diverts, ->-> tunnels
  • State{set story.player.gold = 100}, {if …begin}…{end if}, loops, functions
  • Narrative{once}, varying text, storylets, decks, exploration menus, cards

Features badged development or draft are not implemented, so the parser treats them as ordinary text — see graceful degradation.

Limitations

  • No package — the playground feeds a single .rea file to the player, so there is no manifest, no media and no .rext extensions
  • No media files — an embed such as [!map < media/map.jpg] has nothing to resolve against and renders its placeholder
  • No GPS/NFC/sensors — hardware-dependent commands emit their host request and receive no answer
  • No persistence — story state resets on each render