mirror of
https://github.com/storytold/lightcraft.git
synced 2026-11-07 08:59:41 -06:00
- brand.toml is the only place the product name lives; every crate and app
reads it through dac-brand (env vars with legacy fallback, settings folder
with copy-only migration, default library, preset extensions, i18n {app})
- cargo xtask brand check|test, run|install|package, docs, rename-crates,
deny and immich; packaging files are templates rendered from brand.toml
- icons regenerated from brand/icon.svg; upstream branding removed
- MIT licence (segment and fetch stay Apache-2.0); cargo deny licence policy
- clean-room rules in AGENTS.md/CLAUDE.md; docs/upstream-merge.md
- plan/ rebuilt and committed; parity tracker reopens Classic rows, adds
PLAN.md section 2 rows and the IMM Immich section; plan/immich.md and a
pinned Immich test server
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB
Execution plan
Summary of PLAN.md §6. The detailed phase plans are copied here
(phase-0.md … phase-4.md); the root PLAN_phase_*.md files are the working copies.
Estimates are agent-hours and show relative size; every phase ends with an exit gate checked by tests or
measurement.
| Phase | Scope | Estimate | Depends on | Detail |
|---|---|---|---|---|
| 0 | Fork, brand config (brand.toml), MIT licence, plan/, tracker with Classic and Immich rows, Immich test server |
12–22 h | — | phase-0.md |
| 1 | Classic shell (modules, panels, keymap), catalog v4 (500k+ photos), engine split, full-resolution zoom, net / credentials, Immich connect / link / import / external library |
50–85 h | 0 | phase-1.md |
| 2 | Image quality: camdb, lens profiles, CR3 and other raws, profiled noise reduction, cms |
110–180 h | 1 | phase-2.md |
| 3 | Output modules: shared text / PDF / layout, Print, Map, Slideshow, Book, Web; Immich shared links | 72–124 h | 1 | phase-3.md |
| 4 | Workflow: tethering, publish services, plugins, round trips, actions, people, catalog migration; Immich publish, two-way sync, people, search, MCP | 60–105 h | 1 | phase-4.md |
| 5 | AI masks, HDR editing and output, video | 100–200 h | 1–2 | PLAN.md §6 |
| 6 | 1.0 hardening: performance, fuzzing, packaging, docs | 30–50 h | all | PLAN.md §6 |
Phases 2, 3 and 4 run in parallel after Phase 1.
Tracker mapping
| Phase | Tracker rows it closes (docs/parity.md) |
|---|---|
| 0 | none directly; adds the rows (KEYC-MODULES and LRC-WEB-* / LRC-MAP-REVGEO reopened, LRC-SHELL-* / LRC-CAT-* and others added, IMM-*) |
| 1 | KEYC-MODULES, KEYC-PANELS, KEYC-VIEWS, LRC-SHELL-, LRC-CAT-, LR-VIEW-ZOOM, IMM-CONNECT, IMM-LINK, IMM-IMPORT, IMM-EXTLIB |
| 2 | LR-PROF-CAMERACOLOR, LR-IMP-FORMATS, LR-IMP-CAMERA-COVERAGE, LR-EDIT-OPTICS-PROFILE, LRC-DEV-SOFTPROOF |
| 3 | LRC-MAP-, LRC-BOOK-, LRC-SS-, LRC-PRINT-, LRC-WEB-*, KEYC-MODULE-OUTPUT, IMM-SHARELINK |
| 4 | LRC-LIB-TETHER, LRC-LIB-PUBLISH, LRC-SHELL-PLUGINS, LRC-AUTO-ACTIONS, LRC-LIB-PEOPLE, IMM-PUBLISH, IMM-SYNC, IMM-PEOPLE, IMM-SEARCH, IMM-MCP |
| 5 | Q. HDR, R. Video, P. Enhance, AI rows in K. Masking |
Working rules
- Pick work from the tracker's "Top gaps"; update the row in the same commit that lands the feature.
cargo xtask cimust be green before merging;cargo xtask parity --writerefreshes the summary.- Product name only via
brand::; prose says "the app". - Clean-room rules (PLAN.md §4.2) apply to every phase.