Skip to content

fixed cross-diagram linking and extend to class/sequence diagrams#242

Open
AAmbuj wants to merge 5 commits into
eclipse-score:mainfrom
AAmbuj:amsh_plantuml_linker_cross_diagram_linking
Open

fixed cross-diagram linking and extend to class/sequence diagrams#242
AAmbuj wants to merge 5 commits into
eclipse-score:mainfrom
AAmbuj:amsh_plantuml_linker_cross_diagram_linking

Conversation

@AAmbuj
Copy link
Copy Markdown
Contributor

@AAmbuj AAmbuj commented May 22, 2026

  • Fix class_serializer to prepend actual source filename to source_files vector, enabling the Sphinx extension to match links by .puml filename
  • Extend linker to parse class (CLSD) and sequence (SEQD) FlatBuffers, extracting entities and participants for cross-diagram linking
  • Register diagram names as virtual top-level aliases for title-based linking
  • Extend clickable_plantuml regex to accept hyphens/dots in element identifiers
  • Add linker README with architecture docs and usage instructions

@AAmbuj AAmbuj force-pushed the amsh_plantuml_linker_cross_diagram_linking branch 3 times, most recently from 4292339 to 9d8717a Compare May 29, 2026 05:05
AAmbuj added 5 commits May 29, 2026 11:01
- Add 'collections' to component_kind in PEG grammar
- Add Collections variant to ElementType enum and serializer mapping
- Add file_identifier "COMP" to component.fbs schema
- Write file identifier in component_serializer for type detection
Prepend the actual source .puml filename to the source_files vector
in ClassSerializer::serialize(), enabling the linker and Sphinx
extension to correlate class diagrams with their source file.
- Add class_fbs and sequence_fbs dependencies to linker BUILD
- Grant linker visibility to class_fbs and sequence_fbs libraries
- Detect diagram type via 4-byte file identifier (COMP/CLSD/SEQD)
- Add parse_class_diagram: extract entities, FQN IDs, relationships
- Add parse_sequence_diagram: extract unique participants recursively
- Register diagram names as virtual top-level aliases for title-based linking
- Register component FQN (id) as additional index keys
- Extract relation targets as linkable elements
- Deduplicate relation targets with HashSet
- Add _ALIAS_EXTENDED_RE to accept hyphens/dots in identifiers
  (e.g. pkg.Class, my-component)
- Add _ALIAS_QUOTED_RE for names with spaces (wrapped in quotes)
- Refactor _format_alias_part for safe alias formatting
- Strip leading/trailing whitespace before quoting aliases
- Add {_top} window target for correct navigation in embedded SVGs
@AAmbuj AAmbuj force-pushed the amsh_plantuml_linker_cross_diagram_linking branch from 9d8717a to 563c263 Compare May 29, 2026 05:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant