From 43578df18a5dca7ba9579a45d566539aa33fbccc Mon Sep 17 00:00:00 2001 From: Nick Beckley Date: Tue, 23 Jun 2026 21:05:45 +0100 Subject: [PATCH] =?UTF-8?q?Fixed=20The=20Relationship=20Map=20was=20render?= =?UTF-8?q?ing=20the=20avatar=20placeholder=20correctly,=20but=20the=20dat?= =?UTF-8?q?a=20feeding=20the=20map=20did=20not=20include=20avatar=20image?= =?UTF-8?q?=20paths=20because=20RelationshipMap=5FGetByProject=20only=20re?= =?UTF-8?q?turns=20basic=20character=20fields.=20I=20updated=20[CoreServic?= =?UTF-8?q?es.cs](C:/Source/PlotLine/PlotLine/Services/CoreServices.cs)=20?= =?UTF-8?q?so=20RelationshipMapService=20enriches=20map=20nodes=20from=20t?= =?UTF-8?q?he=20normal=20character=20list,=20which=20already=20includes=20?= =?UTF-8?q?AvatarImagePath=20/=20AvatarThumbnailPath.=20Maggie=20Grant?= =?UTF-8?q?=E2=80=99s=20node=20detail=20should=20now=20use=20her=20avatar?= =?UTF-8?q?=20image=20instead=20of=20falling=20back=20to=20MG.=20Verificat?= =?UTF-8?q?ion:=20separate-output=20build=20passed=20with=200=20warnings?= =?UTF-8?q?=20and=200=20errors.=20No=20database=20changes=20were=20require?= =?UTF-8?q?d.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PlotLine/Services/CoreServices.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/PlotLine/Services/CoreServices.cs b/PlotLine/Services/CoreServices.cs index ffd4b41..44e77cc 100644 --- a/PlotLine/Services/CoreServices.cs +++ b/PlotLine/Services/CoreServices.cs @@ -5438,6 +5438,7 @@ public sealed class RelationshipMapService(IProjectRepository projects, ICharact } var data = await characters.GetRelationshipMapAsync(projectId); + var characterImageLookup = (await characters.ListCharactersAsync(projectId)).ToDictionary(x => x.CharacterID); var sceneOrder = BuildSceneOrder(data); var point = ResolveStoryPoint(data, sceneOrder, bookId, chapterId, sceneId); var eventsByRelationship = data.RelationshipEvents @@ -5478,10 +5479,10 @@ public sealed class RelationshipMapService(IProjectRepository projects, ICharact CharacterID = x.CharacterID, CharacterName = x.CharacterName, CharacterImportance = x.CharacterImportance, - AvatarImagePath = x.AvatarImagePath, - AvatarThumbnailPath = x.AvatarThumbnailPath, - ImagePath = x.ImagePath, - ThumbnailPath = x.ThumbnailPath, + AvatarImagePath = characterImageLookup.TryGetValue(x.CharacterID, out var characterImages) ? characterImages.AvatarImagePath : x.AvatarImagePath, + AvatarThumbnailPath = characterImages?.AvatarThumbnailPath ?? x.AvatarThumbnailPath, + ImagePath = characterImages?.ImagePath ?? x.ImagePath, + ThumbnailPath = characterImages?.ThumbnailPath ?? x.ThumbnailPath, IsFocus = x.CharacterID == focusCharacterId }) .ToList();