What I fixed: Removed the warning-calculation N+1 queries. Occupancy warnings now use one floor-plan participant query instead of per-scene character/asset lookups. Added SceneFloorPlanParticipant_ListByFloorPlan to the existing migration script with SET ANSI_NULLS ON and SET QUOTED_IDENTIFIER ON. Reapplied the migration locally. Confirmed FloorPlanBlock_Save, FloorPlan_GetEditor, and the new participant proc have quoted identifiers enabled. Reduced drag/resize freeze risk by throttling expensive geometry recalculation to animation frames instead of every pointer event. Added a final geometry refresh on pointer-up/cancel before autosave. Improved autosave failure visibility by showing the real error in the editor, not just leaving status stuck. Made Occupancy mode view/staging only:Blocks no longer start drag/resize in Occupancy mode. Resize handles are hidden. Structural toolbox is hidden. Plan canvas expands to use the freed width. Structure mode restores normal editing. Verification: dotnet build PlotLine.slnx passes with 0 warnings and 0 errors. Non-destructive SQL smoke test of FloorPlanBlock_Save against the Lounge block passed inside a transaction and rolled back. Confirmed the Lounge block stayed unchanged after the rollback. Reapplied 081_FloorPlanFloorDescriptionAndOccupancyWarnings.sql successfully. Files changed: [Repositories.cs](C:/Source/PlotLine/PlotLine/Data/Repositories.cs) [CoreModels.cs](C:/Source/PlotLine/PlotLine/Models/CoreModels.cs) [CoreServices.cs](C:/Source/PlotLine/PlotLine/Services/CoreServices.cs) [081 SQL migration](C:/Source/PlotLine/PlotLine/Sql/081_FloorPlanFloorDescriptionAndOccupancyWarnings.sql) [Edit.cshtml](C:/Source/PlotLine/PlotLine/Views/FloorPlans/Edit.cshtml) [site.css](C:/Source/PlotLine/PlotLine/wwwroot/css/site.css) [site.min.css](C:/Source/PlotLine/PlotLine/wwwroot/css/site.min.css) Manual browser QA still needed for the exact drag/add/reload flow, but the code path and SQL save path are now stabilized.
Description
PlotDirector
Languages
C#
39.2%
HTML
24.7%
TSQL
24.5%
JavaScript
5.9%
CSS
5.7%