Skip to content

feat(server): canvas storage + flatten-on-export to facadeDecals override #281

Description

@nigel-hall-codes

Parent: #278 (building-specific facade canvas) — see sdlc/#278/design.md §Component contracts + hybrid export decision.

Extend the Home PC Asset Server (#274):

  • Store the layered canvas document (per building+facade: stroke layers + placed-image/AI-sign refs) — authoring source of truth, stays server-side.
  • New endpoint(s) for canvas CRUD (create/load/save a building's facade canvas).
  • On POST /export/unity: flatten freehand strokes → one paint_<osm_id>_<facade>.png per facade; keep placed images / AI signs as discrete sign PNGs (reuse feat(server): AI sign generation - provider abstraction #275 sign assets); write Overrides/<osm_id>.override.json with facadeDecals[] (facade, rect, layer, texture, mountDepth_m, optional signAsset) + the footprint_hash guard.

Blocked-by #274 (extends that server).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions