Fixed The Relationship Map was rendering the avatar placeholder correctly, but the data feeding the map did not include avatar image paths because RelationshipMap_GetByProject only returns basic character fields.

I updated [CoreServices.cs](C:/Source/PlotLine/PlotLine/Services/CoreServices.cs) so RelationshipMapService enriches map nodes from the normal character list, which already includes AvatarImagePath / AvatarThumbnailPath. Maggie Grant’s node detail should now use her avatar image instead of falling back to MG.
Verification: separate-output build passed with 0 warnings and 0 errors.
No database changes were required.
This commit is contained in:
Nick Beckley 2026-06-23 21:05:45 +01:00
parent b5b353e80c
commit 43578df18a

View File

@ -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();