# Graphics Painter ## What It Does The Graphics Painter is the tile and sprite art editing window. It handles pixel editing, frame management, animation timeline editing, preview playback, and import-oriented art workflows. ## Key Files - `src/worldshaperStudio/tileArtEditorWindowController.ts` - `src/worldshaperStudio/graphicsDocumentHelpers.ts` - `src/worldshaperStudio/importController.ts` - `src/worldshaperStudio/dom.ts` ## Endpoints It Uses - `GET /api/images` - `GET /api/images/:filename` - `POST /api/content/images` - `POST /api/content/sprites` - `POST /api/content/tiles` ## Important Data And Rules - graphics records may include animation frame data and playback metadata - preview behavior is maintained in painter-local UI state - art changes eventually flow into tile and sprite content records - imports and previews are tightly tied to painter usability ## Invariants And Constraints - the painter is a floating tool window, not a docked pane - animation preview should reflect current frame ordering and speed settings - save behavior must preserve frame structure and timing metadata - painter workflows often depend on tile and sprite schema conventions ## Common Request Themes - move or selection tools - frame duplication and frame management - animation controls - import workflow improvements - better preview behavior ## Triage Questions - Is this request about art authoring, record storage, or runtime playback? - Does it affect tiles, sprites, or both? - Is the requested behavior inside the painter window only?