Feat/cinematic export polish#45
Merged
Vrun-design merged 9 commits intomainfrom Apr 11, 2026
Merged
Conversation
Icon enrichment: - Raise import threshold to 0.92; add isTrustedImportMatch gate for substring matches - Skip enrichment entirely for stateDiagram, sequence, classDiagram, erDiagram, journey - For flowchart: only enrich on specific technology proper nouns, not generic English words - No Lucide fallback in import mode — generic nodes get no icon rather than a random one - Add CNCF coverage: Istio, Cilium, Linkerd, Helm, ArgoCD, FluxCD, Dapr, Prometheus, Jaeger, OpenTelemetry, Grafana, Datadog, Sentry, Vault, Keycloak, etcd, Harbor, Falco - Add Azure coverage: Cosmos DB, Service Bus, Event Hubs, AKS, Functions, OpenAI, Monitor, Key Vault, Container Apps, API Management, Cognitive Services, DevOps, Front Door Layout: - Auto-select algorithm per graph topology: cyclic → force/stress, wide fan-out → mrtree, hierarchical → layered; removes hardcoded 'layered' from import path - ELK compound layout for groups (elk.hierarchyHandling: INCLUDE_CHILDREN) - Normalize ELK absolute→relative coords for children inside sections - Dynamic layer ordering for architecture diagrams from subgraph labels - Spacing by node count: ≤10 → loose, ≤25 → normal, >25 → compact - Stagger parallel edge labels across 0.3–0.7 range to prevent midpoint pile-up - Self-loop safety in applyElkHandles - Unified handleSideFromVector helper shared between elkLayout and smartEdgeRouting Parser: - Ampersand edge expansion: A & B --> C & D produces all source×target pairs - Subgraph end guard: pop only when parentStack is non-empty - context-aware arrow detection: skips arrows inside quotes, pipes, brackets - normalizeEdgeLabels: collapse extended arrows, inline-label forms Plugin quality: - stateDiagram: note syntax, [*] initial/final states, fork/join - sequence: fragment (alt/loop/opt/par) and note nodes rendered visually - journey: score-based color coding - classDiagram: generics <T>, visibility modifiers, cardinality - erDiagram: PK/FK/UK field type and constraint parsing - architecture: dynamic semantic layer order Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Normalize provider icon metadata (archIconPackId, archIconShapeId, assetProvider) across import, editing, bulk ops, templates, and connect menu suggestions - Shared IconPicker for all node types including icon-backed asset nodes - Update NodeProperties, BulkNodeProperties, ArchitectureNodeSection to use unified icon editing path - Fix edge path utilities and custom edge routing - Update ConnectMenu suggestions to use normalized provider icon data - nodeParent helpers, types, domainLibrary, templateFactories polish - mermaidBuilder and mermaidParser test coverage additions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- NVIDIA default: llama-4-scout → llama-4-maverick-17b-128e-instruct - Mistral default: mistral-medium-latest → mistral-large-latest - OpenRouter default: gemini-2.5-flash → gemini-2.5-pro - README: icon count 1,100+ → 1,600+ (actual SVG count) - README: mermaid types 7 → 8 (flowchart, architecture, stateDiagram, classDiagram, erDiagram, sequence, mindmap, journey) - README: cinematic export format WebM/MP4 (not MP4/GIF — GIF not yet surfaced as a user export option) - README: Groq/NVIDIA model IDs corrected - README: OpenRouter 100+ → 300+ models Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ELK does not cascade elk.direction from parent to child compound nodes — each compound node must set it explicitly or ELK falls back to its own default (DOWN), causing subgraphs to always render vertically regardless of the root graph direction setting. buildElkNode now accepts rootElkDirection and sets elk.direction on every compound node's layoutOptions. Subgraphs with internal edges inherit the root direction (DOWN for TB = sources on rank 1, targets on rank 2, side by side). Subgraphs with no internal edges (pure parallel siblings) still override to RIGHT. This fixes the main visual quality gap vs Mermaid.js — imported flowchart subgraphs now render wide and horizontal instead of stacking into tall vertical columns. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
No description provided.