v1.10.0 — Photographer-survey vocabulary + workflow primitives
Photographer-survey vocabulary + workflow primitives + 4 stabilization rounds + new docs.
A 6-genre photographer-workflow survey (36 photographers) drove a vocabulary expansion across portrait / landscape / wedding / B&W / nature-wildlife / food-product. The vocabulary delta + three workflow primitives implement the gaps that survey identified. Post-tag, 4 rounds of audit work stabilized CLI/MCP/docs alignment, and a docs prominence pass added a cookbook (~60 recipes), an onboarding guide, and four Mermaid architecture diagrams.
Three doors in
| If you want to... | Start here | Time |
|---|---|---|
| Run chemigram on a real photo | docs/getting-started.md |
30–60 min |
| Know "I want X look — how?" | docs/guides/cookbook.md |
as needed |
| Understand chemigram deeply | docs/onboarding.md |
2.5–3 hours |
Visual companion: docs/diagrams/ — four Mermaid one-pagers (stack / mask trilogy / vocabulary layers / phase timeline).
Vocabulary
- 29 new L2 looks across 6 genres + bw_convert v2 (colorequal-based 8-axis Adams-school B&W primitive).
- Parametric L2 strength (RFC-035 / ADR-088 Draft) —
--strength 0.6interpolates each parameterized field from identity to authored. - Mixed-op
apply_per_region(RFC-036 / ADR-089 Draft) — composite moves like eye-detail land as one snapshot. propagate_stateMCP+CLI (RFC-037 / ADR-090 Draft) — Lightroom-Sync analog with framing-bound auto-exclusion.apply-spotCLI verb — closes the ADR-069 verb-for-verb gap from v1.9.0.
Stats
- Tests: 1868 unit+integration + ~190 e2e (2058 total)
- ADRs: 90 (ADR-088/089/090 all Draft pending darkroom validation)
- RFCs Decided: 30 + RFC-038 Mode B drafted (v1.11+ pick)
- Vocabulary: 114 entries (2 starter + 112 expressive-baseline) + 9 named maskdefs
- 40 parameterized entries across 18 modules; 19 total modules touched
- MCP: 27 tools / CLI: 28 verbs / 23 mirrored / 0 unmirrored gaps
Stabilization (4 audit rounds)
Round 1 — holistic drift audit. 6 drifts closed including the critical pyproject.toml claiming 1.9.0 after v1.10.0 was tagged, generator allowlist hard-coded at v1.3.0 (silently lost 18 verbs across two releases).
Round 2 — CLI ↔ MCP ↔ docs alignment. 3 new audit tests + 7 TA.md MCP signature fixes + the canonical CLI ↔ MCP name mapping locked.
Round 3 — coverage audit. 4 coverage gaps closed: visual-proof generator silently dropping 10 named-mask entries (rescued); vocab show-mask / list-masks CLI tests added; apply_spot MCP wrapper unit tests added.
Round 4 — visual-proof coverage lock. New test prevents the silent-drop bug class from recurring.
Docs prominence
guides/cookbook.md— ~60 intent-driven recipes by genreonboarding.md— 2.5–3h reading order for new contributorsdiagrams/— 4 Mermaid one-pagers- "Three doors in" table on README + docs/index landing pages
doc-tree.mdadds guides/ + diagrams/ tiers; mkdocs nav surfaces onboarding + diagrams
What's next
ADR-088/089/090 ship as Draft pending darkroom-session validation against real raws (docs/guides/darkroom-session-debt.md items 7-11). Phase 2 vocabulary maturation continues; open issues live on v1.11.0 milestone. RFC-038 Mode B is the v1.11+ pick.
See CHANGELOG.md. Built on the shoulders of darktable.