TypeGPU-powered grid logo explorer.
Generate high-quality grid marks fast. Regenerate returns curated candidates, not raw random noise.
- Renders an
x by xgrid (2..64). - Generates + scores logo candidates (default
16). - Applies best candidate to main stage.
- Lets you click any candidate to apply.
- Supports symmetry bias (
none,mirror-x,mirror-y,both). - Supports quality presets (
curated-strict,balanced,exploratory). - Theme toggle with system-aware bootstrap, no refresh flash.
- Vite + React + TypeScript
- TypeGPU + WebGPU path (with safe CPU fallback)
- Vitest + Testing Library + Playwright
- Tailwind + shadcn primitives (minimal usage)
- Bun package/runtime workflow
bun install
bun run devOpen local URL shown by Vite.
bun run devstart local dev serverbun run buildtypecheck + prod buildbun run linteslintbun run testunit/component testsbun run test:coveragetests + 100% coverage gatebun run test:e2ePlaywright e2e
Current repo gate target:
- 100% statements
- 100% branches
- 100% functions
- 100% lines
If coverage drops, CI should fail.
- Slider changes are debounced to keep high-dimension interaction smooth.
- Stale regenerate calls are ignored to avoid UI lag/churn.
- Candidate generation uses adaptive search limits for high dimensions.
- Empty/all-filled marks are filtered out.
src/App.tsxapp shell + controls + candidate flowsrc/lib/gpuGridEngine.tscanvas stage render + engine APIsrc/lib/typegpuBatch.tsWebGPU scoring integration pathsrc/lib/patternScoring.tscandidate generation + metrics + scoringsrc/components/UI controls (theme toggle + shadcn primitives)e2e/Playwright specs
- Chromium with WebGPU enabled (best path).
- Fallback path exists when WebGPU unavailable.
Private/internal unless changed by repo owner.