Skip to content

WIP: Wardley Map Diagram Support - #1

Closed
ragelink wants to merge 1 commit into
developfrom
feature/wardley-map-diagram
Closed

ragelink wants to merge 1 commit into
developfrom
feature/wardley-map-diagram

Conversation

@ragelink

@ragelink ragelink commented Nov 22, 2025 •

Copy link
Copy Markdown
Owner

Wardley Map Diagram Implementation

Summary

Implementing Wardley mapping as a new diagram type for Mermaid, following the modern Langium-based pattern.

What's Included

  • Langium grammar definition for Wardley map DSL
  • Component positioning on evolution axis (Genesis → Commodity)
  • Visibility axis (Infrastructure → User-facing)
  • Component dependencies/edges support
  • Evolution tracking for each component
  • SVG rendering with evolution stage backgrounds
  • Unit tests for parser and database
  • Accessibility support (title, accTitle, accDescr)

Work In Progress

This is a draft PR. Still needs:

  • Fix title/accTitle/accDescr parsing
  • E2E/Cypress visual regression tests
  • User documentation in docs/
  • Examples
  • Make sure tests pass

How to Test

Implementation Details

  • Uses Langium for modern, maintainable grammar
  • Follows existing diagram type patterns (Pie, Packet, Architecture)
  • Integrates with Mermaid's rendering-util and common DB utilities
  • Proper TypeScript types and interfaces

This is a draft for early feedback and collaboration.

@ragelink
ragelink force-pushed the feature/wardley-map-diagram branch 2 times, most recently from 13754b0 to 527e79d Compare November 23, 2025 03:27
@ragelink ragelink added enhancement New feature or request help wanted Extra attention is needed labels Nov 25, 2025
Add a complete Wardley Map diagram type implementing the full Wardley
mapping standard. Supports anchors, market/ecosystem components,
pipelines, inertia indicators, build/buy/outsource sourcing, flow and
constraint edges, evolution with rename and visual arrows, notes,
annotations, PST area overlays, submaps, accelerators, and custom axis
labels.

- Langium grammar with 19 parser rules
- Modular renderer (6 modules: markers, background, components, edges, labels, orchestrator)
- Full theme integration across all 5 theme files (no fallbacks)
- Schema-driven config via WardleyDiagramConfig
- 90 tests (46 unit + 31 integration + 13 renderer)
- Comprehensive documentation and visual test page
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request help wanted Extra attention is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant