Skip to content

perf: replace the React playground with vanilla TypeScript - #22

Merged
aomona merged 2 commits into
mainfrom
codex/vanilla-playground
Aug 20, 2026
Merged

aomona merged 2 commits into
mainfrom
codex/vanilla-playground

Conversation

@aomona

@aomona aomona commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • replace the React playground runtime with vanilla TypeScript and static HTML
  • preserve the visible controls, labels, initial values, layout, WebGL behavior, context recovery, and reduced-motion handling
  • remove ReactDOM, the Vite React plugin, and their playground-only transitive dependencies

Verification

  • npm run format:check
  • npm run lint
  • npm run typecheck
  • npm test (16 tests on the stacked branch)
  • npm run build:playground
  • browser checks for preset changes, ranges, seed clamping, reset, and ready state
  • same-tab visual comparison: normalized MAE 0.0291%

Size

  • playground JavaScript: 208.58 kB to 14.70 kB
  • playground JavaScript gzip: 65.54 kB to 5.58 kB

Dependency

This PR is intentionally stacked on codex/package-boundaries so the final dependency metadata merges without conflicts. After the package PR lands, this PR can be retargeted to main.

@aomona
aomona marked this pull request as ready for review August 20, 2026 11:48
Base automatically changed from codex/package-boundaries to main August 20, 2026 11:49
@aomona
aomona merged commit 099b398 into main Aug 20, 2026
1 check passed
@aomona
aomona deleted the codex/vanilla-playground branch August 20, 2026 11:49
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