Problem
collectFloorplanSchedules is scope-agnostic. A 'routing' export (structure + utility, excluding furniture/site) still renders schedule pages contributed by door/window (structure) and zone/room (site category) nodes — counting rooms/doors/windows whose geometry the same PDF excludes. A 'structure' export similarly emits room schedules from zones. Old scopes were unaffected ('full' admits all).
Suggested fix
Thread scope into collectFloorplanSchedules and filter schedule contributors by the same isFloorplanNodeInExportScope predicate (zone/room schedules under 'structure' and 'routing', door/window schedules under 'routing'), with tests pinning schedule-vs-scope behavior for non-'full' scopes.
Evidence
packages/editor/src/lib/floorplan/floorplan-export.tsx:206 -- const schedules = collectFloorplanSchedules(nodes, level.id, unit)
Source
Branch feat/floorplan-export-routing-scope (head f2d3051) — planned PR for #619.
Metadata
Severity: P3 | Confidence: 75 | Reviewer(s): adversarial, testing | Finding ID: floorplan-export-tsx-206-schedules-scope-blind
Problem
collectFloorplanSchedules is scope-agnostic. A 'routing' export (structure + utility, excluding furniture/site) still renders schedule pages contributed by door/window (structure) and zone/room (site category) nodes — counting rooms/doors/windows whose geometry the same PDF excludes. A 'structure' export similarly emits room schedules from zones. Old scopes were unaffected ('full' admits all).
Suggested fix
Thread scope into collectFloorplanSchedules and filter schedule contributors by the same isFloorplanNodeInExportScope predicate (zone/room schedules under 'structure' and 'routing', door/window schedules under 'routing'), with tests pinning schedule-vs-scope behavior for non-'full' scopes.
Evidence
packages/editor/src/lib/floorplan/floorplan-export.tsx:206 -- const schedules = collectFloorplanSchedules(nodes, level.id, unit)
Source
Branch feat/floorplan-export-routing-scope (head f2d3051) — planned PR for #619.
Metadata
Severity: P3 | Confidence: 75 | Reviewer(s): adversarial, testing | Finding ID: floorplan-export-tsx-206-schedules-scope-blind