# Editor State Rules - `editor/` owns transient app/editor state types and the app store. - Transient state includes viewport/camera, selection, tools, active entities, and drag/session state. - Do not put persisted document fields here; use `core/` for saved image document state. - Do not import React, renderer/WebGL, storage, network, or filesystem APIs. - The store must expose read/subscribe and command dispatch only; no public direct setters. - State changes must flow through commands, including viewport/camera changes.