diff --git a/AGENTS.md b/AGENTS.md index 1ac82715..b8dfdba5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -44,7 +44,7 @@ and often so a crash loses minutes, not hours. - Export goes through `lightcraft_engine::export` (one encoder for app, CLI, MCP and web); UI-only commands live in `crates/ui-egui/src/menus.rs`. - Shell gotcha: `mv`/`cp` are aliased interactive here — use `/bin/mv -f` / `/bin/cp -f`. -- Parallel agents: separate git worktrees and `CARGO_TARGET_DIR=target/agent-`; keep every `Cargo.toml` valid at all times (the `crates/*` glob means one broken manifest breaks everyone). +- Parallel agents: separate git worktrees and `CARGO_TARGET_DIR=target/agent-`; each agent uses its **own control port** (pick one in 18000–19999, never the default 7980) and its own scratch subfolder (`//`) — never `rm -rf` shared paths; delete your target dir when done (disk is shared); keep every `Cargo.toml` valid at all times (the `crates/*` glob means one broken manifest breaks everyone). - Test corpora: `cargo xtask corpus --download` into `corpus/` (gitignored, CC0 only). Never commit media. ## Testing & performance (do this often) diff --git a/CLAUDE.md b/CLAUDE.md index 1ac82715..b8dfdba5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -44,7 +44,7 @@ and often so a crash loses minutes, not hours. - Export goes through `lightcraft_engine::export` (one encoder for app, CLI, MCP and web); UI-only commands live in `crates/ui-egui/src/menus.rs`. - Shell gotcha: `mv`/`cp` are aliased interactive here — use `/bin/mv -f` / `/bin/cp -f`. -- Parallel agents: separate git worktrees and `CARGO_TARGET_DIR=target/agent-`; keep every `Cargo.toml` valid at all times (the `crates/*` glob means one broken manifest breaks everyone). +- Parallel agents: separate git worktrees and `CARGO_TARGET_DIR=target/agent-`; each agent uses its **own control port** (pick one in 18000–19999, never the default 7980) and its own scratch subfolder (`//`) — never `rm -rf` shared paths; delete your target dir when done (disk is shared); keep every `Cargo.toml` valid at all times (the `crates/*` glob means one broken manifest breaks everyone). - Test corpora: `cargo xtask corpus --download` into `corpus/` (gitignored, CC0 only). Never commit media. ## Testing & performance (do this often) diff --git a/crates/engine/src/files.rs b/crates/engine/src/files.rs index eaa29a66..fdc63dec 100644 --- a/crates/engine/src/files.rs +++ b/crates/engine/src/files.rs @@ -59,6 +59,7 @@ pub fn probe_bytes(name: &str, bytes: &[u8]) -> Result { meta, as_shot_wb: None, content_hash, + xmp: lightcraft_meta::embedded(bytes).xmp, }); } Err(e) => return Err(e.to_string()),