Owner directives 2026-07-14: select floorplan via tree (center > hall > zone),
generate booths inside it, images only on button click, zoom popup + save.
- V59: align hall width/depth to official floorplan orientation (all 10 halls
were transposed vs drawings, e.g. H1 63x171 -> 171x63); re-derive assumed
exits (V4 formula) and trench grid (V5 formula)
- V60: hall_zone tree table + drawing-measured zones (1A/1B, 6A/6B/6C, 7A/7B,
8A/8B, 9B/9A, 10B/10A) - data as tree: center > hall > zone
- GET /api/halls/tree (HallTreeController) - selection tree for the wizard
- AutoLayoutRequest.zoneId: pack booths only inside the selected zone bounds
- S7 aerial preview is NO LONGER auto-published per option (Gemini quota);
new POST .../auto-generate/preview publishes only on user button click,
persisted in render_job for gallery re-view and auction reference reuse
- AutoLayoutDialog reworked as 3-step wizard (place > conditions > pick):
per-option generate-aerial-image button, click-to-zoom lightbox with
download/save, and REAL apply via POST /apply-option (was refetch-only -
selected options were never persisted)
- FloorplanCanvas calibration: H8/H10 floor regions re-measured with
union-of-blobs (center aisle split the color blob, bottom half only before)
- Editor toolbar hall selector (grouped by exhibition center)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>