Skip to content

Commit 834e2b7

Browse files
committed
docs(plan): 📝 document genuinely blocked deferred items with exit criteria
List 5 findings (N03, N14, N17, C13-F03, C19-F03) blocked by external infrastructure. Note N12 resolved as not applicable (no Jotai). Clean up lint warnings in build-worker placeholder script.
1 parent 9fcf910 commit 834e2b7

2 files changed

Lines changed: 23 additions & 19 deletions

File tree

‎plan/deferred-blocked.md‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Genuinely Blocked Deferred Items
2+
3+
These 5 findings cannot be implemented without external infrastructure or design decisions beyond the current development environment.
4+
5+
| ID | Severity | Summary | Blocker | Exit Criterion |
6+
|----|----------|---------|---------|----------------|
7+
| N03 | HIGH | E2E export success path exercises only stub | Requires real WebCodecs + MapLibre rendering in CI. No headless browser with WebGL + WebCodecs available in current test infrastructure. | Reopen when E2E infrastructure supports WebGL canvas rendering (e.g., Playwright with hardware acceleration or dedicated GPU CI runner). |
8+
| N14 | MEDIUM | Export memory guard underestimates 4K peak | Requires profiling real 4K exports to calibrate the memory multiplier. No 4K export testing hardware available. | Reopen when 4K export testing is available and memory peaks can be measured on real devices. |
9+
| N17 | MEDIUM | Mobile toolbar dialog not truly modal | Partially resolved with focus trap. Full fix requires testing on real mobile devices to verify touch/focus behavior. | Reopen if mobile focus issues are reported by users on real devices. |
10+
| C13-F03 | LOW | iOS Safari download fallback | Requires physical iOS device testing infrastructure. Safari-specific blob download behavior cannot be tested in other browsers or emulators. | Reopen when iOS device testing is set up (physical device or BrowserStack/Sauce Labs with real iOS). |
11+
| C19-F03 | LOW | Single-level undo design limitation in SceneEditor | Correct behavior per current design — single-level undo is intentional. Not a defect. | Reopen if multi-level undo is requested as a feature. |
12+
13+
## Resolved / Not Applicable
14+
15+
| ID | Original Severity | Summary | Resolution |
16+
|----|-------------------|---------|------------|
17+
| N12 | MEDIUM | Track session state spread across 15+ atoms | **NOT APPLICABLE** — project does not use Jotai. State is managed via React `useState` with only 8 track-related state variables, which is appropriate for the component complexity. |

‎scripts/build-worker.mjs‎

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,9 @@
11
#!/usr/bin/env node
2-
import { readFile, writeFile } from 'node:fs/promises'
3-
import path from 'node:path'
42

5-
const rootDir = process.cwd()
6-
const googleJsonParserFile = path.join(rootDir, 'src/lib/googleJsonParser.ts')
7-
const workerFile = path.join(rootDir, 'public/workers/trackParser.worker.js')
3+
// Documentation script: the worker at public/workers/trackParser.worker.js
4+
// contains Google JSON parsing functions duplicated from src/lib/googleJsonParser.ts.
5+
// To regenerate, manually copy the functions from the TypeScript source
6+
// to the worker file (workers cannot import from the Next.js build pipeline).
87

9-
console.log('Building trackParser.worker.js...')
10-
11-
// Read the shared TypeScript code
12-
const tsCode = await readFile(googleJsonParserFile, 'utf-8')
13-
14-
// Read the current worker file
15-
let workerCode = await readFile(workerFile, 'utf-8')
16-
17-
// The worker file already has the correct code - we just need to ensure it stays in sync
18-
// For now, we'll just verify that the shared functions exist in both files
19-
20-
console.log('âś“ Worker file already contains shared Google JSON parsing functions')
21-
console.log('Note: To regenerate worker from TypeScript source, manually copy the functions')
22-
console.log(' from src/lib/googleJsonParser.ts to public/workers/trackParser.worker.js')
8+
console.log('âś“ Worker file shares Google JSON parsing logic with src/lib/googleJsonParser.ts')
9+
console.log(' To update: copy functions from src/lib/googleJsonParser.ts to public/workers/trackParser.worker.js')

0 commit comments

Comments
 (0)