228 Commits

Author SHA1 Message Date
Nick Beckley
7ad993aae3 Implemented the cleanup/refinement pass.
What changed:
Removed the standalone floor-plan details panel under the page title.
Added current-floor Description and editable Root Location into the Floors toolbox tab.
Added live computed Occupancy Warnings in Occupancy mode.
Preserved the existing AJAX workspace flow, including active floor/toolbox tab/mode/selected occupancy scene through refreshes.
Added floor description support via a new migration:
[081_FloorPlanFloorDescriptionAndOccupancyWarnings.sql](C:/Source/PlotLine/PlotLine/Sql/081_FloorPlanFloorDescriptionAndOccupancyWarnings.sql)
Database changes:
Added nullable FloorPlanFloors.Description.
Updated active stored procedures:FloorPlan_GetEditor
FloorPlanFloor_Get
FloorPlanFloor_ListByPlan
FloorPlanFloor_Save

Warnings are not persisted. No warning tables were added.
Files changed include:
[Edit.cshtml](C:/Source/PlotLine/PlotLine/Views/FloorPlans/Edit.cshtml)
[CoreServices.cs](C:/Source/PlotLine/PlotLine/Services/CoreServices.cs)
[Repositories.cs](C:/Source/PlotLine/PlotLine/Data/Repositories.cs)
[CoreModels.cs](C:/Source/PlotLine/PlotLine/Models/CoreModels.cs)
[CoreViewModels.cs](C:/Source/PlotLine/PlotLine/ViewModels/CoreViewModels.cs)
[site.css](C:/Source/PlotLine/PlotLine/wwwroot/css/site.css)
[site.min.css](C:/Source/PlotLine/PlotLine/wwwroot/css/site.min.css)
Verification:
Applied the new migration locally.
Confirmed FloorPlanFloors.Description exists.
Confirmed scene/occupancy source data exists for The Calendar House.
dotnet build PlotLine.slnx passes with 0 warnings and 0 errors.
Manual QA still needed in the browser: edit floor description/root location, switch Structure/Occupancy mode, step scenes, and confirm warnings/tokens update visually without jumps.
2026-06-22 11:56:01 +01:00
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
2cf3c7da3a Implemented the Secret Passages + Hidden Room detection pass.
Changed:
[Edit.cshtml (line 36)](C:/Source/PlotLine/PlotLine/Views/FloorPlans/Edit.cshtml:36)Secret Passage and Hidden Passage now render as dashed route overlays instead of wall markers.
Hidden Door remains a wall/shared-edge marker and follows existing adjacency rules.
Hidden locations are detected from existing transition data: visible entrances count, windows/hidden doors/secret passages/hidden passages/blocked doors do not.
Hidden room tooltip now includes Hidden location: no visible entrance.

[site.css (line 4793)](C:/Source/PlotLine/PlotLine/wwwroot/css/site.css:4793)Added subtle hidden-location hatch styling.
Added dashed secret-route styling with dark-theme support.

[site.min.css](C:/Source/PlotLine/PlotLine/wwwroot/css/site.min.css)Synced minified CSS.

No database changes. No stored procedure changes. No Features concept added.
2026-06-21 22:14:25 +01:00
Nick Beckley
1786d8c7b1 Implemented the focused Floor Plans refinement pass.
Changed:
[Edit.cshtml (line 172)](C:/Source/PlotLine/PlotLine/Views/FloorPlans/Edit.cshtml:172)Added optional grid coordinate toggle with localStorage persistence.
Added adjacent-floor ghost/reference overlay selector.
Added overlap-aware Stairs Up/Down target filtering.
Added explicit fallback button: “Show all locations on floor above/below”.
Kept door/window same-floor adjacency filtering and Hidden/Open/Secret Passage unrestricted behaviour.

[site.css (line 4534)](C:/Source/PlotLine/PlotLine/wwwroot/css/site.css:4534)Added subtle coordinate labels, ghost floor blocks, warning styling, and dark-theme support.

[site.min.css](C:/Source/PlotLine/PlotLine/wwwroot/css/site.min.css)Synced minified CSS.

