46 Commits

Author SHA1 Message Date
Nick Beckley
955fcb9c0f Phase 15A - Feature Request System Foundation and User Workflow 2026-06-23 21:25:59 +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
e455018d73 Implemented the Floor Plans background-image phase. 2026-06-20 21:06:53 +01:00
Nick Beckley
601afa8806 Implemented the first-pass Location Floor Plans foundation. 2026-06-20 18:44:58 +01:00
Nick Beckley
419b57c415 PD-013A: Dark Theme Audit Utility. 2026-06-18 19:52:50 +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
8a4b016526 Phase 13B: Book Cover Upload and Processing. 2026-06-15 15:17:31 +01:00
Nick Beckley
738b9f496d Phase 12F: Continuity Warning Management. 2026-06-14 20:34:29 +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
d2ae46209b Phase 10A API foundation only 2026-06-13 15:55:25 +01:00
Nick Beckley
e66b43064a Phase 9B is implemented: database foundation only, no schedule generation or UI. 2026-06-12 21:03:22 +01:00
Nick Beckley
6dee173c5c Phase 7D User Delete 2026-06-12 20:11:52 +01:00
Nick Beckley
c130879b27 Implemented the requested revision to Timeline metric curve editing. 2026-06-09 19:36:28 +01:00
Nick Beckley
813dacdea9 Rename Phase 1A: Internal PlotWeaver technical cleanup only 2026-06-08 15:14:34 +01:00
Nick Beckley
1e03241d4e Phase 5I – Stripe Integration Completed 2026-06-07 14:59:41 +01:00
Nick Beckley
1c19edda5c Phase 5F – Storage Management and Quota Enforcement 2026-06-07 11:49:50 +01:00
Nick Beckley
1f3f68e6f3 Phase 5E Audit Activity 2026-06-07 11:05:40 +01:00
Nick Beckley
9824b364b7 Phase 5D Collaboration Foundation 2026-06-07 10:47:27 +01:00
Nick Beckley
49f239b301 Phase 5B Project Subscription Infrastructure 2026-06-07 10:13:16 +01:00
Nick Beckley
90b2212890 Phase 5A Project User access 2026-06-07 09:54:47 +01:00
Nick Beckley
621d138571 Phase 4G AuthService Secure Controllers 2026-06-06 20:36:54 +01:00
Nick Beckley
b3a3c045dc Phase 4F AuthService Manage Account 2026-06-06 20:17:16 +01:00
Nick Beckley
6895009223 Phase 4E AuthService 2FA 2026-06-06 20:04:19 +01:00
Nick Beckley
2f4590b681 Phase 4D AuthService and Email Queue 2026-06-06 19:46:02 +01:00
Nick Beckley
44416ec445 Phase 4C AuthService 2026-06-06 19:33:09 +01:00
Nick Beckley
a294df4e14 Phase 4B AuthService 2026-06-06 19:01:13 +01:00
Nick Beckley
6f42c65e35 Phase 4A AuthService 2026-06-06 17:21:58 +01:00
Nick Beckley
f8bf5af17f Project restore working 2026-06-05 16:40:25 +01:00
Nick Beckley
aebaa00371 Rrestore point page created 2026-06-05 16:15:49 +01:00
Nick Beckley
fbc07a00e5 Export Project 2026-06-05 16:02:34 +01:00
Nick Beckley
eaacd3d27f Phase 3C Help System 2026-06-04 20:19:52 +01:00
Nick Beckley
7ab5ccf374 Phase 3A Help System 2026-06-04 20:00:13 +01:00
Nick Beckley
1410666a39 Phase 2D 2026-06-03 22:22:36 +01:00
Nick Beckley
24dd787536 Addition of project Metrics admin page. 2026-06-03 15:55:21 +01:00
Nick Beckley
69fb21c5eb Timeline settings 2026-06-03 10:26:38 +01:00
Nick Beckley
8dd4d4d5a3 Importer Phase 1A 2026-06-01 20:47:20 +01:00
Nick Beckley
ca82bd973b Phase 1U 2026-06-01 19:44:12 +01:00
Nick Beckley
04a41e81b0 Phase 1T 2026-06-01 15:42:44 +01:00
Nick Beckley
480b557f81 Phase 1S 2026-06-01 14:49:23 +01:00
Nick Beckley
4c8f97d048 Phase 1R 2026-06-01 14:32:42 +01:00
Nick Beckley
624ec9a394 Phase 1Q 2026-06-01 14:05:39 +01:00
Nick Beckley
8f56934dd8 Phase 1P 2026-06-01 12:25:47 +01:00
Nick Beckley
30845f05cd Phase 1O 2026-06-01 11:39:35 +01:00
Nick Beckley
0496c4d242 Phase 1L 2026-06-01 09:23:44 +01:00
Nick Beckley
6e237b7287 Add project files. 2026-06-01 09:03:59 +01:00