Blacksite/crates/editor/AGENTS.md

1.3 KiB

Editor subtree rules

  • Define an explicit interaction-state matrix before implementing new editor UI behavior.
  • Keep egui rendering thin. Move selection models, transaction planning, path rewriting, material resolution, import review, and reusable logic into lightweight modules or crates.
  • Test an invariant in its lightest owning crate; do not put it in editor merely because the UI calls it.
  • A small UI change does not justify full-workspace testing.
  • Use cargo check -p editor --lib through the development lane in the fast loop unless a binary target is directly affected.
  • Use focused editor tests only for editor-owned behavior.
  • Use named native scenarios for interaction and visual acceptance.
  • Do not use all-features or hot-reload/dynamic-linking combinations for ordinary editor QA unless that feature is under test.
  • Screenshots alone do not establish UX completion; exercise the interaction.
  • Reuse established editor components and visual language instead of creating bespoke panel controls.
  • Treat sustainable extension seams and debt-at-the-point-of-change as a feature requirement. Inspector and Content Browser shells dispatch; they do not own domain behavior. Do not grow a frozen-baseline module, and run scripts/codex/architecture_audit.py check after structural UI changes.