49c22c9385
Clean re-implementation of the full product (not a port of the old M3 tree): - P0 foundation: 13-table schema + per-call sqlite factory (thread-safe), FastAPI app (health, JSON logging + secret redaction, CORS, startup guard). - P1 M1 Capture: mask/sheetKeep, geometry/rect (min-area rect), measure, png crop/inventory/overlay, EXIF decodeOrientedBitmap. - P2 M2 Photos: stateful capture session (batch, pick-cal, apply mask/crop to batch) + photos-ready lineup. - P3 M3 Create: real backend (crypto, woo client, taxonomy sync, pricing, inference Call1/Call2, review, publish, settings, slabs, photos) + real FE review/publish/settings screens consuming the API (no hardcoded Woo ids). - P4 gate exit: check_requirements + check_coverage both exit 0 (137/155 IDs, 0 gaps); backend 130/130, frontend 150/150, build green. Cite: docs/REQUIREMENTS.md (155 rows), docs/MILESTONES.md M1-M3.
28 lines
684 B
JSON
28 lines
684 B
JSON
{
|
|
"name": "slabuploader-frontend",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc --noEmit && vite build",
|
|
"preview": "vite preview",
|
|
"test": "node --import tsx --test --test-reporter=spec",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:headed": "playwright test --headed"
|
|
},
|
|
"dependencies": {
|
|
"@neodrag/svelte": "2.3.3",
|
|
"idb-keyval": "^6.3.0",
|
|
"svelte": "^4.2.20"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.63.0",
|
|
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
|
"svelte-preprocess": "^5.1.4",
|
|
"tsx": "^4.23.13",
|
|
"typescript": "^5.7.3",
|
|
"vite": "^5.4.19"
|
|
}
|
|
}
|