219 Commits

Author SHA1 Message Date
Nick Beckley
a943ac3da4 Implemented the targeted Scene Occupancy refinement pass. 2026-06-22 11:34:38 +01:00
Nick Beckley
cea82a922f Implemented Phase 1 Scene Occupancy.
What Changed
Added scene-owned occupancy data:Scenes.FloorPlanID
Scenes.InitialFloorPlanFloorID
new SceneFloorPlanOccupancy table

Added Occupancy section to the Scene Inspector with AJAX save/refresh.
Added Floor Plan editor Structure / Occupancy mode.
Occupancy mode shows linked scenes, previous/next scene controls, and character/asset tokens inside assigned locations.
Character tokens use image thumbnail, then initials fallback. Asset tokens do the same, smaller.
No Features, no new floor-plan architecture, no transition changes.
Files Changed
[CoreModels.cs](C:/Source/PlotLine/PlotLine/Models/CoreModels.cs)
[CoreViewModels.cs](C:/Source/PlotLine/PlotLine/ViewModels/CoreViewModels.cs)
[Repositories.cs](C:/Source/PlotLine/PlotLine/Data/Repositories.cs)
[CoreServices.cs](C:/Source/PlotLine/PlotLine/Services/CoreServices.cs)
[ScenesController.cs](C:/Source/PlotLine/PlotLine/Controllers/ScenesController.cs)
[Program.cs](C:/Source/PlotLine/PlotLine/Program.cs)
[Edit.cshtml](C:/Source/PlotLine/PlotLine/Views/FloorPlans/Edit.cshtml)
[_SceneInspector.cshtml](C:/Source/PlotLine/PlotLine/Views/Scenes/_SceneInspector.cshtml)
[_SceneOccupancy.cshtml](C:/Source/PlotLine/PlotLine/Views/Scenes/_SceneOccupancy.cshtml)
[site.js](C:/Source/PlotLine/PlotLine/wwwroot/js/site.js)
[site.css](C:/Source/PlotLine/PlotLine/wwwroot/css/site.css)
minified CSS/JS updated.
Database
Added new migration only: [080_SceneFloorPlanOccupancy.sql](C:/Source/PlotLine/PlotLine/Sql/080_SceneFloorPlanOccupancy.sql)
Applied locally.
Added constraints/FKs and filtered unique indexes for one character/asset occupancy row per scene.
Stored Procedures Added/Updated
Scene_Save
Scene_Get
Scene_FloorPlanLink_Save
Scene_ListByFloorPlan
FloorPlanFloor_ListByPlan
FloorPlanBlock_ListByPlan
SceneFloorPlanOccupancy_ListByScene
SceneFloorPlanOccupancy_ListByFloorPlan
SceneFloorPlanOccupancy_Save
Test Data
Permanent Calendar House seed data added:
Book: The Calendar House
Chapters 1-3
14 scenes
Characters: Ellie, Grant, Stephen, Housekeeper, Gardener
Assets: Brass Key, Journal, Candle, Map, Letter
45 occupancy assignments
Verification
dotnet build PlotLine.slnx passes with 0 warnings/errors.
Migration applied locally.
Local app boots and returns HTTP 200.
DB checks confirm 14 linked scenes and 45 occupancy rows.
Manual browser click-through of the authenticated UI still needs a human pass for the AJAX controls and visual token placement.
2026-06-22 10:45:30 +01:00
Nick Beckley
34a8d94cb4 Implemented the Visual Identity infrastructure pass.
Changed
Added image fields for Characters and Story Assets in models, view models, repositories, services, and save flows.
Added reusable avatar/initials rendering via [AvatarHelper.cs](C:/Source/PlotLine/PlotLine/Services/AvatarHelper.cs) and [_Avatar.cshtml](C:/Source/PlotLine/PlotLine/Views/Shared/_Avatar.cshtml).
Added upload/remove processing through existing upload storage in [VisualIdentityImageService.cs](C:/Source/PlotLine/PlotLine/Services/VisualIdentityImageService.cs).
Updated Character and Story Asset list/detail/edit views with thumbnails, initials fallback, upload, replace, and remove controls.
Added styling in [site.css](C:/Source/PlotLine/PlotLine/wwwroot/css/site.css) and refreshed site.min.css.
Database
Added new migration [079_VisualIdentityCharacterAssetImages.sql](C:/Source/PlotLine/PlotLine/Sql/079_VisualIdentityCharacterAssetImages.sql).
Adds nullable ImagePath and ThumbnailPath to Characters and StoryAssets.
Applied locally and confirmed the columns exist.
Stored Procedures
Updated active procedure definitions only:
Character_ListByProject
Character_Get
Character_Save
Character_UpdateImage
StoryAsset_ListByProject
StoryAsset_Get
StoryAsset_Save
StoryAsset_UpdateImage
2026-06-22 10:10:39 +01:00
Nick Beckley
b91bdeb138 Implemented the transition refinement pass.
Changed:
[Edit.cshtml (line 29)](C:/Source/PlotLine/PlotLine/Views/FloorPlans/Edit.cshtml:29): added Sliding Door, French Door, and Ladder marker mappings/SVGs.
[Edit.cshtml (line 1729)](C:/Source/PlotLine/PlotLine/Views/FloorPlans/Edit.cshtml:1729): Ladder To Location filtering now lists placed locations on floors above, sorted by level/floor/name with clean labels like First Floor > East Hallway 1st.
[Edit.cshtml (line 2072)](C:/Source/PlotLine/PlotLine/Views/FloorPlans/Edit.cshtml:2072): Ladder renders inside the From Location using the existing position system.
[CoreServices.cs (line 7966)](C:/Source/PlotLine/PlotLine/Services/CoreServices.cs:7966): server validation now treats Ladder as a vertical upward transition, without stairs reciprocity.
[CoreModels.cs (line 1243)](C:/Source/PlotLine/PlotLine/Models/CoreModels.cs:1243): normalisation accepts Ladders.
[site.css (line 4902)](C:/Source/PlotLine/PlotLine/wwwroot/css/site.css:4902) and minified CSS: added light/dark styling for the new marker types.
No database changes. No new tables. No Features, architecture, AJAX, or secret/hidden room logic changes.
2026-06-22 09:26:19 +01:00
Nick Beckley
89c381e6bc Optimise floor plan editor and add reciprocal stairs 2026-06-21 21:32:05 +01:00
Nick Beckley
f57913014c Implemented the next Floor Plans enhancement pass. 2026-06-21 21:18:14 +01:00
Nick Beckley
9fc4374df3 Implemented the floor-level ordering pass using the existing integer SortOrder as the user-facing Level. 2026-06-21 20:49:17 +01:00
Nick Beckley
077714d80e Implemented the Floor Plans AJAX consolidation pass. 2026-06-21 18:41:09 +01:00
Nick Beckley
18858f3fba Implemented the Floor Plans multi-block room and transition phase. 2026-06-20 21:41:40 +01:00
Nick Beckley
e455018d73 Implemented the Floor Plans background-image phase. 2026-06-20 21:06:53 +01:00
Nick Beckley
030a4a10da Implemented the Floor Plans UX/data-model refinement pass. 2026-06-20 20:13:23 +01:00
Nick Beckley
bd8067b472 Implemented both Floor Plans fixes. 2026-06-20 19:36:00 +01:00
Nick Beckley
601afa8806 Implemented the first-pass Location Floor Plans foundation. 2026-06-20 18:44:58 +01:00
Nick Beckley
e5ed45897a Implemented the Timeline C3 refinement. 2026-06-20 16:36:18 +01:00
Nick Beckley
5ece8d9451 Phase C1: Plot Thread Readability & Warning Clarity 2026-06-19 21:22:55 +01:00
Nick Beckley
7363d0c128 Scene inspector character attribute fix 2026-06-19 14:08:46 +01:00
Nick Beckley
d4c886ce2f Review the PlotDirector subscription, pricing, signup and account-management areas and implement a complete trial-visibility pass. 2026-06-18 20:54:18 +01:00
Nick Beckley
dca5b0a847 Implement a small display fix caused by Phase 13A book subtitles. 2026-06-15 19:42:06 +01:00
Nick Beckley
2b145731e3 Implement backend support for storing user uploads outside wwwroot/uploads 2026-06-15 19:14:09 +01:00
Nick Beckley
22ba3b3b9a Implemented the dashboard refinements without database or stored procedure changes. 2026-06-15 16:29:12 +01:00
Nick Beckley
76fde1b74b Implemented the dashboard layout refinement. 2026-06-15 16:09:44 +01:00
Nick Beckley
d872289e6f Phase 13D: Series Dashboard Activity and Attention Widgets. 2026-06-15 15:45:04 +01:00
Nick Beckley
90d1bb48d6 Phase 13C: Project Dashboard Redesign. 2026-06-15 15:23:35 +01:00
Nick Beckley
8a4b016526 Phase 13B: Book Cover Upload and Processing. 2026-06-15 15:17:31 +01:00
Nick Beckley
4e71010814 Phase 13A: Book Metadata Backend. 2026-06-15 14:53:19 +01:00
Nick Beckley
1783ab88ee Phase 12K: Warning UI Refinement. 2026-06-15 10:08:29 +01:00
Nick Beckley
ecc8d3c76a Phase 12J: Warning Investigation Workflow Improvements. 2026-06-15 09:37:54 +01:00
Nick Beckley
6a2aeeea90 Phase 12I: Knowledge Regression Warnings. 2026-06-15 09:27:31 +01:00
Nick Beckley
f401416fbd Phase 12H: Move Continuity Warnings into the Main Warnings Page. 2026-06-14 21:14:22 +01:00
Nick Beckley
e008da0cf4 Phase 12G: Knowledge Continuity Warnings. 2026-06-14 20:45:36 +01:00
Nick Beckley
738b9f496d Phase 12F: Continuity Warning Management. 2026-06-14 20:34:29 +01:00
Nick Beckley
279c8f182c Investigate and fix issues discovered after Phase 12E Continuity Warnings. 2026-06-14 20:22:24 +01:00
Nick Beckley
7c7815642a Phase 12E: Continuity Warnings Engine (Informational). 2026-06-14 20:04:48 +01:00
Nick Beckley
9cc20ea266 Phase 12D: Continuity Explorer Scene Navigation Integration. 2026-06-14 19:56:33 +01:00
Nick Beckley
c7e02870cf Phase 12C: Inferred Location Activity for Continuity Explorer. 2026-06-14 19:47:15 +01:00
Nick Beckley
dc4324f970 Phase 12B.2: Continuity Explorer Result Context Improvements. 2026-06-14 19:37:26 +01:00
Nick Beckley
e7aabe8b41 Phase 12B: Continuity Explorer Page. 2026-06-14 19:24:59 +01:00
Nick Beckley
eafa9927c7 Phase 12A: Story State Engine and Scene Inspector Integration for the new Continuity Explorer feature. 2026-06-14 18:50:58 +01:00
Nick Beckley
5f6ea92938 Phase 11B PlotDirector Character Age and Story Date Management feature. 2026-06-14 18:30:50 +01:00
Nick Beckley
b5decb0dc6 Phase 11A PlotDirector Character Age and Story Date Management feature. 2026-06-14 17:50:00 +01:00
Nick Beckley
cfe95a510f Bug fix: Writer Workspace Focus project filter is ignored 2026-06-14 17:18:18 +01:00
Nick Beckley
ffcbe99028 Phase 10K chapter create/link foundation. 2026-06-14 10:04:41 +01:00
Nick Beckley
a9aae3fbf9 Phase 10J: Word Companion Scene Create / Link 2026-06-14 09:02:24 +01:00
Nick Beckley
6dd46c2632 Phase 10H.2: Fix Word Companion Scene Links to Use Real PlotDirector Scene Data 2026-06-13 21:20:43 +01:00
Nick Beckley
b813b187d7 Phase 10F: Sync Current Scene Progress 2026-06-13 20:10:54 +01:00
Nick Beckley
d2ae46209b Phase 10A API foundation only 2026-06-13 15:55:25 +01:00
Nick Beckley
ac07a52e27 Phase 9H: per-day writing session lengths. 2026-06-13 12:43:19 +01:00
Nick Beckley
8f006874ac Phase 9G: Writing Plan Management 2026-06-12 22:46:18 +01:00
Nick Beckley
04dc07e5f5 Phase 9F: Writing Schedule Rebalancing. 2026-06-12 22:15:25 +01:00
Nick Beckley
e83425eaac Phase 9E: Daily Writing Dashboard. 2026-06-12 22:00:10 +01:00