Skip to content

Add SceneSeed prompt-to-object canvas plugin - #2492

Open
brsbl wants to merge 5 commits into
mainfrom
bb/develop-two-bb-plugin-concepts-thr_t2mkexnz28
Open

Add SceneSeed prompt-to-object canvas plugin#2492
brsbl wants to merge 5 commits into
mainfrom
bb/develop-two-bb-plugin-concepts-thr_t2mkexnz28

Conversation

@brsbl

@brsbl brsbl commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Human comments

What was wrong

bb has no playful, spatial workflow for turning short prompts into safe, editable visual objects. Existing plugin surfaces are sufficient to provide one, but there was no opt-in official plugin that combined a prompt-card canvas, a bounded declarative scene contract, a durable agent-backed queue, and agent/CLI parity.

What changed

  • Add SceneSeed as an opt-in official Interface plugin with library and editor routes, responsive prompt-card placement, an accessible direct Three.js renderer, remix/duplicate/remove actions, WebGL recovery, and first-run privacy disclosure.
  • Add a strict versioned scene contract and guarded SQLite lifecycle for canvases, cards, candidates, leases, limits, cancellation, stale recovery, and complete erasure.
  • Add a hidden per-canvas agent workflow guided by the bundled SceneSeed interpreter skill; every result is schema-validated before it can render.
  • Add bb sceneseed commands for list, show, add, wait, cancel, and remove-object, with guide and official-plugin documentation updates.
  • Add 32 prompt-to-scene fixtures plus focused contract, store, server, CLI, renderer, and app tests.
  • Reuse existing plugin APIs only. This does not change the host-daemon protocol and adds no public plugin SDK surface.

UI evidence

Before — merge base 0ee543244, same route and 1440 × 900 viewport: SceneSeed does not exist, so bb reports that the plugin panel is unavailable.

Before: SceneSeed route is unavailable

After — PR head f68632324, same route, fixture, and viewport: SceneSeed provides prompt cards, queued and failure states, a dimensional Three.js scene, selected-object controls, and an accessible object list.

After: SceneSeed prompt-to-object canvas

How you verified

  • pnpm exec turbo run build typecheck test --filter=bb-plugin-sceneseed — 8/8 tasks; 66/66 tests.
  • pnpm exec turbo run test --filter=@bb/server -- --run test/services/plugins/builtin-plugins.test.ts test/services/plugins/official-plugins.test.ts — 34/34 tests.
  • Exact-head Chrome for Testing 151.0.7922.71: first paint, hard reload, mobile/tablet/desktop/ultrawide layouts, five full reveal cycles per viewport, light/dark themes, reduced motion, and every breakpoint-adjacent width without overflow or console errors.
  • Exact-head real Safari 26.5.2: hard reload, the resolved AiContentGenerator01 host icon, five full Remix cycles, and 1440/768 layouts without overflow. The prior SceneSeed UI head additionally exercised keyboard and drag placement, system-theme persistence, and WebGL context-loss recovery; the final SceneSeed change only replaced the unsupported host icon name.
  • Deterministic responsive and sustained-motion evidence: PASS at f68632324.
  • git diff --check and a cumulative contract audit against origin/main.
  • SceneSeed, app, server, smoke, and version-lockstep jobs are green. Current main and this PR share two upstream failures from Wait for quiet after exact replay completion #2459: its changed published provider-testing documentation needs an SDK version coordinated with open PR Add sidebar Split lifecycle #2473, and the generated SDK inventory follows that same drift. This PR intentionally adds no SDK/API change to mask it.

BB-Thread-ID: thr_t2mkexnz28

AGENT GENERATED

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant