Playground Guide

The playground is the evaluator-first surface. It runs entirely in your browser, fetches public GitHub data without auth, and explains what SideshowDB would do with that data.

This page describes what is and is not in scope, how to drive it, and how the UI maps onto SideshowDB concepts.

What the Playground Does

  1. Validates the user's owner/repo input before any network call.
  2. Fetches public GitHub data directly from the browser.
  3. Renders a focused explorer of the repository's refs.
  4. Renders a SideshowDB interpretation panel that explains what those refs would look like as a projection.

What the Playground Does Not Do

The first release is intentionally narrow:

  • Public repos only. No auth, no private data.
  • Read-only. No write-back to GitHub or to a local SideshowDB store.
  • Limited views. A small number of focused inspection modes; not a generic Git object browser.

Recommended Path

  1. Open Playground .
  2. Click the curated sample (sideshowdb/sideshowdb or octocat/Hello-World) to see the happy path first.
  3. Once the sample renders, type your own owner/repo to compare.

Input Rules

The repo input is parsed by parseRepoInput before any fetch. Surrounding whitespace is trimmed. Anything that is not exactly two non-empty /-separated segments is rejected with a specific validation error.

Examples:

InputResult
sideshowdb/sideshowdbaccepted
octocat/Hello-World (with surrounding whitespace)accepted (trimmed)
octocatrejected — needs owner/repo
a/b/crejected — too many segments
empty stringrejected — needs owner/repo

Failure Modes

The playground maps known HTTP failures to plain-language messages:

HTTP statusMeaningWhat you'll see
404repo missing or invisible"not found" + sample-repo fallback
403rate limit or access denied"rate or access" message + retry guidance
anything elseunknown failuregeneric load-failed message + sample-repo fallback

How the UI Maps to SideshowDB

UI panelSideshowDB conceptReference
Source-data view (refs list)Raw RefStore source storage.RefStore
Projection panelDerived DocumentStore view document.DocumentStore
Sample-repo fallbackCurated entry point so the blank-page case never happens

For an end-to-end mapping of GitHub data to SideshowDB concepts, see the Projection Walkthrough .

Where to Look in the Reference