Repository navigation
Fix character groups and details; prepare Plotree 1.0.5 - #23
Merged
Merged
Conversation
Share tree and graph memberships, improve relationship and overlapping group selection, preserve positions, and add independent card character display. Constrain menus and defer graph rendering around pointer gestures and unload. Update bilingual user documentation and cover the behavior with regressions.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Character keyboard accessibility, localized detail formatting, and scalable group-label selection remain unresolved.
Review effort: Balanced
Findings: 3
Open (4)
What changed in this PR
Adds the character relationship graph, shared grouping, card character visibility, deferred rendering, and prepares Plotree 1.0.5.
Changes:
- Adds relationship editing, group visualization, avatars, selection, and graph interactions.
- Extends persistence, card/SVG appearance, localization, documentation, and tests.
- Updates release metadata and adds artifact-verification tooling.
| File | Description |
|---|---|
tests/Plotree.Tests/SvgExportServiceTests.cs |
Tests character visibility in SVG exports. |
tests/Plotree.Tests/ProjectSerializerTests.cs |
Tests v4 migration and relationships. |
tests/Plotree.Tests/MenuPlacementCalculatorTests.cs |
Tests constrained menu placement. |
tests/Plotree.Tests/MainPageViewModelTests.cs |
Tests relationships, groups, and movement history. |
tests/Plotree.Tests/DeferredGraphRendererTests.cs |
Tests render scheduling and lifecycle behavior. |
tests/Plotree.Tests/CharacterGroupIsolationTests.cs |
Tests independent group geometry. |
tests/Plotree.Tests/CharacterGraphTests.cs |
Tests graph membership, selection, and appearance. |
tests/Plotree.Tests/CharacterGraphInteractionTests.cs |
Tests hit geometry, layers, and group labels. |
src/Plotree/Views/NodeCard.xaml.cs |
Calculates card text and character visibility. |
src/Plotree/Views/NodeCard.xaml |
Displays assigned characters on cards. |
src/Plotree/Views/InAppFlyout.cs |
Constrains flyouts within the app. |
src/Plotree/Views/CharacterGraph.xaml.cs |
Implements character graph behavior. |
src/Plotree/Views/CharacterGraph.xaml |
Defines the character graph UI. |
src/Plotree/ViewModels/NodeViewModel.cs |
Exposes character card properties. |
src/Plotree/ViewModels/MainPageViewModel.cs |
Adds relationship, grouping, avatar, and appearance state. |
src/Plotree/Strings/ja-JP/Resources.resw |
Adds Japanese UI resources. |
src/Plotree/Strings/en-US/Resources.resw |
Adds English UI resources. |
src/Plotree/Services/SvgExportService.cs |
Exports card character names. |
src/Plotree/Services/ProjectSerializer.cs |
Adds v4 migration and relationship validation. |
src/Plotree/Services/NodeTextLayoutCalculator.cs |
Budgets character text space. |
src/Plotree/Services/MenuPlacementCalculator.cs |
Calculates bounded menu dimensions. |
src/Plotree/Services/DeferredGraphRenderer.cs |
Coalesces graph redraws. |
src/Plotree/Services/CharacterSummaryFormatter.cs |
Formats character summaries. |
src/Plotree/Services/CharacterGraphLayout.cs |
Calculates group regions and labels. |
src/Plotree/Services/CharacterGraphInteraction.cs |
Calculates graph hit geometry and layers. |
src/Plotree/Services/AppearanceResolver.cs |
Resolves character visibility settings. |
src/Plotree/Plotree.csproj |
Sets version 1.0.5 metadata. |
src/Plotree/Package.appxmanifest |
Updates package version. |
src/Plotree/Models/PlotProject.cs |
Persists relationships in format v4. |
src/Plotree/Models/NodeAppearance.cs |
Persists character visibility. |
src/Plotree/Models/CharacterRelationship.cs |
Defines relationship data. |
src/Plotree/Models/CharacterGroup.cs |
Adds group color and visibility. |
src/Plotree/Models/Character.cs |
Adds graph position, membership, and avatar data. |
src/Plotree/MainPage.xaml.cs |
Integrates graph navigation and shortcuts. |
src/Plotree/MainPage.xaml |
Adds graph navigation and appearance controls. |
site/content/user-manual-ja.md |
Documents features in Japanese. |
site/content/user-manual-en.md |
Documents features in English. |
RELEASE_NOTES.md |
Adds 1.0.5 release notes. |
README.md |
Updates English feature documentation. |
README.ja.md |
Updates Japanese feature documentation. |
.agents/skills/plotree-store-release/SKILL.md |
Defines the release workflow. |
.agents/skills/plotree-store-release/scripts/Test-ReleaseArtifacts.ps1 |
Verifies release artifacts. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Keep dense group labels selectable with a minimum width and overflow rows included in stable canvas bounds. Localize character details and clarify that grouping adds memberships. Support native keyboard and automation selection while preventing duplicate pointer activation. Add regressions for crowded/staggered labels, culture-independent resources, Enter/Space, pointer cleanup and preserving multiple group memberships.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Character groups and relationship selection were inconsistent between Plot and Character graph, and overlapping group backgrounds made selection difficult. This adds shared group membership, independently selectable backgrounds, visible relationship labels, and readable character details while preserving character positions. It also prepares app version 1.0.5.0.
Changes
plotree-store-releaseskill and a portable read-only artifact verifier. Plotree-specific preparation stays in this skill; generic packaging/build guidance resolves the existing WinUI skills by catalog name. User-local skills remain unchanged.Request coverage
Review follow-up
Validation
git diff --checkand source ownership checks.UIElementCollection.Clearfailure was not reproduced; scheduling/lifetime regressions pass, but this does not establish that the native failure is eliminated.Screenshots
No new screenshots were taken. The user is performing GUI debugging; visual/manual checks are listed above.
Checklist
en-USandja-JPresources.