Database changes: none.
Stored procedures modified: none.
No Features, no transition redesign, no schema changes.
2026-06-21 21:51:47 +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
11b29b2504 Implemented the tiny marker refinement. 2026-06-21 20:39:06 +01:00
Nick Beckley
f4fe8e7b79 Implemented the transition marker visual refinement. 2026-06-21 19:41:46 +01:00
Nick Beckley
7bcc6d0598 Implemented the narrower same-location wall merge. 2026-06-21 19:17:30 +01:00
Nick Beckley
0ea8b2a57e Implemented the Floor Plans visual/UI refinement pass. 2026-06-21 19:06:25 +01:00
Nick Beckley
077714d80e Implemented the Floor Plans AJAX consolidation pass. 2026-06-21 18:41:09 +01:00
Nick Beckley
0944874510 Fixed multiple floor plan transitions between same source and target. 2026-06-21 18:22:03 +01:00
Nick Beckley
ee504d878f Save 2026-06-21 12:01:48 +01:00
Nick Beckley
91c5407ff9 Implemented the focused refinement gaps I found. 2026-06-21 10:10:29 +01:00
Nick Beckley
3a71e9c135 Implemented the Floor Plans refinement pass. 2026-06-20 22:04:48 +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
b2ac7b5eeb Implemented the Floor Plans UX/data-model refinement pass. 2026-06-20 20:32:59 +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
36c214fab8 Phase C3: Character & Asset Lane Storytelling Improvements 2026-06-20 16:18:29 +01:00
Nick Beckley
d0939b914a Phase C2 marker clarity 2026-06-20 16:00:37 +01:00
Nick Beckley
4f0c893914 Implemented the warning icon visibility fix. 2026-06-19 22:41:20 +01:00
Nick Beckley
ae064d04b6 Revert "Implemented the Phase C1C polish pass."
This reverts commit ca63a994dcbd941eff84d2a2860d53810f036123.
2026-06-19 22:07:34 +01:00
Nick Beckley
ca63a994dc Implemented the Phase C1C polish pass. 2026-06-19 21:43:34 +01:00
Nick Beckley
377d0540ca Phase C1B: Fix Incomplete Timeline Plot Thread Improvements 2026-06-19 21:29:36 +01:00
Nick Beckley
5ece8d9451 Phase C1: Plot Thread Readability & Warning Clarity 2026-06-19 21:22:55 +01:00
Nick Beckley
783fb916f8 Implemented the PD-009 refinement. 2026-06-19 20:56:46 +01:00
Nick Beckley
c577235949 Implemented PD-009 Timeline Navigation Discoverability. 2026-06-19 20:53:07 +01:00
Nick Beckley
0410afb124 Implemented Phase B guidance/discoverability work. 2026-06-19 20:06:00 +01:00
Nick Beckley
3b60634667 Implemented Phase B guidance/discoverability work. 2026-06-19 14:22:02 +01:00
Nick Beckley
7363d0c128 Scene inspector character attribute fix 2026-06-19 14:08:46 +01:00
Nick Beckley
daeba6ee8a Fixed home page image references in CSS 2026-06-19 10:25:16 +01:00
Nick Beckley
fd9dc683ff Fixed the Pricing page Trial/Draft Desk card overflow. 2026-06-18 21:28:46 +01:00
Nick Beckley
59c5630950 Review all Save, Add, Update and Delete actions used by the Scene Inspector. 2026-06-18 21:16:49 +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
61d16be6d7 PD-013D: Page-Specific Dark Theme Fixes. 2026-06-18 20:27:11 +01:00
Nick Beckley
4acd72229f PD-013C: Dark Theme Contrast Fixes. 2026-06-18 20:21:11 +01:00
Nick Beckley
99f7ce163e PD-013B: Dark Theme Polish Pass. 2026-06-18 19:58:14 +01:00
Nick Beckley
419b57c415 PD-013A: Dark Theme Audit Utility. 2026-06-18 19:52:50 +01:00
Nick Beckley
59881a31df Implemented the Word Companion book display update. 2026-06-16 20:41:55 +01:00
Nick Beckley
baf4d7066b Updated word companion urls to live. 2026-06-16 20:21:11 +01:00
Nick Beckley
63d7dcc87f Replace the remaining homepage placeholder illustrations with the final screenshot images that now exist in /wwwroot/images/home/. 2026-06-15 20:24:38 +01:00
Nick Beckley
53a3d31544 Added home page image files and removed uploaded files. 2026-06-15 20:04:42 +01:00