49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
|
|
# 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?
|