102 lines
3.0 KiB
Markdown
102 lines
3.0 KiB
Markdown
# Tasks: enterprise-emblem-solver
|
|
|
|
**Change ID**: enterprise-emblem-solver
|
|
**Package**: `@suaveplan/emblem-solver`
|
|
**Target path**: `packages/media/image/emblem-solver/`
|
|
|
|
## 0. Pre-flight
|
|
|
|
- [x] 0.1 `git status` clean; `git worktree list` reviewed; worktree synced to `EXPECTED_BASE`.
|
|
- [x] 0.2 Read upstream reference at `/mnt/s/web/suaveplan/packages/universal/emblem-solver/`.
|
|
- [x] 0.3 Read enterprise audit at `/mnt/s/web/suaveplan/enterprise/emblem-solver.md`.
|
|
|
|
## 1. Scaffold
|
|
|
|
- [x] 1.1 Create `packages/media/image/emblem-solver/` and directory tree per `design.md`.
|
|
- [x] 1.2 Write `package.json` (v `0.1.0`, type module, sideEffects false, subpath exports).
|
|
- [x] 1.3 Write `tsconfig.lib.json` extending `tsconfig.base.json`.
|
|
- [x] 1.4 Write `vite.config.ts` with externalised deps + preserveModules.
|
|
- [x] 1.5 Write `vitest.config.ts` (istanbul, 100% thresholds, forks pool).
|
|
|
|
## 2. Types
|
|
|
|
- [x] 2.1 Write `src/types/types.ts` — public RGBA/Rect/Island/etc.
|
|
- [x] 2.2 Write `src/types/types.md`.
|
|
|
|
## 3. Errors
|
|
|
|
- [x] 3.1 Write `src/errors/errors.ts` — `defineCodes("EMBLEM_SOLVER", […])` + `EmblemSolverError`.
|
|
- [x] 3.2 Write `src/errors/errors.test.ts` exercising every code.
|
|
- [x] 3.3 Write `errors.md` + `index.ts` barrel.
|
|
|
|
## 4. Schemas
|
|
|
|
- [x] 4.1 Write `src/schemas/schemas.ts` — `ConvertOptionsSchema` (Zod, strict).
|
|
- [x] 4.2 Write `src/schemas/schemas.test.ts`.
|
|
- [x] 4.3 Write `schemas.md` + `index.ts`.
|
|
|
|
## 5. Helpers
|
|
|
|
- [x] 5.1 Write `src/helpers/helpers.ts`.
|
|
- [x] 5.2 Write `src/helpers/helpers.test.ts`.
|
|
- [x] 5.3 Write `helpers.md` + `index.ts`.
|
|
|
|
## 6. Grid analysis
|
|
|
|
- [x] 6.1 Write `src/grid/analyse/analyse.ts`.
|
|
- [x] 6.2 Write `src/grid/analyse/analyse.test.ts`.
|
|
- [x] 6.3 Write `.md` + barrels.
|
|
|
|
## 7. IO
|
|
|
|
- [x] 7.1 Write `src/io/parse/parse.ts`.
|
|
- [x] 7.2 Write tests + `.md` + barrels.
|
|
|
|
## 8. Solver kernels
|
|
|
|
- [x] 8.1 histogram + tests/.md/barrel.
|
|
- [x] 8.2 strip + tests/.md/barrel.
|
|
- [x] 8.3 greedy + tests/.md/barrel.
|
|
- [x] 8.4 ordering + tests/.md/barrel.
|
|
- [x] 8.5 layer + tests/.md/barrel.
|
|
- [x] 8.6 `src/solver/index.ts`.
|
|
|
|
## 9. Optimizers
|
|
|
|
- [x] 9.1 merge + tests/.md/barrel.
|
|
- [x] 9.2 overlap + tests/.md/barrel.
|
|
- [x] 9.3 redundancy + tests/.md/barrel.
|
|
- [x] 9.4 `src/optimizer/index.ts`.
|
|
|
|
## 10. SVG + telemetry + fixtures + converter
|
|
|
|
- [x] 10.1 svg/build + tests/.md/barrel.
|
|
- [x] 10.2 telemetry + tests/.md/barrel.
|
|
- [x] 10.3 fixtures port.
|
|
- [x] 10.4 converter orchestrator.
|
|
- [x] 10.5 converter tests (baseline + edges + auto + heuristic + fast-check property).
|
|
- [x] 10.6 converter.md.
|
|
|
|
## 11. Root barrel + docs
|
|
|
|
- [x] 11.1 `src/index.ts` explicit named re-exports.
|
|
- [x] 11.2 `README.md`.
|
|
|
|
## 12. Verification
|
|
|
|
- [x] 12.1 lint green.
|
|
- [x] 12.2 typecheck green.
|
|
- [x] 12.3 test green.
|
|
- [x] 12.4 build green.
|
|
- [x] 12.5 coverage 100/100/100/100.
|
|
|
|
## 13. Status + manifest
|
|
|
|
- [x] 13.1 Regenerate `MANIFEST.md`.
|
|
- [x] 13.2 STATUS.md flip + counter adjust.
|
|
|
|
## 14. Archive
|
|
|
|
- [x] 14.1 Fold spec delta into `openspec/specs/emblem-solver/spec.md`.
|
|
- [x] 14.2 Move change folder to `openspec/archive/2026-05-25-enterprise-emblem-solver/`.
|