# Application Operation Rules - `operations/` coordinates asynchronous editor use cases such as generation, import, raster processing, and export. - Operations may read immutable state snapshots, call injected platform capabilities, and dispatch commands. - Operations must never mutate `ImageDocument` or `EditorState` directly. - Keep React, DOM elements, WebGL objects, server-only APIs, and concrete network details out of operation contracts. - Prefer dependency injection for platform behavior so operation control flow remains testable.