The canvas background in the Building Customization Canvas (BuildingCanvasView.facadeSurface, FacadeCanvasView.swift/BuildingCanvasView.swift in UnitySFApp) calls the per-facade /canvas/{osm_id}/{facade}/backdrop endpoint. That endpoint is documented in ServerClient.swift as unshipped — it returns nil until #300 ships — and FacadeCanvasViewModel.loadBackdrop() silently swallows the failure ("non-fatal: backdrop is a drawing aid only"), leaving backdropData nil for essentially every building.
With no backdrop, the canvas falls back to FacadeIllustrationView: a fully-opaque, procedurally-drawn generic building (windows, storefront, door), seeded by osm_id so it's consistent per-building but bears no relation to that building's real appearance. Users see this generic illustration and assume it's meant to be their building's facade — it isn't.
Meanwhile, the Buildings-browser thumbnail (BuildingThumbView → GET /buildings/{osm_id}/thumb, wired up in #369) and the canvas's own "3D Preview" card already use the real Unity-rendered facade from that same endpoint. So the real render exists and is reachable — the main paintable canvas just isn't using it.
Fix: make the main canvas backdrop reuse the real-render source (GET /buildings/{osm_id}/thumb) that the thumbnail and 3D Preview card already use, instead of (or as a fallback layered under/replacing) the unshipped per-facade backdrop endpoint, so the canvas shows the actual building instead of a generic placeholder.
Repo note: issue tracked here in UnitySF per centralized issue-tracking convention; the code fix itself happens in UnitySFApp (iPad app + FacadeCanvas package now live there).
The canvas background in the Building Customization Canvas (
BuildingCanvasView.facadeSurface,FacadeCanvasView.swift/BuildingCanvasView.swiftin UnitySFApp) calls the per-facade/canvas/{osm_id}/{facade}/backdropendpoint. That endpoint is documented inServerClient.swiftas unshipped — it returns nil until #300 ships — andFacadeCanvasViewModel.loadBackdrop()silently swallows the failure ("non-fatal: backdrop is a drawing aid only"), leavingbackdropDatanilfor essentially every building.With no backdrop, the canvas falls back to
FacadeIllustrationView: a fully-opaque, procedurally-drawn generic building (windows, storefront, door), seeded byosm_idso it's consistent per-building but bears no relation to that building's real appearance. Users see this generic illustration and assume it's meant to be their building's facade — it isn't.Meanwhile, the Buildings-browser thumbnail (
BuildingThumbView→GET /buildings/{osm_id}/thumb, wired up in #369) and the canvas's own "3D Preview" card already use the real Unity-rendered facade from that same endpoint. So the real render exists and is reachable — the main paintable canvas just isn't using it.Fix: make the main canvas backdrop reuse the real-render source (
GET /buildings/{osm_id}/thumb) that the thumbnail and 3D Preview card already use, instead of (or as a fallback layered under/replacing) the unshipped per-facade backdrop endpoint, so the canvas shows the actual building instead of a generic placeholder.Repo note: issue tracked here in UnitySF per centralized issue-tracking convention; the code fix itself happens in UnitySFApp (iPad app + FacadeCanvas package now live there).