Worldshaper/docs/kb/systems/graphics-painter.md

1.5 KiB

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?