WORK-454
ID:WORK-454Status:done

Template asset seeding and bundled sandboxes

SPEC-109 §4,§7 — a template seeds the project's asset: config (SPEC-115) so it renders cleanly with zero bundled binaries, and may bundle a sandbox program tree + backgrounds so a runtime-bearing template works out of the box.

Priority:mediumComplexity:moderateMilestone:v0.25.0Source:SPEC-109

Criteria completion

Criteria completion: 5 of 5 (100%) checked; history from Jun 23 to Jun 240%25%50%75%100%Jun 23Jun 24
Branches 3
History 3
  1. ac87cf4
    • ☑ A template seeds `sites.<site>.assets` from `template.json` at scaffold time; with no base URL configured the scaffolded site renders shape-correct placeholders (zero binary assets, nothing to strip)
    • ☑ Setting an asset base URL lights up real images with no demo-build flag
    • ☑ A template may carry a sandbox program-source tree, scaffold-copied to `site.sandbox.dir` (the renamed dir, {% ref "WORK-463" /%})
    • ☑ A template's `site.backgrounds` is seeded so a named bg-sandbox preset resolves out of the box
    • ☑ No new build-time or npm dependency is introduced — the sandbox runtime stays CDN-loaded at activation
    by bjornolofandersson
  2. dede57e
    Created (ready)by bjornolofandersson
  3. a6bdcba
    Content editedby Claude
    plan(v0.25.0): accept specs/ADRs and decompose into 21 work items

Acceptance Criteria

  • A template seeds sites.<site>.assets from template.json at scaffold time; with no base URL configured the scaffolded site renders shape-correct placeholders (zero binary assets, nothing to strip)
  • Setting an asset base URL lights up real images with no demo-build flag
  • A template may carry a sandbox program-source tree, scaffold-copied to site.sandbox.dir (the renamed dir, WORK-463)
  • A template's site.backgrounds is seeded so a named bg-sandbox preset resolves out of the box
  • No new build-time or npm dependency is introduced — the sandbox runtime stays CDN-loaded at activation

Approach

Extend the apply step (WORK-453) to seed assets/backgrounds and copy the sandboxes/ tree to the configured sandbox dir. Asset resolution itself is owned by SPEC-115; this only requires a template can seed the config.

Dependencies

  • WORK-453 — the template apply step
  • WORK-463 — the renamed sandbox directory field

References

  • SPEC-109 §4, §7; SPEC-115; ADR-022

Resolution

Completed: 2026-06-24

Branch: claude/v0.25.0-impl-3. applyTemplate seeds site.assets + site.backgrounds from template.json into the written config, and scaffold-copies a bundled sandboxes/ tree to site.sandbox.dir (./sandboxes, ADR-022). No new build/npm dependency — the sandbox runtime stays CDN-loaded at activation. Asset resolution itself (placeholder vs base-URL) is SPEC-115; here the template seeds the config. Verified by a synthetic-template test (assets + backgrounds + sandbox copy).