1.3 KiB
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
editormerely because the UI calls it. - A small UI change does not justify full-workspace testing.
- Use
cargo check -p editor --libthrough 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 checkafter structural UI changes.