Sandbox
The sandbox is a non-production preview tool available at /sandbox on each resolved site domain.
It is disabled in production.
The toolbar links to /docs, which renders the Markdown files in the repository docs directory. The docs viewer is also non-production only.
Modes
Full Demo
mode=full-demo renders the full current sandbox kit. It uses:
real site brand values where available
placeholder content where site data is missing
all currently supported public-site section components
representative admin/content-management UI patterns
The demo content is generated by App\Services\SiteSandboxDemo. Keep controller logic thin and add new demo section examples there when new section components become part of the platform foundation.
Site Data
mode=site-data renders only the current site's published home page data:
ResolveCurrentSite
-> SitePageResolver::resolveHome()
-> SitePage.sections
-> x-site-section
This mode should not read sites.homepage.sections directly. If legacy homepage JSON exists, the seeder syncs it into the site's index page first.
Appearance
The sandbox uses the same Flux light/dark/system appearance state as public pages.
Platform defaults first-time visitors to light mode before Flux applies system preference. Existing user appearance choices still win.
Section Coverage
Full Demo should preview every foundational section type that a site builder needs to evaluate brand, spacing, typography, and interaction patterns.
Site Data should only show configured page data. Missing content should stay obvious instead of silently filling in placeholder copy.