Skip to content

feat: add playground app and supporting framework changes#77

Open
tilucasoli wants to merge 1 commit into
mainfrom
feat/create-playground
Open

feat: add playground app and supporting framework changes#77
tilucasoli wants to merge 1 commit into
mainfrom
feat/create-playground

Conversation

@tilucasoli
Copy link
Copy Markdown
Collaborator

Summary

  • Introduces packages/playground — a standalone Markdown editor + presentation app (forerunner of SuperDeck Studio) that runs without the CLI pipeline.
  • Adds the framework hooks needed to host SuperDeck slides inside a custom app (nullable slide chrome, MixScope inheritance, thumbnail invalidation).
  • Fixes a Hero shuttle bug where text resized at handoff because DefaultTextStyle was not inherited into the Navigator overlay.

Changes

packages/playground/ (new)

Standalone editor with rich-text Markdown input, live thumbnail previews, full-screen presentation mode, and system theme support. Depends on local superdeck, superdeck_core, and superdeck_builder. Not published (publish_to: none).

packages/superdeck

  • SlideParts.header / footer now nullable so embedded hosts can omit chrome.
  • SlideRenderView uses MixScope.inherit, and SlideCaptureService re-applies SDColors.colorMap so captured frames resolve the same tokens as live slides.
  • DeckPresentationState.deleteAllThumbnails() + ThumbnailService.deleteAllThumbnails() for editor flows that need to invalidate the full cache.
  • Hero shuttle re-applies the source slide's DefaultTextStyle so text properties left unset by element specs no longer resolve against the bare overlay default.

packages/builder

  • Re-export comment_parser, markdown_parser, section_parser so downstream apps (playground) can drive the build pipeline directly.

demo/ and packages/superdeck

  • Bump google_fonts from ^6.3.2 to ^8.1.0 (matches playground).

Test plan

  • melos run analyze
  • melos run test (new tests for deleteAllThumbnails, ThumbnailService.deleteAllThumbnails, and Hero shuttle text-style behavior)
  • Manually run playground: cd packages/playground && fvm flutter run -d macos
  • Manually run playground on web: fvm flutter run -d chrome
  • Verify demo app still builds and the new google_fonts version works
  • Verify Hero transitions in the demo don't resize text mid-flight

🤖 Generated with Claude Code

Introduces packages/playground — a standalone editor + presentation app
(forerunner of SuperDeck Studio) — and the framework changes required to
host SuperDeck slides outside the CLI pipeline.

superdeck:
- SlideParts.header/footer are now nullable so embedded hosts can omit chrome
- SlideRenderView uses MixScope.inherit and SlideCaptureService re-applies
  SD color tokens so captures resolve theme tokens identically to live slides
- DeckPresentationState/ThumbnailService expose deleteAllThumbnails for
  editor flows that need to invalidate the cache
- Hero shuttle now re-applies the source slide's DefaultTextStyle so text
  doesn't resize at handoff

builder: re-export comment/markdown/section parsers for downstream apps.

demo/superdeck: bump google_fonts to ^8.1.0 (matches playground).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@docs-page
Copy link
Copy Markdown

docs-page Bot commented May 22, 2026

To view this pull requests documentation preview, visit the following URL:

docs.page/btwld/superdeck~77

Documentation is deployed and generated using docs.page.

@github-actions
Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit ed27c75):

https://superdeck-dev--pr77-feat-create-playgrou-ndk6m9my.web.app

(expires Sun, 21 Jun 2026 02:55:48 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: bd68fc230762285849207e7e120aaf87cd4ca2f9

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