pcbjam/web/standalone
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Gergő Törcsvári ae20d49241
feat(standalone): device-capability preflight check (0001)
Add a pre-boot "potato check" for the standalone editor: probe the device
against what the KiCad WASM tools actually require and warn (or block, with an
override) before the expensive WASM asset fetch.

- preflight/capabilities.ts: pure, unit-testable probe → CapabilityReport with
  stable codes. Fatal: no SharedArrayBuffer/cross-origin-isolation, no
  WebAssembly, no Workers+Atomics, no WebGL2. Warn: low deviceMemory, low JS
  heap limit (Chromium), few cores, mobile, small screen. Thresholds in one
  tunable const block.
- preflight/BlockingDialog.tsx: reusable modal blocking overlay (no dismiss
  except via explicit action) — also for feature 0002's terminal dialog.
- preflight/PreflightGate.tsx: runs the probe once on mount; fatal → blocking
  dialog with "Try anyway" (short-circuits the asset fetch); warnings →
  dismissible advisory banner with localStorage "don't show again" keyed to the
  exact warning codes.
- ToolPage: wrap WasmTool in PreflightGate so the gate runs before boot.

Optional micro-bench (phase 3) deferred per the spec.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 14:05:35 +02:00
..
scripts refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
src feat(standalone): device-capability preflight check (0001) 2026-06-12 14:05:35 +02:00
.env.example refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
index.html refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
package.json feat(standalone): env-selected Yjs provider abstraction (ysync 0004) 2026-06-10 14:37:30 +02:00
postcss.config.js refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
tailwind.config.js refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
tsconfig.json refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00
vite.config.ts refactor(web): split into GPL standalone editor + thin reference backend 2026-06-09 12:35:46 +02:00