R — start here when one visitor can get value without saved or shared state. This is a scope decision and text equivalent of the supplied poster, not a prototype or tested implementation.

The browser contains the whole useful loop. The highlighted result is the intended outcome, not a managed service. The footer says to stop here if this solves the need. The source date is 2026-09-06; image generation provenance is in artifact-atlas > Scoped record.
The question and the minimum
“Can one visitor get value without saved or shared state?” The recommendation is to start here and stop when the core loop works. The minimum is browser UI, temporary interaction state, and repeat/reset behavior.
Memory comes first. Optional local preferences are justified only when useful and non-sensitive; unavailable storage must not break the interaction. There is no default account, database, or multiplayer requirement. A loaded local interaction does not need a database-save state, though initial hosting/network access still exists.
Runtime AI is optional and independent: add it only if the outcome requires it. “No account” on the scope poster is a design minimum, not a promise that every Websim runtime capability permits anonymous use. Verify the real access conditions, payer, limits, and failures before relying on an AI operation.
Declared nodes and edges
| From | To | Meaning |
|---|---|---|
| INPUT | ACTION | Solid forward edge: the visitor acts on input |
| ACTION | RESULT | Solid forward edge: the action produces a visible result |
| RESULT | INPUT | Dotted return edge labeled “try again”: repeat the loop |
scoped-posters.json declares three edges and keeps all three nodes inside the browser. Its checks require the forward direction, the result-to-input return, no managed-service node, conditional AI wording, and a readable stop condition. These are artwork checks recorded by the source, not measurements of an app.
What to leave out
Do not add accounts, persistent records, multiplayer, a feed, or extra roles merely because the platform offers them. Same-browser preferences do not justify S2. A simple hosted static interaction can be complete.
The source’s relevant future cases are experience-and-acceptance > Acceptance cases A1–A4 and A12, with A10 only if AI is enabled and A11 only if content/moderation exposure exists. The poster’s short ship check is repeat, reset, keyboard, and touch. Refresh must produce the documented session reset; storage denial, if preferences are used, must leave the core loop intact.
Stop condition
Stop when one visitor completes and repeats the useful loop without unnecessary setup and with truthful reachable states. A database-save check that does not apply is N/A with a reason, not “passed.” If simultaneous participation or durable records are actually necessary, return to scopes and choose on that need rather than treating S1 as an unfinished S3.
Source basis: PRD.md sections 1, 4–6 and 8; scoped-posters.json scope S1; scope-1-play-now.png. See state-and-trust for storage boundaries and workflow for the reusable build guidance.
Independent-app interpretation
September 10’s independent starter advice fits S1 without changing its minimum: plain HTML may serve a disposable experiment, Svelte + Vite a one-screen toy, and SvelteKit a reusable app family. Choose one specialist only for a concrete action: native Canvas/SVG, Pixi for rendering, Phaser for game systems, Threlte for 3D, or Svelte Flow for graph editing. Those choices do not require accounts, persistence, AI, or shared networking.
OMP belongs in development, not in the visitor loop. An AI-built quiz or viewer may make zero runtime AI calls. Graphics/audio must initialize, reset, and tear down cleanly when navigating away and returning; ordinary controls stay in the DOM. These are source recommendations and future checks, not newly demonstrated S1 behavior.