photocraft/docs
Brandon Thomas ff53be714d
Persist brush presets in a size-aware preset store (#78) (#82)
User and imported .abr brush presets now survive a restart. The new
photocraft_engine::preset_store keeps one JSON file per preset group plus
content-addressed, deflated tip bitmaps (8-bit when the tip came from 8-bit
data) in <config dir>/Presets, and an index with group order and deleted
built-ins. Built-ins are never written; writes are atomic and bounded;
corrupt or oversized files are skipped with a warning and left on disk.

The desktop app loads the store on a background thread and attaches it when
it arrives; sessions without a store (CLI, MCP, web, tests) stay hermetic.
Brush preset mutations bump ToolState::presets_rev and the store syncs after
the command, rewriting only groups whose content changed.

Fixes #78

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 17:53:24 -04:00
..
brand Licensing: MIT OR Apache-2.0 files, NOTICE, ArtCraft brand terms, attribution 2026-10-04 10:06:17 -04:00
images Analysis, notes, proof views, workspaces (+ in-progress work of other agents) 2026-10-01 22:49:07 -04:00
architecture.md security: constrain automation filesystem access (#72) 2026-10-04 16:35:06 -04:00
contributing.md Never crash: steering rules, clippy.toml, forbid unsafe (#33) 2026-10-04 11:14:55 -04:00
control-protocol.md Persist brush presets in a size-aware preset store (#78) (#82) 2026-10-04 17:53:24 -04:00
development.md Large images: adapter texture limits, banded compositing/export, proxy thumbnails, history byte budget (#71) 2026-10-04 16:45:17 -04:00
parity-estimate.md docs: parity estimate reflects 100% menu breadth (depth/fidelity remain) 2026-10-03 02:56:31 -04:00
parity.md Sandboxed WebAssembly plug-ins: photocraft-plugins (wasmi), plugin.* commands, Filter › Plug-ins (#67) 2026-10-04 16:08:28 -04:00
plugins.md Sandboxed WebAssembly plug-ins: photocraft-plugins (wasmi), plugin.* commands, Filter › Plug-ins (#67) 2026-10-04 16:08:28 -04:00
release-playbook.md Release playbook now lives in craftrules; keep a pointer 2026-10-01 13:27:12 -04:00
releasing.md app icon: nine-tailed kitsune (owner's ArtCraft drawing), Dock/taskbar/launcher wiring, palette docs 2026-10-02 09:47:45 -04:00
roadmap.md Photoshop brushes: .abr import, stylus pressure/tilt, 36 grouped presets, .grd import (#74) 2026-10-04 16:26:16 -04:00
ui-design.md Remove references to Photon Studio from docs, AGENTS.md and code comments 2026-10-02 12:25:59 -04:00