Skip to content

feat: gate per-building thumbnail/backdrop renders and server uploads behind an import toggle #447

Description

@nigel-hall-codes

Parent: #259 (techdesign) — see sdlc/#259/design.md (2026-07-04 reanalysis), lever L5. Likely the largest cold-import cost on templated bakes — confirm with #446.

Why

Every import currently, for every building, every run:

City-wide that is O(10⁵) GPU round-trips and synchronous HTTP requests, repeated identically on every re-import — and when the authoring server isn't running, the renders and encodes still happen before each upload fails.

What (cheapest first)

  1. Add an importer toggle "Upload building authoring assets", default off; the iPad-authoring workflow turns it on.
  2. When on, probe the server once per run (single request); if unreachable, skip renders and uploads for the whole run instead of failing per building — the render+encode must be skipped too, not just the PUT.
  3. (Later, pairs with feat: incremental import — skip unchanged chunks via manifest chunkHashes #261) content-hash skip: don't re-render/re-upload unchanged buildings.

Risk

Low — the server and iOS app already treat missing thumbnails/backdrops as graceful fallbacks (per the #369/#407 code comments in SFMapImporterWindow.cs).

Done when

A bulk import with the toggle off performs zero building renders/uploads; with the toggle on and the server down, the run degrades with one warning instead of per-building stalls; #446 timings show the cost gone from the default path.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions