The Playground

By Steph15
Scroll to open

0accounts required

The Playground

Slatesource has a page where every chip type is unlocked and nothing is saved. No signup wall, no trial, no email capture. You open it, you build something, you close the tab and it is gone. It exists because reading a feature list is a poor substitute for dragging a chip onto a grid and seeing what it does.

What You Get

Three sample Info chips and an edit button. Click the button and the grid switches into edit mode, with a plus placeholder in every empty slot. Every published chip type is in the picker, including the ones that are normally paid items in the shop. The one exclusion is unreleased chips, which stay hidden even here.

typescript
const getAccessibleChipTypes = (): Set<string> | undefined => {
    if (overrideRestrictions) return undefined;
    if (!chips || !activeUser) return new Set();

That Is the Whole Unlock

The chip picker normally filters against the chip types the logged-in user owns. Returning undefined instead of a set means skip the filter entirely. Returning an empty set, which is what a logged-out visitor would otherwise get, means show nothing at all. The Playground is the only place in the codebase that passes overrideRestrictions.

The link on this page goes to a route registered as a plain sibling of login and register. No auth guard, no loader, no data fetched on entry.

There Is No Backend

This is the part worth being straight about. The Playground is one React screen holding a single array in component state. No localStorage, no sessionStorage, no IndexedDB, no API call anywhere in the screen. A refresh is a full reset, and the sample copy says so in the first chip rather than letting anyone find out the hard way.

The Module Named Sandbox Is Something Else

The backend has a package called sandbox. It is not this. It seeds development data on startup: users, chips, shop items, registration tickets, with a seeder file per developer. It has no controllers and no endpoints. Anyone reading the repo looking for the Playground's server side will find that package, and then find nothing behind it, because there is nothing behind it.

What the Playground has and does not

43%

Every published chip type in the picker

Edit mode, add, update, delete

Deep link with a query flag that opens straight into edit mode

Saving

Exporting to a real slate

A reset button

Sharing what you made

The Missing Path Out

The gap that matters most is the fourth unticked box. Someone builds a page they like in the Playground and there is no button that turns it into a slate on their account. They have to start again inside the editor. It is the obvious next step and it has not been built.

Image Chips Will Fail Here

Chips that carry an uploaded image post to the file endpoint, which permits anonymous reads but not anonymous writes. An anonymous Playground visitor adding a chip with a background image gets a generic upload error. Nothing in the Playground warns them first. It is a real rough edge, not a subtle one.

Chip types in the picker

all published

Login required

no

Persistence

none

Backend endpoints

0

Lines in the screen component

207

Also Not Indexed

The route sits in the no-index list for server-rendered metadata. A scratch surface with no stable content has nothing to offer a search engine, and every crawl of it would be a crawl of the same three placeholder chips.

Why It Renders Correctly

The Playground does not have its own renderer. It mounts the same chip rendering engine the real slate viewer uses, wrapped in the same two providers as the editor. What you see there is what a published page looks like, which is also why this page is a fair preview of it: the chips below you and the chips in the Playground come from the same components.

"

The fastest way to explain a chip is to let someone place one.

"