Selkie Evaluation Report

Summary

71
Diagrams Compared
27%
Parity
19
Matching
11
Errors
architecture Warning
selkie
API Database Storage Server Gateway
mermaid.js
DatabaseStorageServerGatewayAPI
Source
architecture-beta
    group api(cloud)[API]

    service db(database)[Database] in api
    service disk1(disk)[Storage] in api
    service server(server)[Server] in api
    service gateway(internet)[Gateway]

    db:L -- R:server
    disk1:T -- B:server
    gateway:R --> L:server
[INFO] dimensions: Width differs by 8%: expected 634, got 682
[INFO] dimensions: Height differs by 8%: expected 463, got 502
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=horizontal ref=horizontal (start diff=247px, end diff=209px) Edge 2: selkie=vertical ref=vertical (start diff=220px, end diff=209px) Edge 3: selkie=horizontal ref=horizontal (start diff=200px, end diff=209px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (197,-44) → (76,-44) Edge 2: (36,118) → (36,-4) Edge 3: (-155,-44) → (-4,-44) Selkie: Edge 1: (440,0) → (280,0) Edge 2: (240,200) → (240,40) Edge 3: (40,0) → (200,0)
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (1 issues): "Storage Storage" at y-offset 333px (79%) vs reference 294px (77%)
architecture_complex Warning
selkie
Edge Observability Platform Data jwt sql replicate Core Search Logs Gateway Web App Main DB Metrics API Auth Queue Cache
mermaid.js
jwtsqlreplicateGatewayWeb AppAPIAuthCoreCacheQueueMain DBSearchMetricsLogsEdgePlatformDataObservability
Source
architecture-beta
    title Complex Architecture

    group edge(cloud)[Edge]
    group platform(server)[Platform]
    group data(database)[Data]
    group observability(disk)[Observability] in platform

    service gateway(internet)[Gateway] in edge
    service web(internet)[Web App] in edge
    service api(server)[API] in edge
    service auth(server)[Auth] in edge

    service core(server)[Core] in platform
    service cache(disk)[Cache] in platform
    service queue(server)[Queue] in platform
    junction hub in platform

    service db(database)[Main DB] in data
    service search(disk)[Search] in data

    service metrics(disk)[Metrics] in observability
    service logs(disk)[Logs] in observability

    gateway:R --> L:web
    web:R --> L:api
    api:R -- L:auth
    api{group}:B -[jwt]- T:core{group}
    core:L -- R:queue
    core:R -- L:cache
    core:B -- T:hub
    hub:R -- L:metrics
    metrics:R -- L:logs
    core{group}:R -[sql]- L:db{group}
    db:B -- T:search
    cache{group}:B -[replicate]- R:db{group}
[INFO] dimensions: Width differs by 7%: expected 1354, got 1455
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=horizontal ref=horizontal (start diff=515px, end diff=554px) Edge 2: selkie=horizontal ref=horizontal (start diff=554px, end diff=594px) Edge 3: selkie=horizontal ref=horizontal (start diff=594px, end diff=633px) Edge 4: selkie=vertical ref=vertical (start diff=594px, end diff=599px) Edge 5: selkie=horizontal ref=horizontal (start diff=599px, end diff=560px) Edge 6: selkie=diagonal ref=diagonal (start diff=599px, end diff=470px) Edge 7: selkie=vertical ref=vertical (start diff=599px, end diff=594px) Edge 8: selkie=horizontal ref=horizontal (start diff=594px, end diff=637px) Edge 9: selkie=horizontal ref=horizontal (start diff=637px, end diff=676px) Edge 10: selkie=horizontal ref=horizontal (start diff=599px, end diff=623px) Edge 11: selkie=vertical ref=vertical (start diff=623px, end diff=618px) Edge 12: selkie=diagonal ref=diagonal (start diff=470px, end diff=623px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (-474,-208) → (-353,-208) Edge 2: (-273,-208) → (-153,-208) Edge 3: (-73,-208) → (48,-208) Edge 4: group-edge.bottom (offset 100px) → group-platform.top (offset -119px) Edge 5: (-153,88) → (-273,88) Edge 6: (-73,88) → (-268,284) Edge 7: (-113,128) → (-113,284) Edge 8: (-113,284) → (45,284) Edge 9: (125,284) → (245,284) Edge 10: (-29,88) → group-data.left (offset -106px) Edge 11: (594,128) → (594,244) Edge 12: (-228,386) → group-data.right (offset -106px) Selkie: Edge 1: (40,-240) → (200,-240) Edge 2: (280,-240) → (440,-240) Edge 3: (520,-240) → (680,-240) Edge 4: group-edge.bottom (offset 120px) → group-platform.top (offset -141px) Edge 5: (440,0) → (280,0) Edge 6: (520,0) → (200,240) Edge 7: (480,40) → (480,240) Edge 8: (480,240) → (680,240) Edge 9: (760,240) → (920,240) Edge 10: (564,0) → group-data.left (offset -128px) Edge 11: (1210,40) → (1210,200) Edge 12: (240,342) → group-data.right (offset -128px)
[WARN] element_spacing: SPACING ISSUES DETECTED (1 issues): Nodes "group-observability" and "group-platform" overlap by 405x182px
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (6 issues): "Observability Observ..." at y-offset 218px (47%) vs reference 173px (41%) "jwt jwt" at y-offset 182px (100%) vs reference 202px (111%) "Search Search" at y-offset 333px (79%) vs reference 288px (76%) "Logs Logs" at y-offset 93px (51%) vs reference 288px (69%) "Metrics Metrics" at y-offset 93px (51%) vs reference 288px (69%) "Cache Cache" at y-offset 333px (72%) vs reference 288px (69%)
block Warning
selkie
I am a wide one id1 Next row
mermaid.js
I am a wide one
id1
Next row
Source
block-beta
  columns 2
  block
    id2["I am a wide one"]
    id1
  end
  id["Next row"]
[WARN] dimensions: Width differs by 25%: expected 554, got 414
[WARN] dimensions: Height differs by 32%: expected 53, got 70
[WARN] stroke_width: Edge stroke-width differs: expected 1.0, got 2.0 (100% diff)
[WARN] element_spacing: SPACING ISSUES DETECTED (11 issues): Nodes "block-composite_1" and "block-id2" overlap by 122x44px Nodes "block-composite_1" and "(0,0)" overlap by 122x44px Nodes "block-composite_1" and "block-id1" overlap by 122x44px Nodes "block-composite_1" and "(0,0)" overlap by 122x44px Nodes "block-composite_1" and "(0,0)" overlap by 104x60px Nodes "block-id2" and "(0,0)" overlap by 114x36px Nodes "block-id2" and "(0,0)" overlap by 114x36px Nodes "block-id2" and "(0,0)" overlap by 96x44px Nodes "(0,0)" and "(0,0)" overlap by 122x44px Nodes "(0,0)" and "(0,0)" overlap by 104x44px Nodes "(0,0)" and "(0,0)" overlap by 104x44px
[WARN] colors: Color mismatch (29% match): Missing fill colors: ["currentcolor", "#333", "rgba(232,232,232,0.8)", "rgba(255,255,222,0.5)", "#552222"]; Extra fill colors: ["#ffffde"]
[WARN] aspect_ratio: Aspect ratio differs significantly: reference 10.45, selkie 5.91 (43% difference)
[WARN] composite_structure: Missing composite states: ["id-w3hwz1x9xf8-1"]
[INFO] composite_structure: Extra composite states in selkie: ["block-composite_1"]
block_complex Error
selkie
labeled Square Block Rounded Block Diamond Nested 1 Nested 2 Stadium G
mermaid.js
Square Block
Rounded Block
Diamond
Nested 1
Nested 2
Stadium
G
labeled
Source
block-beta
  columns 3
  A["Square Block"]
  B("Rounded Block")
  C{"Diamond"}

  block:container
    columns 2
    D["Nested 1"]
    E["Nested 2"]
  end
  space
  F(["Stadium"])

  G --> A
  B --> C
  D -- "labeled" --> E

  classDef blue fill:#66f,stroke:#333,stroke-width:2px;
  class A blue
  style B fill:#f9F,stroke:#333,stroke-width:4px
[INFO] dimensions: Width differs by 6%: expected 522, got 490
[WARN] dimensions: Height differs by 36%: expected 318, got 202
[WARN] stroke_width: Edge stroke-width differs: expected 1.0, got 1.4 (40% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=vertical ref=vertical (start diff=100px, end diff=108px) Edge 2: selkie=horizontal ref=horizontal (start diff=137px, end diff=144px) Edge 3: selkie=horizontal ref=point (start diff=187px, end diff=191px)
[ERROR] edge_attachment_sides: ATTACHMENT SIDE MISMATCHES (edges connect to wrong entity sides): Edge 1 start: leaves from top in selkie but right in reference Edge 1 end: attaches to bottom in selkie but right in reference
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: .right (offset 57px) → .right (offset -53px) Edge 2: (338,-105) → (377,-106) Edge 3: (79,-81) → (83,-81) Selkie: Edge 1: block-G.top (offset 14px) → block-A.bottom (offset -14px) Edge 2: block-B.right (centered) → block-B.right (centered) Edge 3: block-D.right (centered) → block-E.left (centered)
[WARN] edge_attachment_pattern: Edge attachment pattern differs: reference is mostly sides, selkie is mostly top/bottom
[WARN] element_spacing: SPACING ISSUES DETECTED (23 issues): Nodes "block-A" and "(0,0)" overlap by 136x52px Nodes "block-A" and "(0,0)" overlap by 136x52px Nodes "block-A" and "(0,0)" overlap by 106x44px Nodes "block-A" and "(0,0)" overlap by 106x44px Nodes "block-A" and "(0,0)" overlap by 96x52px Nodes "block-A" and "(0,0)" overlap by 80x40px Nodes "(0,0)" and "(0,0)" overlap by 136x52px Nodes "(0,0)" and "(0,0)" overlap by 106x44px Nodes "(0,0)" and "(0,0)" overlap by 106x44px Nodes "(0,0)" and "(0,0)" overlap by 96x52px Nodes "(0,0)" and "(0,0)" overlap by 80x40px Nodes "(0,0)" and "(0,0)" overlap by 106x44px Nodes "(0,0)" and "(0,0)" overlap by 106x44px Nodes "(0,0)" and "(0,0)" overlap by 96x52px Nodes "(0,0)" and "(0,0)" overlap by 80x40px Nodes "block-container" and "block-D" overlap by 106x44px Nodes "block-container" and "block-E" overlap by 106x44px Nodes "(0,0)" and "(0,0)" overlap by 106x44px Nodes "(0,0)" and "(0,0)" overlap by 96x44px Nodes "(0,0)" and "(0,0)" overlap by 80x40px Nodes "(0,0)" and "(0,0)" overlap by 96x44px Nodes "(0,0)" and "(0,0)" overlap by 80x40px Nodes "(0,0)" and "(0,0)" overlap by 80x40px
[WARN] colors: Color mismatch (44% match): Missing fill colors: ["rgba(255,255,222,0.5)", "currentcolor", "rgba(232,232,232,0.8)", "#333", "#552222"]; Extra fill colors: ["#ffffde"]
[WARN] aspect_ratio: Aspect ratio differs significantly: reference 1.64, selkie 2.43 (48% difference)
[INFO] row_distribution: Node row distribution differs: reference has 2 rows (~3.0 nodes/row), selkie has 3 rows (~4.3 nodes/row)
[WARN] composite_structure: Missing composite states: ["container"]
[INFO] composite_structure: Extra composite states in selkie: ["block-container"]
c4 Warning
selkie
System Context diagram for Internet Banking System BankBoundary [ENTERPRISE] <<external_system>> E-mail System External e-mail system <<person>> Banking Customer A customer of the bank <<system>> Internet Banking System Allows customers to view accounts Uses Sends e-mails [SMTP]
mermaid.js
<<external_system>>E-mail SystemExternal e-mail system<<person>>Banking CustomerA customer of the bank<<system>>Internet Banking SystemAllows customers to view accountsBankBoundary[ENTERPRISE]UsesSends e-mails[SMTP]System Context diagram for Internet Banking System
Source
C4Context
title System Context diagram for Internet Banking System

Enterprise_Boundary(b0, "BankBoundary") {
    Person(customer, "Banking Customer", "A customer of the bank")
    System(banking, "Internet Banking System", "Allows customers to view accounts")
}

System_Ext(email, "E-mail System", "External e-mail system")

Rel(customer, banking, "Uses")
Rel(banking, email, "Sends e-mails", "SMTP")
[WARN] dimensions: Width differs by 29%: expected 952, got 672
[WARN] shapes: path count differs: expected 9, got 3 (67% diff)
[WARN] edge_count: Edge count differs: expected 0, got 1
[INFO] edge_details: EDGE ATTACHMENTS: Reference: (none) Selkie: Edge 1: (409,536) → (193,169)
[INFO] markers: Marker count differs: expected 4, got 2
[INFO] colors: Color differences (60% match): Missing fill colors: ["#333", "#552222", "#ececff", "black"]; Extra fill colors: ["#666666"]
c4_complex Error
selkie
Container diagram for Internet Banking System Internet Banking [CONTAINER] <<external_system>> E-Mail System The internal Microsoft Exchange system <<person>> Customer A customer of the bank, with personal bank accounts <<container>> Single-Page App [JavaScript, Angular] Provides all the Internet banking functionality <<container>> API Application [Java, Spring MVC] Provides banking functionality via JSON/HTTPS API <<container_db>> Database [Oracle] Stores user data, accounts, transactions <<container_queue>> Message Broker [RabbitMQ] Handles async messaging Uses [HTTPS] Makes API calls to [JSON/HTTPS] Reads from and writes to [JDBC] Sends messages to Sends e-mails to
mermaid.js
<<external_system>>E-Mail SystemThe internal Microsoft Exchange system<<person>>CustomerA customer of the bank, with personal bank accounts<<container>>Single-Page App[JavaScript, Angular]Provides all the Internet banking functionality<<container>>API Application[Java, Spring MVC]Provides banking functionality via JSON/HTTPS API<<container_db>>Database[Oracle]Stores user data, accounts, transactions<<container_queue>>Message Broker[RabbitMQ]Handles async messagingInternet Banking[CONTAINER]Uses[HTTPS]Makes API calls to[JSON/HTTPS]Reads from and writes to[JDBC]Sends messages toSends e-mails toContainer diagram for Internet Banking System
Source
C4Container
title Container diagram for Internet Banking System

System_Ext(email_system, "E-Mail System", "The internal Microsoft Exchange system")
Person(customer, "Customer", "A customer of the bank, with personal bank accounts")

Container_Boundary(c1, "Internet Banking") {
    Container(spa, "Single-Page App", "JavaScript, Angular", "Provides all the Internet banking functionality")
    Container(api, "API Application", "Java, Spring MVC", "Provides banking functionality via JSON/HTTPS API")
    ContainerDb(db, "Database", "Oracle", "Stores user data, accounts, transactions")
    ContainerQueue(queue, "Message Broker", "RabbitMQ", "Handles async messaging")
}

Rel(customer, spa, "Uses", "HTTPS")
Rel(spa, api, "Makes API calls to", "JSON/HTTPS")
Rel(api, db, "Reads from and writes to", "JDBC")
Rel(api, queue, "Sends messages to")
Rel(email_system, customer, "Sends e-mails to")
[INFO] dimensions: Height differs by 19%: expected 1427, got 1163
[WARN] shapes: path count differs: expected 16, got 10 (38% diff)
[WARN] edge_count: Edge count differs: expected 0, got 4
[INFO] edge_details: EDGE ATTACHMENTS: Reference: (none) Selkie: Edge 1: (710,536) → (710,586) Edge 2: (710,705) → (710,755) Edge 3: (710,705) → (710,924) Edge 4: (266,119) → (316,124)
[INFO] markers: Marker count differs: expected 4, got 2
[INFO] colors: Color differences (60% match): Missing fill colors: ["#552222", "black", "#ececff", "#333"]; Extra fill colors: ["#666666"]
[ERROR] aspect_ratio: Diagram orientation differs: reference is portrait (986x1427, ratio 0.69), selkie is square (938x1163, ratio 0.81)
class Warning
selkie
1 many has Duck +String beakColor +swim() +quack() Egg Animal +int age +String gender +isMammal() +mate() Fish -int sizeInFeet -canEat() Zebra +bool is_wild +run()
mermaid.js

has

1
many

Animal

+int age

+String gender

+isMammal()

+mate()

Duck

+String beakColor

+swim()

+quack()

Fish

-int sizeInFeet

-canEat()

Zebra

+bool is_wild

+run()

Egg

Source
classDiagram
    Animal <|-- Duck
    Animal <|-- Fish
    Animal <|-- Zebra
    Animal : +int age
    Animal : +String gender
    Animal: +isMammal()
    Animal: +mate()
    class Duck{
        +String beakColor
        +swim()
        +quack()
    }
    class Fish{
        -int sizeInFeet
        -canEat()
    }
    class Zebra{
        +bool is_wild
        +run()
    }
    Duck "1" *-- "many" Egg : has
[INFO] dimensions: Height differs by 9%: expected 584, got 636
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=diagonal ref=diagonal (start diff=68px, end diff=23px) Edge 2: selkie=vertical ref=vertical (start diff=27px, end diff=24px) Edge 3: selkie=diagonal ref=diagonal (start diff=66px, end diff=36px) Edge 4: selkie=vertical ref=vertical (start diff=9px, end diff=49px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (206,158) → (92,250) Edge 2: (298,217) → (298,262) Edge 3: (390,162) → (489,262) Edge 4: (92,435) → (92,492) Selkie: Edge 1: (234,96) → (85,272) Edge 2: (308,192) → (308,284) Edge 3: (383,96) → (517,284) Edge 4: (85,440) → (85,540)
[WARN] colors: Color mismatch (25% match): Missing fill colors: ["transparent", "#333", "#552222", "#9370db", "#131300", "currentcolor"]; Extra fill colors: ["#ffffcc", "#666666", "#ffffff", "#ffffde", "rgba(232,232,232,0.8)"]
class_complex Warning
selkie
«interface» Middleware +process(req, next) : Response UserService -repository: UserRepository -cache: Cache +findById(id) : User +save(user) : User +delete(id) : void Route +path: string +method: HttpMethod +handler: Handler Router -routes: Route[] -middleware: Middleware[] +addRoute(route) +use(middleware) +handle(request) : Response Application -config: Config -logger: Logger +start() +stop() +getStatus() : Status Logger -level: LogLevel -outputs: Output[] +debug(msg) +info(msg) +warn(msg) +error(msg) RateLimitMiddleware -limit: int -window: Duration +process(req, next) : Response Config -settings: Map +get(key) : any +set(key, value) +load(path) «interface» Handler +handle(request) : Response AuthMiddleware -tokenService: TokenService +process(req, next) : Response UserController -userService: UserService +getUser(id) : User +createUser(data) : User +updateUser(id, data) : User +deleteUser(id) : void «interface» UserRepository +find(id) : User +save(user) : User +delete(id) : void
mermaid.js

Application

-config: Config

-logger: Logger

+start()

+stop()

+getStatus() : Status

Config

-settings: Map

+get(key) : any

+set(key, value)

+load(path)

Logger

-level: LogLevel

-outputs: Output[]

+debug(msg)

+info(msg)

+warn(msg)

+error(msg)

Router

-routes: Route[]

-middleware: Middleware[]

+addRoute(route)

+use(middleware)

+handle(request) : Response

Route

+path: string

+method: HttpMethod

+handler: Handler

«interface»

Middleware

+process(req, next) : Response

AuthMiddleware

-tokenService: TokenService

+process(req, next) : Response

RateLimitMiddleware

-limit: int

-window: Duration

+process(req, next) : Response

«interface»

Handler

+handle(request) : Response

UserController

-userService: UserService

+getUser(id) : User

+createUser(data) : User

+updateUser(id, data) : User

+deleteUser(id) : void

UserService

-repository: UserRepository

-cache: Cache

+findById(id) : User

+save(user) : User

+delete(id) : void

«interface»

UserRepository

+find(id) : User

+save(user) : User

+delete(id) : void

Source
classDiagram
    class Application {
        -config: Config
        -logger: Logger
        +start()
        +stop()
        +getStatus() Status
    }

    class Config {
        -settings: Map
        +get(key) any
        +set(key, value)
        +load(path)
    }

    class Logger {
        -level: LogLevel
        -outputs: Output[]
        +debug(msg)
        +info(msg)
        +warn(msg)
        +error(msg)
    }

    class Router {
        -routes: Route[]
        -middleware: Middleware[]
        +addRoute(route)
        +use(middleware)
        +handle(request) Response
    }

    class Route {
        +path: string
        +method: HttpMethod
        +handler: Handler
    }

    class Middleware {
        <<interface>>
        +process(req, next) Response
    }

    class AuthMiddleware {
        -tokenService: TokenService
        +process(req, next) Response
    }

    class RateLimitMiddleware {
        -limit: int
        -window: Duration
        +process(req, next) Response
    }

    class Handler {
        <<interface>>
        +handle(request) Response
    }

    class UserController {
        -userService: UserService
        +getUser(id) User
        +createUser(data) User
        +updateUser(id, data) User
        +deleteUser(id) void
    }

    class UserService {
        -repository: UserRepository
        -cache: Cache
        +findById(id) User
        +save(user) User
        +delete(id) void
    }

    class UserRepository {
        <<interface>>
        +find(id) User
        +save(user) User
        +delete(id) void
    }

    Application --> Config
    Application --> Logger
    Application --> Router
    Router --> Route
    Router --> Middleware
    AuthMiddleware ..|> Middleware
    RateLimitMiddleware ..|> Middleware
    Route --> Handler
    UserController ..|> Handler
    UserController --> UserService
    UserService --> UserRepository
[INFO] dimensions: Width differs by 6%: expected 1441, got 1351
[INFO] dimensions: Height differs by 7%: expected 1302, got 1396
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=diagonal ref=diagonal (start diff=88px, end diff=29px) Edge 2: selkie=diagonal ref=diagonal (start diff=92px, end diff=28px) Edge 3: selkie=diagonal ref=diagonal (start diff=46px, end diff=28px) Edge 4: selkie=point ref=vertical (start diff=25px, end diff=58px) Edge 5: selkie=diagonal ref=diagonal (start diff=107px, end diff=135px) Edge 6: selkie=vertical ref=vertical (start diff=24px, end diff=75px) Edge 7: selkie=diagonal ref=diagonal (start diff=56px, end diff=117px) Edge 8: selkie=point ref=vertical (start diff=52px, end diff=94px) Edge 9: selkie=diagonal ref=diagonal (start diff=13px, end diff=147px) Edge 10: selkie=vertical ref=vertical (start diff=64px, end diff=95px) Edge 11: selkie=vertical ref=vertical (start diff=90px, end diff=123px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (109,224) → (89,292) Edge 2: (289,224) → (310,268) Edge 3: (306,154) → (577,280) Edge 4: (569,502) → (567,582) Edge 5: (687,502) → (799,593) Edge 6: (906,466) → (906,580) Edge 7: (1271,478) → (1066,614) Edge 8: (567,756) → (571,857) Edge 9: (1100,726) → (727,875) Edge 10: (1250,780) → (1252,824) Edge 11: (1252,1046) → (1252,1090) Selkie: Edge 1: (197,216) → (82,320) Edge 2: (197,216) → (312,296) Edge 3: (296,108) → (582,308) Edge 4: (582,524) → (572,640) Edge 5: (582,524) → (763,724) Edge 6: (895,488) → (895,654) Edge 7: (1219,500) → (1027,724) Edge 8: (572,808) → (582,950) Edge 9: (1087,724) → (703,1020) Edge 10: (1212,832) → (1216,912) Edge 11: (1216,1128) → (1216,1208)
[WARN] colors: Color mismatch (25% match): Missing fill colors: ["#552222", "#131300", "transparent", "#9370db", "currentcolor", "#333"]; Extra fill colors: ["rgba(232,232,232,0.8)", "#666666", "#ffffcc", "#ffffff", "#ffffde"]
er Error
selkie
places contains includes CUSTOMER string name string email PK string address LINE-ITEM ORDER int orderNumber PK date orderDate string status PRODUCT int id PK string name float price
mermaid.js

places

contains

includes

CUSTOMER

string

name

string

email

PK

string

address

ORDER

int

orderNumber

PK

date

orderDate

string

status

LINE-ITEM

PRODUCT

int

id

PK

string

name

float

price

Source
erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ LINE-ITEM : contains
    PRODUCT ||--o{ LINE-ITEM : includes
    CUSTOMER {
        string name
        string email PK
        string address
    }
    ORDER {
        int orderNumber PK
        date orderDate
        string status
    }
    PRODUCT {
        int id PK
        string name
        float price
    }
[INFO] dimensions: Height differs by 11%: expected 644, got 713
[WARN] shapes: rect count differs: expected 1, got 16 (1500% diff)
[WARN] shapes: path count differs: expected 35, got 11 (69% diff)
[WARN] shapes: line count differs: expected 0, got 9 (100% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=vertical ref=vertical (start diff=17px, end diff=15px) Edge 2: selkie=diagonal ref=diagonal (start diff=20px, end diff=65px) Edge 3: selkie=diagonal ref=diagonal (start diff=91px, end diff=47px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: entity-CUSTOMER-0.bottom (centered) → entity-ORDER-1.top (centered) Edge 2: entity-ORDER-1.bottom (centered) → entity-LINE-ITEM-2.left (offset -30px) Edge 3: entity-PRODUCT-3.bottom (centered) → entity-LINE-ITEM-2.right (offset -30px) Selkie: Edge 1: .bottom (centered) → .top (centered) Edge 2: .bottom (centered) → .left (centered) Edge 3: .bottom (centered) → .right (centered)
[WARN] colors: Color mismatch (40% match): Missing fill colors: ["none", "hsl(240,100%,97.2745098039%)", "hsl(240,100%,100%)", "#333", "hsl(80,100%,96.2745098039%)", "#552222"]; Extra fill colors: ["#ffffde", "#ffffff", "rgba(232,232,232,0.8)"]
[ERROR] aspect_ratio: Diagram orientation differs: reference is square (556x644, ratio 0.86), selkie is portrait (556x712, ratio 0.78)
[INFO] row_distribution: Node row distribution differs: reference has 4 rows (~1.2 nodes/row), selkie has 3 rows (~1.3 nodes/row)
er_complex Error
selkie
places contains references belongs_to contains has ships_to paid_by ADDRESS uuid id PK uuid customer_id FK string type string street string city string state string zip string country CATEGORY uuid id PK string name UK uuid parent_id FK int sort_order CUSTOMER uuid id PK string email UK string name string phone date created_at boolean active ORDER uuid id PK uuid customer_id FK decimal total string status date ordered_at date shipped_at ORDER_ITEM uuid id PK uuid order_id FK uuid product_id FK int quantity decimal price PAYMENT uuid id PK uuid order_id FK string method decimal amount string status date processed_at PRODUCT uuid id PK string sku UK string name text description decimal price int stock boolean available PRODUCT_CATEGORY uuid product_id PK,FK uuid category_id PK,FK
mermaid.js

places

contains

references

belongs_to

contains

has

ships_to

paid_by

CUSTOMER

uuid

id

PK

string

email

UK

string

name

string

phone

date

created_at

boolean

active

ORDER

uuid

id

PK

uuid

customer_id

FK

decimal

total

string

status

date

ordered_at

date

shipped_at

ORDER_ITEM

uuid

id

PK

uuid

order_id

FK

uuid

product_id

FK

int

quantity

decimal

price

PRODUCT

uuid

id

PK

string

sku

UK

string

name

text

description

decimal

price

int

stock

boolean

available

PRODUCT_CATEGORY

uuid

product_id

PK,FK

uuid

category_id

PK,FK

CATEGORY

uuid

id

PK

string

name

UK

uuid

parent_id

FK

int

sort_order

ADDRESS

uuid

id

PK

uuid

customer_id

FK

string

type

string

street

string

city

string

state

string

zip

string

country

PAYMENT

uuid

id

PK

uuid

order_id

FK

string

method

decimal

amount

string

status

date

processed_at

Source
erDiagram
    CUSTOMER ||--o{ ORDER : places
    CUSTOMER {
        uuid id PK
        string email UK
        string name
        string phone
        date created_at
        boolean active
    }

    ORDER ||--|{ ORDER_ITEM : contains
    ORDER {
        uuid id PK
        uuid customer_id FK
        decimal total
        string status
        date ordered_at
        date shipped_at
    }

    ORDER_ITEM }|--|| PRODUCT : references
    ORDER_ITEM {
        uuid id PK
        uuid order_id FK
        uuid product_id FK
        int quantity
        decimal price
    }

    PRODUCT ||--o{ PRODUCT_CATEGORY : belongs_to
    PRODUCT {
        uuid id PK
        string sku UK
        string name
        text description
        decimal price
        int stock
        boolean available
    }

    CATEGORY ||--o{ PRODUCT_CATEGORY : contains
    CATEGORY {
        uuid id PK
        string name UK
        uuid parent_id FK
        int sort_order
    }

    PRODUCT_CATEGORY {
        uuid product_id PK,FK
        uuid category_id PK,FK
    }

    CUSTOMER ||--o{ ADDRESS : has
    ADDRESS {
        uuid id PK
        uuid customer_id FK
        string type
        string street
        string city
        string state
        string zip
        string country
    }

    ORDER ||--|| ADDRESS : ships_to
    ORDER ||--o| PAYMENT : paid_by
    PAYMENT {
        uuid id PK
        uuid order_id FK
        string method
        decimal amount
        string status
        date processed_at
    }
[INFO] dimensions: Width differs by 8%: expected 991, got 912
[INFO] dimensions: Height differs by 6%: expected 1874, got 1994
[WARN] shapes: rect count differs: expected 0, got 60 (100% diff)
[WARN] shapes: path count differs: expected 100, got 16 (84% diff)
[WARN] shapes: line count differs: expected 0, got 24 (100% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=diagonal ref=diagonal (start diff=217px, end diff=400px) Edge 2: selkie=diagonal ref=diagonal (start diff=383px, end diff=167px) Edge 3: selkie=vertical ref=vertical (start diff=22px, end diff=14px) Edge 4: selkie=diagonal ref=diagonal (start diff=26px, end diff=170px) Edge 5: selkie=diagonal ref=diagonal (start diff=87px, end diff=153px) Edge 6: selkie=vertical ref=vertical (start diff=32px, end diff=31px) Edge 7: selkie=diagonal ref=diagonal (start diff=367px, end diff=359px) Edge 8: selkie=diagonal ref=diagonal (start diff=533px, end diff=321px)
[ERROR] edge_attachment_sides: ATTACHMENT SIDE MISMATCHES (edges connect to wrong entity sides): Edge 1 start: leaves from bottom in selkie but right in reference Edge 1 end: attaches to right in selkie but top in reference Edge 2 start: leaves from bottom in selkie but left in reference Edge 2 end: attaches to right in selkie but top in reference Edge 4 end: attaches to left in selkie but top in reference Edge 5 end: attaches to right in selkie but top in reference Edge 6 start: leaves from bottom in selkie but left in reference Edge 6 end: attaches to top in selkie but left in reference Edge 8 end: attaches to left in selkie but top in reference
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: entity-CUSTOMER-0.right (offset 76px) → entity-ORDER-1.top (centered) Edge 2: entity-ORDER-1.left (offset 36px) → entity-ORDER_ITEM-2.top (centered) Edge 3: entity-ORDER_ITEM-2.bottom (centered) → entity-PRODUCT-3.top (centered) Edge 4: entity-PRODUCT-3.bottom (centered) → entity-PRODUCT_CATEGORY-4.top (offset -101px) Edge 5: entity-CATEGORY-5.bottom (centered) → entity-PRODUCT_CATEGORY-4.top (offset 101px) Edge 6: entity-CUSTOMER-0.left (offset 144px) → entity-ADDRESS-6.left (offset -169px) Edge 7: entity-ORDER-1.bottom (offset -113px) → entity-ADDRESS-6.right (offset -178px) Edge 8: entity-ORDER-1.bottom (offset 52px) → entity-PAYMENT-7.top (centered) Selkie: Edge 1: .bottom (centered) → .right (centered) Edge 2: .bottom (centered) → .right (centered) Edge 3: .bottom (centered) → .top (centered) Edge 4: .bottom (centered) → .left (centered) Edge 5: .bottom (centered) → .right (centered) Edge 6: .bottom (centered) → .top (centered) Edge 7: .bottom (centered) → .left (centered) Edge 8: .bottom (centered) → .left (centered)
[WARN] colors: Color mismatch (40% match): Missing fill colors: ["#333", "hsl(80,100%,96.2745098039%)", "hsl(240,100%,97.2745098039%)", "none", "#552222", "hsl(240,100%,100%)"]; Extra fill colors: ["#ffffde", "#ffffff", "rgba(232,232,232,0.8)"]
flowchart_complex Error
selkie
Frontend Layer API Gateway Microservices Data Layer Valid Invalid Cache Hit Cache Miss Authentication CLI Tool Redis Cache PostgreSQL Email Worker Mobile App Notification Service Order Service Payment Service Message Queue Rate Limiter Reject Request Return Response SMS Worker Elasticsearch Web Interface User Service
mermaid.js

Data Layer

Microservices

API Gateway

Frontend Layer

Valid

Invalid

Cache Hit

Cache Miss

Web Interface

Mobile App

CLI Tool

Authentication

Rate Limiter

Redis Cache

User Service

Order Service

Payment Service

Notification Service

PostgreSQL

Elasticsearch

Message Queue

Reject Request

Return Response

Email Worker

SMS Worker

Source
flowchart TB
    subgraph Frontend["Frontend Layer"]
        UI[Web Interface]
        Mobile[Mobile App]
        CLI[CLI Tool]
    end

    subgraph API["API Gateway"]
        Auth{Authentication}
        Rate[Rate Limiter]
        Cache[(Redis Cache)]
    end

    subgraph Services["Microservices"]
        UserSvc[User Service]
        OrderSvc[Order Service]
        PaymentSvc[Payment Service]
        NotifySvc[Notification Service]
    end

    subgraph Data["Data Layer"]
        DB[(PostgreSQL)]
        Search[(Elasticsearch)]
        Queue[(Message Queue)]
    end

    UI --> Auth
    Mobile --> Auth
    CLI --> Auth
    Auth -->|Valid| Rate
    Auth -->|Invalid| Reject[Reject Request]
    Rate --> Cache
    Cache -->|Cache Hit| Response[Return Response]
    Cache -->|Cache Miss| UserSvc

    UserSvc --> DB
    UserSvc --> Search
    OrderSvc --> DB
    OrderSvc --> Queue
    PaymentSvc --> DB
    PaymentSvc --> NotifySvc
    NotifySvc --> Queue

    Queue --> EmailWorker[Email Worker]
    Queue --> SMSWorker[SMS Worker]
[INFO] dimensions: Width differs by 7%: expected 1274, got 1361
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=diagonal ref=diagonal (start diff=195px, end diff=515px) Edge 2: selkie=diagonal ref=vertical (start diff=587px, end diff=608px) Edge 3: selkie=diagonal ref=diagonal (start diff=932px, end diff=735px) Edge 4: selkie=diagonal ref=diagonal (start diff=635px, end diff=657px) Edge 5: selkie=diagonal ref=diagonal (start diff=615px, end diff=539px) Edge 6: selkie=vertical ref=vertical (start diff=657px, end diff=657px) Edge 7: selkie=diagonal ref=diagonal (start diff=740px, end diff=800px) Edge 8: selkie=diagonal ref=diagonal (start diff=544px, end diff=60px) Edge 9: selkie=diagonal ref=diagonal (start diff=91px, end diff=282px) Edge 10: selkie=vertical ref=vertical (start diff=59px, end diff=52px) Edge 11: selkie=diagonal ref=diagonal (start diff=757px, end diff=467px) Edge 12: selkie=diagonal ref=diagonal (start diff=862px, end diff=915px) Edge 13: selkie=diagonal ref=diagonal (start diff=501px, end diff=364px) Edge 14: selkie=diagonal ref=diagonal (start diff=717px, end diff=843px) Edge 15: selkie=diagonal ref=diagonal (start diff=843px, end diff=905px) Edge 16: selkie=diagonal ref=diagonal (start diff=797px, end diff=298px) Edge 17: selkie=diagonal ref=diagonal (start diff=1023px, end diff=1083px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (797,87) → (941,238) Edge 2: (997,87) → (997,183) Edge 3: (1174,87) → (1050,235) Edge 4: (1036,308) → (1110,417) Edge 5: (948,299) → (705,420) Edge 6: (1110,475) → (1110,546) Edge 7: (1141,620) → (1162,718) Edge 8: (1060,605) → (607,718) Edge 9: (625,776) → (517,895) Edge 10: (602,776) → (604,873) Edge 11: (392,776) → (431,878) Edge 12: (365,776) → (281,897) Edge 13: (380,613) → (479,875) Edge 14: (228,613) → (144,718) Edge 15: (144,776) → (169,876) Edge 16: (278,927) → (504,1023) Edge 17: (172,948) → (144,1023) Selkie: Edge 1: (602,78) → (425,240) Edge 2: (410,78) → (389,204) Edge 3: (241,78) → (315,225) Edge 4: (402,326) → (454,435) Edge 5: (334,336) → (166,438) Edge 6: (454,488) → (454,563) Edge 7: (401,631) → (362,726) Edge 8: (516,631) → (666,726) Edge 9: (716,779) → (799,879) Edge 10: (661,779) → (656,879) Edge 11: (1148,767) → (898,879) Edge 12: (1227,779) → (1196,879) Edge 13: (880,624) → (843,879) Edge 14: (946,624) → (986,726) Edge 15: (986,779) → (1074,886) Edge 16: (1074,927) → (802,1023) Edge 17: (1196,948) → (1227,1023)
[INFO] colors: Color differences (50% match): Missing fill colors: ["#333", "currentcolor", "#552222", "#000"]
[ERROR] aspect_ratio: Diagram orientation differs: reference is square (1274x1088, ratio 1.17), selkie is landscape (1361x1111, ratio 1.22)
gantt Match
selkie
2024-01-01 2024-01-03 2024-01-05 2024-01-07 2024-01-09 2024-01-11 2024-01-13 2024-01-15 2024-01-17 2024-01-19 2024-01-21 2024-01-23 2024-01-25 2024-01-27 2024-01-29 2024-01-31 Requirements Design Backend Frontend API Integration Unit Tests QA Planning Development Testing Project Timeline
mermaid.js
2024-01-012024-01-032024-01-052024-01-072024-01-092024-01-112024-01-132024-01-152024-01-172024-01-192024-01-212024-01-232024-01-252024-01-272024-01-292024-01-31Requirements Design Backend Frontend Unit Tests API Integration QA PlanningDevelopmentTestingProject Timeline
Source
gantt
    title Project Timeline
    dateFormat YYYY-MM-DD
    section Planning
    Requirements :a1, 2024-01-01, 7d
    Design      :a2, after a1, 5d
    section Development
    Backend     :crit, b1, after a2, 10d
    Frontend    :b2, after a2, 8d
    API Integration :b3, after b1, 3d
    section Testing
    Unit Tests  :c1, after b2, 3d
    QA          :c2, after b3, 5d
[INFO] colors: Color differences (67% match): Missing fill colors: ["#003163", "white", "#552222", "#eeeeee", "#333"]; Extra fill colors: ["#ffffff", "rgba(232,232,232,0.8)", "#ffffde", "#ececff", "#000000"]
gantt_complex Match
selkie
2024-01-01 2024-02-01 2024-03-01 2024-04-01 2024-05-01 2024-06-01 Market Analysis User Interviews Competitor Review Wireframes Visual Design Prototype User Testing Backend API Frontend MVP Integration Performance Tuning Unit Tests Integration Tests UAT Bug Fixes Beta Release Marketing Prep Public Launch Post-Launch Support Q2 Start Research Design Development Testing Launch Markers Product Launch Timeline
mermaid.js
2024-01-012024-02-012024-03-012024-04-012024-05-012024-06-01Market Analysis User Interviews Competitor Review Wireframes Visual Design Backend API Prototype Frontend MVP User Testing Integration Marketing Prep Performance Tuning Unit Tests Integration Tests UAT Bug Fixes Beta Release Public Launch Post-Launch Support Q2 Start ResearchDesignDevelopmentTestingLaunchMarkersProduct Launch Timeline
Source
gantt
    title Product Launch Timeline
    dateFormat YYYY-MM-DD
    todayMarker off

    section Research
    Market Analysis      :done, research1, 2024-01-01, 14d
    User Interviews      :done, research2, 2024-01-08, 21d
    Competitor Review    :done, research3, after research1, 10d

    section Design
    Wireframes           :done, design1, after research2, 14d
    Visual Design        :done, design2, after design1, 21d
    Prototype            :active, design3, after design2, 14d
    User Testing         :design4, after design3, 10d

    section Development
    Backend API          :dev1, after design1, 42d
    Frontend MVP         :dev2, after design2, 35d
    Integration          :dev3, after dev1, 14d
    Performance Tuning   :dev4, after dev3, 7d

    section Testing
    Unit Tests           :test1, after dev2, 14d
    Integration Tests    :test2, after dev3, 10d
    UAT                  :test3, after test2, 14d
    Bug Fixes            :done, crit, test4, after test3, 7d

    section Launch
    Beta Release         :milestone, launch1, after test3, 1d
    Marketing Prep       :launch2, after design4, 21d
    Public Launch        :crit, launch3, after test4, 1d
    Post-Launch Support  :launch4, after launch3, 30d

    section Markers
    Q2 Start             :vert, q2start, 2024-04-01, 1d
[INFO] colors: Color differences (67% match): Missing fill colors: ["white", "#552222", "#333", "#eeeeee", "#003163"]; Extra fill colors: ["#000000", "rgba(232,232,232,0.8)", "#ffffde", "#ffffff", "#ececff"]
git_graph Warning
selkie
main feature A B C D
mermaid.js
mainfeatureABCD
Source
gitGraph
    commit id:"A"
    commit id:"B"
    branch feature
    checkout feature
    commit id:"C"
    checkout main
    commit id:"D"
    merge feature
[INFO] dimensions: Height differs by 9%: expected 146, got 159
[WARN] colors: Color mismatch (27% match): Missing fill colors: ["hsl(240,100%,46.2745098039%)", "hsl(150,100%,46.2745098039%)", "#552222", "hsl(180,100%,46.2745098039%)", "hsl(60,100%,43.5294117647%)", "hsl(80,100%,46.2745098039%)", "rgb(146.5000000001,73.2500000001,0)", "rgb(48.8333333334,0,146.5000000001)", "hsl(300,100%,46.2745098039%)", "rgb(0,0,160.5)", "black", "hsl(210,100%,46.2745098039%)", "rgb(0,146.5000000001,0)", "hsl(60,100%,3.7254901961%)", "rgb(0,146.5000000001,146.5000000001)", "rgb(146.5000000001,0,73.2500000001)", "#333", "rgb(146.5000000001,0,0)", "hsl(0,100%,46.2745098039%)"]; Extra fill colors: ["#ec00ec", "#ec0000", "#13ff13", "#00ec7c", "#5e13ff", "#13ffff", "#ff1313", "#ff8313", "#dede00", "rgba(232,232,232,0.8)", "#a1ec00", "#00ecec", "#000000", "#007cec", "#ff1383", "#0000ec", "#2121ff"]
git_graph_complex Warning
selkie
main feature hotfix release A B C D E F G H I
mermaid.js
mainfeaturehotfixreleaseABCDEFGHI
Source
gitGraph
    commit id:"A"
    commit id:"B"
    branch feature
    checkout feature
    commit id:"C"
    commit id:"D"
    checkout main
    commit id:"E"
    merge feature
    branch hotfix
    checkout hotfix
    commit id:"F"
    checkout main
    merge hotfix
    commit id:"G"
    branch release
    checkout release
    commit id:"H"
    commit id:"I"
    checkout main
    merge release
[WARN] colors: Color mismatch (27% match): Missing fill colors: ["hsl(60,100%,3.7254901961%)", "hsl(60,100%,43.5294117647%)", "hsl(0,100%,46.2745098039%)", "#552222", "rgb(146.5000000001,73.2500000001,0)", "hsl(150,100%,46.2745098039%)", "rgb(146.5000000001,0,73.2500000001)", "rgb(48.8333333334,0,146.5000000001)", "hsl(80,100%,46.2745098039%)", "hsl(180,100%,46.2745098039%)", "hsl(210,100%,46.2745098039%)", "hsl(300,100%,46.2745098039%)", "rgb(0,146.5000000001,146.5000000001)", "black", "hsl(240,100%,46.2745098039%)", "rgb(0,0,160.5)", "rgb(0,146.5000000001,0)", "rgb(146.5000000001,0,0)", "#333"]; Extra fill colors: ["#2121ff", "#0000ec", "#007cec", "#00ecec", "#5e13ff", "#ec0000", "#13ff13", "#ff8313", "#a1ec00", "#ec00ec", "rgba(232,232,232,0.8)", "#00ec7c", "#13ffff", "#dede00", "#ff1313", "#ff1383", "#000000"]
journey Warning
selkie
Cat Me Go to work Go home Me Make tea Me Go upstairs Me Cat Do work Me Go downstairs Me Sit down My working day
mermaid.js
CatMe
Go to work
Go to work
Me
Make tea
Make tea
Me
Go upstairs
Go upstairs
MeCat
Do work
Do work
Go home
Go home
Me
Go downstairs
Go downstairs
Me
Sit down
Sit down
My working day
Source
journey
    title My working day
    section Go to work
      Make tea: 5: Me
      Go upstairs: 3: Me
      Do work: 1: Me, Cat
    section Go home
      Go downstairs: 5: Me
      Sit down: 3: Me
[WARN] colors: Color mismatch (44% match): Missing fill colors: ["#191970", "hsl(-4,100%,93.5294117647%)", "hsl(124,100%,93.5294117647%)", "hsl(176,100%,96.2745098039%)", "#8b008b", "hsl(188,100%,93.5294117647%)", "hsl(304,100%,96.2745098039%)", "currentcolor", "hsl(8,100%,96.2745098039%)", "#552222"]; Extra fill colors: ["#deffe0", "#ecfffe", "#00ffff", "#ffecfe", "#b0e0e6", "#ffefec", "#ffdee0", "#ffffe0", "#20b2aa", "#defbff"]
journey_complex Warning
selkie
Customer System Discovery Selection Checkout Post-Purchase Customer Visit homepage Customer Search for product Customer Browse categories Customer View product details Customer Read reviews Customer Compare prices Customer Add to cart Customer Review cart Customer System Enter shipping info Customer Select payment method Customer System Complete purchase System Receive confirmation Customer Track shipment Customer Receive delivery E-Commerce User Journey
mermaid.js
CustomerSystem
Discovery
Discovery
Customer
Visit homepage
Visit homepage
Customer
Search for product
Search for product
Customer
Browse categories
Browse categories
Selection
Selection
Customer
View product details
View product details
Customer
Read reviews
Read reviews
Customer
Compare prices
Compare prices
Customer
Add to cart
Add to cart
Checkout
Checkout
Customer
Review cart
Review cart
CustomerSystem
Enter shipping info
Enter shipping info
Customer
Select payment method
Select payment method
CustomerSystem
Complete purchase
Complete purchase
Post-Purchase
Post-Purchase
System
Receive confirmation
Receive confirmation
Customer
Track shipment
Track shipment
Customer
Receive delivery
Receive delivery
E-Commerce User Journey
Source
journey
    title E-Commerce User Journey
    section Discovery
      Visit homepage: 5: Customer
      Search for product: 4: Customer
      Browse categories: 3: Customer
    section Selection
      View product details: 5: Customer
      Read reviews: 4: Customer
      Compare prices: 3: Customer
      Add to cart: 5: Customer
    section Checkout
      Review cart: 4: Customer
      Enter shipping info: 3: Customer, System
      Select payment method: 4: Customer
      Complete purchase: 5: Customer, System
    section Post-Purchase
      Receive confirmation: 5: System
      Track shipment: 4: Customer
      Receive delivery: 5: Customer
[WARN] colors: Color mismatch (40% match): Missing fill colors: ["hsl(8,100%,96.2745098039%)", "#2f4f4f", "#4b0082", "#8b008b", "hsl(124,100%,93.5294117647%)", "#191970", "currentcolor", "hsl(176,100%,96.2745098039%)", "hsl(-4,100%,93.5294117647%)", "#552222", "hsl(304,100%,96.2745098039%)", "hsl(188,100%,93.5294117647%)"]; Extra fill colors: ["#b0e0e6", "#defbff", "#ffecfe", "#ffffe0", "#20b2aa", "#ffdee0", "#ffefec", "#00ffff", "#ecfffe", "#deffe0"]
kanban Warning
selkie
Create Documentation Create Blog about thenew diagram Create renderer forall cases
mermaid.js

Todo

In Progress

Create Documentation

Create Blog about the new diagram

Create renderer for all cases

Source
kanban
  id1[Todo]
    docs[Create Documentation]
    blog[Create Blog about the new diagram]
  id2[In Progress]
    id6[Create renderer for all cases]
[WARN] colors: Color mismatch (9% match): Missing fill colors: ["#552222", "hsl(240,100%,86.2745098039%)", "hsl(30,100%,86.2745098039%)", "currentcolor", "hsl(300,100%,86.2745098039%)", "hsl(80,100%,86.2745098039%)", "black", "hsl(90,100%,86.2745098039%)", "hsl(150,100%,86.2745098039%)", "lightgray", "#ffffff", "#efefef", "hsl(0,100%,86.2745098039%)", "#333", "hsl(210,100%,86.2745098039%)", "hsl(240,100%,46.2745098039%)", "hsl(270,100%,86.2745098039%)", "hsl(60,100%,83.5294117647%)", "hsl(180,100%,86.2745098039%)", "hsl(330,100%,86.2745098039%)"]; Extra fill colors: ["hsl(210,100%,86.3%)", "#666", "hsl(80,100%,86.3%)", "hsl(270,100%,86.3%)", "hsl(150,100%,86.3%)", "hsl(240,100%,86.3%)", "hsl(300,100%,86.3%)", "hsl(30,100%,86.3%)", "hsl(330,100%,86.3%)", "hsl(90,100%,86.3%)", "hsl(60,100%,86.3%)", "#f0f0f0", "hsl(0,100%,86.3%)", "hsl(180,100%,86.3%)"]
kanban_complex Warning
selkie
Create Documentation Create Blog about thenew diagram Create renderer sothat it works in allcases. We also addsome extra text herefor testing purposes. Design grammar knsv Create parsing tests MC-2038 K.Sveidqvist define getData Title of diagram ismore than 100 charswhen user duplicatesdiagram MC-2036 Update DB function MC-2037 knsv Weird flickering inFirefox
mermaid.js

Todo

In progress

Ready for deploy

Ready for test

Done

Can't reproduce

Create Documentation

Create Blog about the new diagram

Create renderer so that it works in all cases. We also add some extra text here for testing purposes.

Design grammar

knsv

Create parsing tests

MC-2038

K.Sveidqvist

define getData

Title of diagram is more than 100 chars when user duplicates diagram

MC-2036

Update DB function

MC-2037

knsv

Weird flickering in Firefox

Source
kanban
  id1[Todo]
    docs[Create Documentation]
    blog[Create Blog about the new diagram]
  id7[In progress]
    id6[Create renderer so that it works in all cases. We also add some extra text here for testing purposes.]
    id8[Design grammar]@{ assigned: 'knsv' }
  id9[Ready for deploy]
  id10[Ready for test]
    id4[Create parsing tests]@{ ticket: MC-2038, assigned: 'K.Sveidqvist', priority: 'High' }
  id11[Done]
    id5[define getData]
    id2[Title of diagram is more than 100 chars when user duplicates diagram]@{ ticket: MC-2036, priority: 'Very High'}
    id3[Update DB function]@{ ticket: MC-2037, assigned: knsv, priority: 'High' }
  id12[Can't reproduce]
    id13[Weird flickering in Firefox]
[INFO] dimensions: Height differs by 8%: expected 293, got 317
[WARN] colors: Color mismatch (9% match): Missing fill colors: ["hsl(90,100%,86.2745098039%)", "#552222", "black", "#efefef", "hsl(150,100%,86.2745098039%)", "hsl(330,100%,86.2745098039%)", "lightgray", "hsl(270,100%,86.2745098039%)", "currentcolor", "hsl(30,100%,86.2745098039%)", "#ffffff", "hsl(240,100%,46.2745098039%)", "hsl(60,100%,83.5294117647%)", "hsl(80,100%,86.2745098039%)", "#333", "hsl(210,100%,86.2745098039%)", "hsl(0,100%,86.2745098039%)", "hsl(300,100%,86.2745098039%)", "hsl(240,100%,86.2745098039%)", "hsl(180,100%,86.2745098039%)"]; Extra fill colors: ["hsl(0,100%,86.3%)", "hsl(80,100%,86.3%)", "hsl(60,100%,86.3%)", "#f0f0f0", "hsl(150,100%,86.3%)", "hsl(90,100%,86.3%)", "hsl(330,100%,86.3%)", "#666", "hsl(240,100%,86.3%)", "hsl(300,100%,86.3%)", "hsl(210,100%,86.3%)", "hsl(180,100%,86.3%)", "hsl(270,100%,86.3%)", "hsl(30,100%,86.3%)"]
mindmap Warning
selkie
mindmap Origins Long history Research On effectiveness On Automatic creation Tools Pen and paper Mermaid
mermaid.js

mindmap

Origins

Long history

Research

On effectiveness

On Automatic creation

Tools

Pen and paper

Mermaid

Source
mindmap
  root((mindmap))
    Origins
      Long history
    Research
      On effectiveness
      On Automatic creation
    Tools
      Pen and paper
      Mermaid
[INFO] dimensions: Width differs by 5%: expected 694, got 656
[INFO] dimensions: Height differs by 10%: expected 412, got 454
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=horizontal ref=horizontal (start diff=356px, end diff=440px) Edge 2: selkie=horizontal ref=diagonal (start diff=386px, end diff=496px) Edge 3: selkie=point ref=diagonal (start diff=415px, end diff=441px) Edge 4: selkie=diagonal ref=diagonal (start diff=464px, end diff=540px) Edge 5: selkie=horizontal ref=diagonal (start diff=491px, end diff=376px) Edge 6: selkie=vertical ref=diagonal (start diff=395px, end diff=322px) Edge 7: selkie=diagonal ref=diagonal (start diff=329px, end diff=279px) Edge 8: selkie=diagonal ref=diagonal (start diff=305px, end diff=291px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (339,218) → (450,221) Edge 2: (480,224) → (611,248) Edge 3: (319,232) → (294,315) Edge 4: (302,337) → (383,382) Edge 5: (275,333) → (130,368) Edge 6: (318,204) → (283,122) Edge 7: (262,104) → (130,74) Edge 8: (286,96) → (329,44) Selkie: Edge 1: (56,2) → (68,3) Edge 2: (161,6) → (178,6) Edge 3: (-45,33) → (-45,32) Edge 4: (-86,82) → (-101,141) Edge 5: (-130,54) → (-82,57) Edge 6: (17,-53) → (22,-68) Edge 7: (20,-118) → (-1,-173) Edge 8: (68,-117) → (102,-139)
[INFO] markers: Marker count differs: expected 2, got 0
[INFO] colors: Color differences (70% match): Missing fill colors: ["#333", "#efefef", "#333333", "#552222", "hsl(240,100%,76.2745098039%)", "lightgray"]
mindmap_complex Error
selkie
mindmap Origins
Long history
Popularisation British popular psychology author Tony Buzan Research On effectivenessand features On Automatic creation Uses Creative techniques Strategic planning Argument mapping Tools Pen and paper Mermaid I am a cloud I am a bang
mermaid.js

mindmap

Origins

Long history

Popularisation

British popular psychology author Tony Buzan

Research

On effectiveness
and features

On Automatic creation

Uses

Creative techniques

Strategic planning

Argument mapping

Tools

Pen and paper

Mermaid

I am a cloud

I am a bang

Source
mindmap
  root((mindmap))
    Origins
      Long history
      ::icon(fa fa-book)
      Popularisation
        British popular psychology author Tony Buzan
    Research
      On effectiveness<br/>and features
      On Automatic creation
        Uses
          Creative techniques
          Strategic planning
          Argument mapping
    Tools
      Pen and paper
      Mermaid
        cloud)I am a cloud(
        bang))I am a bang((
[ERROR] labels_missing: Missing labels: ["On effectiveness"]
[WARN] dimensions: Width differs by 25%: expected 948, got 1184
[INFO] dimensions: Height differs by 19%: expected 682, got 554
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=horizontal ref=diagonal (start diff=557px, end diff=577px) Edge 2: selkie=horizontal ref=diagonal (start diff=561px, end diff=646px) Edge 3: selkie=diagonal ref=diagonal (start diff=516px, end diff=523px) Edge 4: selkie=horizontal ref=diagonal (start diff=477px, end diff=551px) Edge 5: selkie=point ref=diagonal (start diff=600px, end diff=499px) Edge 6: selkie=diagonal ref=diagonal (start diff=487px, end diff=350px) Edge 7: selkie=horizontal ref=diagonal (start diff=541px, end diff=452px) Edge 8: selkie=horizontal ref=diagonal (start diff=646px, end diff=587px) Edge 9: selkie=diagonal ref=horizontal (start diff=628px, end diff=514px) Edge 10: selkie=horizontal ref=diagonal (start diff=633px, end diff=600px) Edge 11: selkie=diagonal ref=diagonal (start diff=660px, end diff=855px) Edge 12: selkie=vertical ref=diagonal (start diff=633px, end diff=732px) Edge 13: selkie=diagonal ref=diagonal (start diff=779px, end diff=833px) Edge 14: selkie=diagonal ref=diagonal (start diff=758px, end diff=843px) Edge 15: selkie=diagonal ref=diagonal (start diff=860px, end diff=936px) Edge 16: selkie=horizontal ref=diagonal (start diff=842px, end diff=918px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (457,388) → (407,469) Edge 2: (413,488) → (514,531) Edge 3: (388,491) → (326,540) Edge 4: (318,564) → (338,633) Edge 5: (455,364) → (386,285) Edge 6: (361,277) → (206,305) Edge 7: (370,260) → (346,203) Edge 8: (332,177) → (297,121) Edge 9: (274,109) → (122,116) Edge 10: (280,97) → (236,44) Edge 11: (304,106) → (453,82) Edge 12: (480,378) → (586,399) Edge 13: (611,391) → (657,339) Edge 14: (614,409) → (701,455) Edge 15: (729,458) → (865,425) Edge 16: (720,476) → (751,556) Selkie: Edge 1: (56,2) → (68,3) Edge 2: (161,-14) → (174,-18) Edge 3: (161,27) → (182,37) Edge 4: (310,87) → (299,84) Edge 5: (-45,33) → (-45,32) Edge 6: (-86,82) → (-98,131) Edge 7: (-130,54) → (-82,57) Edge 8: (-301,44) → (-285,45) Edge 9: (-351,57) → (-390,74) Edge 10: (-351,41) → (-364,40) Edge 11: (-351,24) → (-398,-3) Edge 12: (17,-53) → (22,-68) Edge 13: (20,-118) → (-1,-173) Edge 14: (68,-117) → (102,-139) Edge 15: (163,-189) → (208,-242) Edge 16: (188,-177) → (206,-182)
[INFO] labels_extra: Extra labels in selkie: ["On effectiveness and features"]
[INFO] markers: Marker count differs: expected 2, got 0
[INFO] colors: Color differences (70% match): Missing fill colors: ["#333333", "hsl(240,100%,76.2745098039%)", "#efefef", "#333", "lightgray", "#552222"]
[WARN] aspect_ratio: Aspect ratio differs significantly: reference 1.39, selkie 2.14 (54% difference)
packet Match
selkie
Header 0 7 Length 8 15 Data 16 31 Simple Packet
mermaid.js
Header07Length815Data1631Simple Packet
Source
packet
    title Simple Packet
    0-7: "Header"
    8-15: "Length"
    16-31: "Data"
[INFO] colors: Color differences (50% match): Missing fill colors: ["#333", "#552222"]; Extra fill colors: ["#ffffde", "#ececff", "rgba(232,232,232,0.8)"]
packet_complex Match
selkie
Source Port 0 15 Destination Port 16 31 Sequence Number 32 63 Acknowledgment Number 64 95 Data Offset 96 99 Reserved 100 105 URG 106 ACK 107 PSH 108 RST 109 SYN 110 FIN 111 Window 112 127 Checksum 128 143 Urgent Pointer 144 159 (Options and Padding) 160 191 Data 192 223 Data 224 255 TCP Packet Structure
mermaid.js
Source Port015Destination Port1631Sequence Number3263Acknowledgment Number6495Data Offset9699Reserved100105URG106ACK107PSH108RST109SYN110FIN111Window112127Checksum128143Urgent Pointer144159(Options and Padding)160191Data192223Data224255TCP Packet Structure
Source
packet
    title TCP Packet Structure
    0-15: "Source Port"
    16-31: "Destination Port"
    32-63: "Sequence Number"
    64-95: "Acknowledgment Number"
    96-99: "Data Offset"
    100-105: "Reserved"
    106: "URG"
    107: "ACK"
    108: "PSH"
    109: "RST"
    110: "SYN"
    111: "FIN"
    112-127: "Window"
    128-143: "Checksum"
    144-159: "Urgent Pointer"
    160-191: "(Options and Padding)"
    192-255: "Data"
[INFO] colors: Color differences (50% match): Missing fill colors: ["#333", "#552222"]; Extra fill colors: ["#ffffde", "#ececff", "rgba(232,232,232,0.8)"]
pie Match
selkie
40% 25% 20% 15% Project Distribution Development Testing Documentation Design
mermaid.js
40%25%20%15%Project DistributionDevelopmentTestingDocumentationDesign
Source
pie title Project Distribution
    "Development" : 40
    "Testing" : 25
    "Documentation" : 15
    "Design" : 20

No issues detected

pie_complex Match
selkie
35% 22% 18% 8% 6% 5% 4% 2% Cloud Infrastructure Costs Compute (EC2/GKE) [35] Storage (S3/GCS) [18] Database (RDS) [22] Networking [8] CDN & Edge [6] Monitoring [5] Security [4] Other [2]
mermaid.js
35%22%18%8%6%5%4%2%Cloud Infrastructure CostsCompute (EC2/GKE) [35]Storage (S3/GCS) [18]Database (RDS) [22]Networking [8]CDN & Edge [6]Monitoring [5]Security [4]Other [2]
Source
pie showData
    title Cloud Infrastructure Costs
    "Compute (EC2/GKE)" : 35
    "Storage (S3/GCS)" : 18
    "Database (RDS)" : 22
    "Networking" : 8
    "CDN & Edge" : 6
    "Monitoring" : 5
    "Security" : 4
    "Other" : 2

No issues detected

quadrant Match
selkie
We should expand Need to promote Re-evaluate May be improved Campaign A Campaign B Campaign C Campaign D Campaign E Campaign F Low Reach High Reach Low Engagement High Engagement Reach and Engagement
mermaid.js
We should expandNeed to promoteRe-evaluateMay be improvedCampaign FCampaign ECampaign DCampaign CCampaign BCampaign ALow ReachHigh ReachLow EngagementHigh EngagementReach and Engagement
Source
quadrantChart
    title Reach and Engagement
    x-axis Low Reach --> High Reach
    y-axis Low Engagement --> High Engagement
    quadrant-1 We should expand
    quadrant-2 Need to promote
    quadrant-3 Re-evaluate
    quadrant-4 May be improved
    Campaign A: [0.3, 0.6]
    Campaign B: [0.45, 0.23]
    Campaign C: [0.57, 0.69]
    Campaign D: [0.78, 0.34]
    Campaign E: [0.40, 0.34]
    Campaign F: [0.35, 0.78]
[INFO] colors: Color differences (75% match): Missing fill colors: ["#552222", "#333", "hsl(240,100%,nan%)"]; Extra fill colors: ["#ffffde", "rgba(232,232,232,0.8)", "#9370db"]
quadrant_complex Error
selkie
Leaders Challengers Niche Players Visionaries Microsoft Salesforce SAP IBM Oracle Qlik Tableau SAS MicroStrategy Alteryx Sisense ThoughtSpot Domo Looker Amazon Google Completeness of Vision x-axis-2 Ability to Execute y-axis-2 Analytics and Business Intelligence Platforms
mermaid.js
LeadersChallengersNiche PlayersVisionariesGoogleAmazonLookerDomoThoughtSpotSisenseAlteryxMicroStrategySASTableauQlikOracleIBMSAPSalesforceMicrosoftCompleteness of VisionHigh CompletenessAbility to ExecuteHigh AbilityAnalytics and Business Intelligence Platforms
Source
quadrantChart
    title Analytics and Business Intelligence Platforms
    x-axis Completeness of Vision --> x-axis-2
    y-axis Ability to Execute --> y-axis-2
    quadrant-1 Leaders
    quadrant-2 Challengers
    quadrant-3 Niche Players
    quadrant-4 Visionaries
    Microsoft: [0.75, 0.75] radius: 10
    Salesforce: [0.55, 0.60] radius: 8
    SAP: [0.70, 0.65]
    IBM: [0.51, 0.40]
    Oracle: [0.65, 0.55]
    Qlik: [0.60, 0.45]
    Tableau: [0.68, 0.72]
    SAS: [0.45, 0.58]
    MicroStrategy: [0.50, 0.50]
    Alteryx: [0.35, 0.42]
    Sisense: [0.30, 0.35]
    ThoughtSpot: [0.25, 0.45]
    Domo: [0.20, 0.30]
    Looker: [0.55, 0.52]
    Amazon: [0.80, 0.68] color: #ff9900
    Google: [0.72, 0.60] color: #4285f4
[ERROR] labels_missing: Missing labels: ["High Ability", "High Completeness"]
[INFO] labels_extra: Extra labels in selkie: ["y-axis-2", "x-axis-2"]
[INFO] colors: Color differences (79% match): Missing fill colors: ["#552222", "#333", "hsl(240,100%,nan%)"]; Extra fill colors: ["rgba(232,232,232,0.8)", "#9370db", "#ffffde"]
radar Warning
selkie
Coding Testing Design Code Review Documentation Team Alpha Team Beta Skills Assessment
mermaid.js
CodingTestingDesignCode ReviewDocumentationTeam AlphaTeam BetaSkills Assessment
Source
radar-beta
    title Skills Assessment
    axis Coding, Testing, Design
    axis Review["Code Review"], Docs["Documentation"]

    curve TeamA["Team Alpha"]{
        Coding 4, Testing 3,
        Design 3, Review 4,
        Docs 2
    }
    curve TeamB["Team Beta"]{3, 4, 4, 3, 5}

    showLegend true
    ticks 5
    max 5
    graticule polygon
[WARN] colors: Color mismatch (12% match): Missing fill colors: ["hsl(180,100%,76.2745098039%)", "hsl(60,100%,73.5294117647%)", "hsl(30,100%,76.2745098039%)", "hsl(0,100%,76.2745098039%)", "hsl(270,100%,76.2745098039%)", "hsl(240,100%,76.2745098039%)", "#552222", "#333", "hsl(80,100%,76.2745098039%)", "hsl(210,100%,76.2745098039%)", "hsl(90,100%,76.2745098039%)", "hsl(330,100%,76.2745098039%)", "hsl(150,100%,76.2745098039%)", "hsl(300,100%,76.2745098039%)"]; Extra fill colors: ["#8686ff", "#ffc986", "#ececff", "#ff8686", "#ff86c9", "#ff86ff", "#c986ff", "#ffff78", "#ffffde", "rgba(232,232,232,0.8)", "#9fff9f"]
radar_complex Warning
selkie
Performance Ecosystem Safety Learning Curve Tooling Community Rust Python Go C++ Programming Language Comparison
mermaid.js
PerformanceEcosystemSafetyLearning CurveToolingCommunityRustPythonGoC++Programming Language Comparison
Source
radar-beta
    title Programming Language Comparison
    axis Performance, Ecosystem, Safety
    axis Learning["Learning Curve"], Tooling, Community

    curve rust["Rust"]{
        Performance 5, Ecosystem 4,
        Safety 5, Learning 2,
        Tooling 5, Community 4
    }
    curve python["Python"]{
        Performance 2, Ecosystem 5,
        Safety 3, Learning 5,
        Tooling 4, Community 5
    }
    curve go["Go"]{
        Performance 4, Ecosystem 4,
        Safety 4, Learning 4,
        Tooling 5, Community 4
    }
    curve cpp["C++"]{5, 5, 2, 1, 3, 4}

    showLegend true
    ticks 5
    max 5
    min 0
    graticule circle
[WARN] colors: Color mismatch (12% match): Missing fill colors: ["hsl(90,100%,76.2745098039%)", "hsl(0,100%,76.2745098039%)", "hsl(210,100%,76.2745098039%)", "hsl(270,100%,76.2745098039%)", "hsl(240,100%,76.2745098039%)", "#333", "hsl(180,100%,76.2745098039%)", "hsl(150,100%,76.2745098039%)", "hsl(30,100%,76.2745098039%)", "#552222", "hsl(60,100%,73.5294117647%)", "hsl(330,100%,76.2745098039%)", "hsl(80,100%,76.2745098039%)", "hsl(300,100%,76.2745098039%)"]; Extra fill colors: ["#ececff", "#ff86ff", "#ffffde", "#c986ff", "rgba(232,232,232,0.8)", "#ff8686", "#9fff9f", "#8686ff", "#ffc986", "#ffff78", "#ff86c9"]
requirement Warning
selkie
<<satisfies>> <<traces>> <<contains>> <<verifies>> <<Functional Requirement>> test_req2 ID: 1.1 Text: the second test text. Risk: Low Verification: Inspection <<Performance Requirement>> test_req3 ID: 1.2 Text: the third test text. Risk: Medium Verification: Demonstration <<Requirement>> test_req ID: 1 Text: the test text. Risk: High Verification: Test <<Element>> test_entity2 Type: word doc Doc Ref: reqs/test_entity <<Element>> test_entity Type: simulation
mermaid.js

<<satisfies>>

<<traces>>

<<contains>>

<<verifies>>

<<Requirement>>

test_req

ID: 1

Text: the test text.

Risk: High

Verification: Test

<<Functional Requirement>>

test_req2

ID: 1.1

Text: the second test text.

Risk: Low

Verification: Inspection

<<Performance Requirement>>

test_req3

ID: 1.2

Text: the third test text.

Risk: Medium

Verification: Demonstration

<<Element>>

test_entity

Type: simulation

<<Element>>

test_entity2

Type: word doc

Doc Ref: reqs/test_entity

Source
requirementDiagram

    requirement test_req {
    id: 1
    text: the test text.
    risk: high
    verifymethod: test
    }

    functionalRequirement test_req2 {
    id: 1.1
    text: the second test text.
    risk: low
    verifymethod: inspection
    }

    performanceRequirement test_req3 {
    id: 1.2
    text: the third test text.
    risk: medium
    verifymethod: demonstration
    }

    element test_entity {
    type: simulation
    }

    element test_entity2 {
    type: word doc
    docRef: reqs/test_entity
    }

    test_entity - satisfies -> test_req2
    test_req - traces -> test_req2
    test_req - contains -> test_req3
    test_entity2 - verifies -> test_req
[WARN] shapes: rect count differs: expected 0, got 14 (100% diff)
[WARN] shapes: path count differs: expected 15, got 6 (60% diff)
[WARN] shapes: line count differs: expected 2, got 7 (250% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=diagonal ref=diagonal (start diff=242px, end diff=18px) Edge 2: selkie=diagonal ref=diagonal (start diff=17px, end diff=18px) Edge 3: selkie=diagonal ref=diagonal (start diff=12px, end diff=16px) Edge 4: selkie=vertical ref=vertical (start diff=13px, end diff=16px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: test_entity.bottom (centered) → (92,476) Edge 2: (291,382) → (200,476) Edge 3: (407,402) → (423,476) Edge 4: test_entity2.bottom (centered) → (370,218) Selkie: Edge 1: (75,124) → (85,460) Edge 2: (274,377) → (192,460) Edge 3: (408,390) → (426,460) Edge 4: (359,136) → (359,206)
[INFO] markers: Marker count differs: expected 2, got 3
[WARN] colors: Color mismatch (43% match): Missing fill colors: ["black", "#131300", "#552222", "#333"]; Extra fill colors: ["#ffffde"]
requirement_complex Error
selkie
<<satisfies>> <<traces>> <<contains>> <<contains>> <<derives>> <<refines>> <<verifies>> <<Performance Requirement>> test_req3 ID: 1.2 Text: the third test text. Risk: Medium Verification: Demonstration <<Interface Requirement>> test_req4 ID: 1.2.1 Text: the fourth test text. Risk: Medium Verification: Analysis <<Physical Requirement>> test_req5 ID: 1.2.2 Text: the fifth test text. Risk: Medium Verification: Analysis <<Functional Requirement>> test_req2 ID: 1.1 Text: the second test text. Risk: Low Verification: Inspection <<Requirement>> test_req ID: 1 Text: the test text. Risk: High Verification: Test <<Design Constraint>> test_req6 ID: 1.2.3 Text: the sixth test text. Risk: Medium Verification: Analysis <<Element>> test_entity Type: simulation <<Element>> test_entity2 Type: word doc Doc Ref: reqs/test_entity <<Element>> test_entity3 Type: test suite Doc Ref: github.com/all_the_tests
mermaid.js

<<satisfies>>

<<traces>>

<<contains>>

<<contains>>

<<derives>>

<<refines>>

<<verifies>>

<<Requirement>>

test_req

ID: 1

Text: the test text.

Risk: High

Verification: Test

<<Functional Requirement>>

test_req2

ID: 1.1

Text: the second test text.

Risk: Low

Verification: Inspection

<<Performance Requirement>>

test_req3

ID: 1.2

Text: the third test text.

Risk: Medium

Verification: Demonstration

<<Interface Requirement>>

test_req4

ID: 1.2.1

Text: the fourth test text.

Risk: Medium

Verification: Analysis

<<Physical Requirement>>

test_req5

ID: 1.2.2

Text: the fifth test text.

Risk: Medium

Verification: Analysis

<<Design Constraint>>

test_req6

ID: 1.2.3

Text: the sixth test text.

Risk: Medium

Verification: Analysis

<<Element>>

test_entity

Type: simulation

<<Element>>

test_entity2

Type: word doc

Doc Ref: reqs/test_entity

<<Element>>

test_entity3

Type: test suite

Doc Ref: github.com/all_the_tests

Source
requirementDiagram

    requirement test_req {
    id: 1
    text: the test text.
    risk: high
    verifymethod: test
    }

    functionalRequirement test_req2 {
    id: 1.1
    text: the second test text.
    risk: low
    verifymethod: inspection
    }

    performanceRequirement test_req3 {
    id: 1.2
    text: the third test text.
    risk: medium
    verifymethod: demonstration
    }

    interfaceRequirement test_req4 {
    id: 1.2.1
    text: the fourth test text.
    risk: medium
    verifymethod: analysis
    }

    physicalRequirement test_req5 {
    id: 1.2.2
    text: the fifth test text.
    risk: medium
    verifymethod: analysis
    }

    designConstraint test_req6 {
    id: 1.2.3
    text: the sixth test text.
    risk: medium
    verifymethod: analysis
    }

    element test_entity {
    type: simulation
    }

    element test_entity2 {
    type: word doc
    docRef: reqs/test_entity
    }

    element test_entity3 {
    type: "test suite"
    docRef: github.com/all_the_tests
    }

    test_entity - satisfies -> test_req2
    test_req - traces -> test_req2
    test_req - contains -> test_req3
    test_req3 - contains -> test_req4
    test_req4 - derives -> test_req5
    test_req5 - refines -> test_req6
    test_entity3 - verifies -> test_req5
[WARN] dimensions: Width differs by 27%: expected 856, got 1086
[WARN] shapes: rect count differs: expected 0, got 25 (100% diff)
[WARN] shapes: path count differs: expected 26, got 9 (65% diff)
[WARN] shapes: line count differs: expected 2, got 11 (450% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=vertical ref=diagonal (start diff=35px, end diff=23px) Edge 2: selkie=diagonal ref=diagonal (start diff=530px, end diff=63px) Edge 3: selkie=diagonal ref=diagonal (start diff=532px, end diff=536px) Edge 4: selkie=vertical ref=vertical (start diff=536px, end diff=536px) Edge 5: selkie=diagonal ref=diagonal (start diff=536px, end diff=400px) Edge 6: selkie=vertical ref=vertical (start diff=190px, end diff=190px) Edge 7: selkie=diagonal ref=diagonal (start diff=532px, end diff=24px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: test_entity.bottom (centered) → (92,266) Edge 2: (291,172) → (200,266) Edge 3: (407,192) → (423,266) Edge 4: (423,450) → (423,524) Edge 5: (423,708) → (465,782) Edge 6: (568,966) → (568,1040) Edge 7: test_entity3.bottom (centered) → (672,782) Selkie: Edge 1: (111,148) → (111,254) Edge 2: (820,184) → (222,325) Edge 3: (940,184) → (958,254) Edge 4: (958,438) → (958,508) Edge 5: (958,692) → (864,786) Edge 6: (757,946) → (757,1016) Edge 7: (622,160) → (660,762)
[INFO] markers: Marker count differs: expected 2, got 3
[WARN] colors: Color mismatch (43% match): Missing fill colors: ["#131300", "black", "#333", "#552222"]; Extra fill colors: ["#ffffde"]
[ERROR] aspect_ratio: Diagram orientation differs: reference is portrait (855x1232, ratio 0.69), selkie is square (1085x1216, ratio 0.89)
sankey Match
selkie
Revenue 100 Salaries 40 Operations 25 Marketing 15 R&D 12 Profit 8
mermaid.js
Revenue 100Salaries 40Operations 25Marketing 15R&D 12Profit 8
Source
sankey-beta

Revenue,Salaries,40
Revenue,Operations,25
Revenue,Marketing,15
Revenue,R&D,12
Revenue,Profit,8
[INFO] colors: Color differences (70% match): Missing fill colors: ["#333", "#552222"]; Extra fill colors: ["#ececff", "#ffffde", "rgba(232,232,232,0.8)"]
sequence Warning
selkie
Hello Bob! Hi Alice! Login request Token How are you? I'm good, thanks! Alice Bob Server Authentication Bob thinks Alice Bob Server
mermaid.js
ServerBobAliceServerBobAliceAuthenticationBob thinksHello Bob!Hi Alice!Login requestTokenHow are you?I'm good, thanks!
Source
sequenceDiagram
    participant A as Alice
    participant B as Bob
    participant C as Server
    A->>B: Hello Bob!
    B-->>A: Hi Alice!
    Note over A,B: Authentication
    A->>+C: Login request
    C-->>-A: Token
    A->>B: How are you?
    B-->>A: I'm good, thanks!
    Note right of B: Bob thinks
[WARN] shapes: path count differs: expected 6, got 2 (67% diff)
[WARN] shapes: line count differs: expected 9, got 11 (22% diff)
[WARN] text_placement: Text vertical placement differs: selkie positions text near bottom (379% from top), reference positions text near top (-309% from top). Difference: 688%
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (3 issues): "Alice Alice" at y-offset 470px (723%) vs reference 23px (35%) "Bob Bob" at y-offset 470px (723%) vs reference 23px (35%) "Server Server" at y-offset 470px (723%) vs reference 23px (35%)
[INFO] colors: Color differences (55% match): Missing fill colors: ["hsl(259.6261682243,59.7765363128%,87.9019607843%)", "#552222", "black", "#333", "#fff5ad"]; Extra fill colors: ["rgba(232,232,232,0.8)", "#ffffde", "#ffffcc"]
sequence_complex Warning
selkie
1 Click Checkout 2 POST /checkout 3 Verify session 4 Query user 5 User record 6 Session valid 7 Error: Empty cart 8 Show error [Cart Valid] 9 Reserve inventory 10 Queue payment job 11 Job queued [Send Notifications] 12 Queue email confirmation par [Process Payment] 13 Inventory reserved 14 Check payment status 15 Payment pending loop [Retry up to 3 times] 16 Order confirmed 17 Show confirmation alt [Cart Empty] User Browser API Auth DB Queue E-Commerce Checkout Flow Validate cart items Payment confirmed User Browser API Auth DB Queue
mermaid.js
QueueDBAuthAPIBrowserUserQueueDBAuthAPIBrowserUserE-Commerce Checkout FlowValidate cart itemspar[Process Payment][Send Notifications]loop[Retry up to 3 times]Payment confirmedalt[Cart Empty][Cart Valid]Click Checkout1POST /checkout2Verify session3Query user4User record5Session valid6Error: Empty cart7Show error8Reserve inventory9Queue payment job10Job queued11Queue email confirmation12Inventory reserved13Check payment status14Payment pending15Order confirmed16Show confirmation17
Source
sequenceDiagram
    autonumber
    participant User
    participant Browser
    participant API
    participant Auth
    participant DB
    participant Queue

    Note over User,Queue: E-Commerce Checkout Flow

    User->>Browser: Click Checkout
    activate Browser
    Browser->>+API: POST /checkout

    Note right of API: Validate cart items

    API->>+Auth: Verify session
    Auth->>DB: Query user
    DB-->>Auth: User record
    Auth-->>-API: Session valid

    alt Cart Empty
        API-->>Browser: Error: Empty cart
        Browser-->>User: Show error
    else Cart Valid
        API->>+DB: Reserve inventory

        par Process Payment
            API->>Queue: Queue payment job
            Queue-->>API: Job queued
        and Send Notifications
            API--)Queue: Queue email confirmation
        end

        DB-->>-API: Inventory reserved

        loop Retry up to 3 times
            API->>Queue: Check payment status
            Queue-->>API: Payment pending
        end

        Note over API,Queue: Payment confirmed

        API-->>-Browser: Order confirmed
        Browser-->>User: Show confirmation
    end
    deactivate Browser
[WARN] shapes: circle count differs: expected 1, got 18 (1700% diff)
[WARN] shapes: path count differs: expected 6, got 3 (50% diff)
[WARN] shapes: line count differs: expected 54, got 26 (52% diff)
[WARN] text_placement: Text vertical placement differs: selkie positions text near bottom (958% from top), reference positions text near top (-915% from top). Difference: 1873%
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (6 issues): "User User" at y-offset 1223px (1881%) vs reference 23px (35%) "Browser Browser" at y-offset 1223px (1881%) vs reference 23px (35%) "API API" at y-offset 1223px (1881%) vs reference 23px (35%) "Auth Auth" at y-offset 1223px (1881%) vs reference 23px (35%) "DB DB" at y-offset 1223px (1881%) vs reference 23px (35%) "Queue Queue" at y-offset 1223px (1881%) vs reference 23px (35%)
[INFO] colors: Color differences (55% match): Missing fill colors: ["#fff5ad", "hsl(259.6261682243,59.7765363128%,87.9019607843%)", "#552222", "black", "#333"]; Extra fill colors: ["#ffffcc", "rgba(232,232,232,0.8)", "#ffffde"]
state Warning
selkie
Error Idle Running start stop error reset
mermaid.js

start

stop

error

reset

Idle

Running

Error

Source
stateDiagram-v2
    [*] --> Idle
    Idle --> Running : start
    Running --> Idle : stop
    Running --> Error : error
    Error --> Idle : reset
    Error --> [*]
[INFO] dimensions: Width differs by 16%: expected 167, got 194
[WARN] stroke_width: Edge stroke-width differs: expected 0.8, got 1.1 (42% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=vertical ref=vertical (start diff=20px, end diff=19px) Edge 2: selkie=diagonal ref=diagonal (start diff=23px, end diff=17px) Edge 3: selkie=diagonal ref=diagonal (start diff=18px, end diff=21px) Edge 4: selkie=diagonal ref=diagonal (start diff=21px, end diff=26px) Edge 5: selkie=diagonal ref=diagonal (start diff=31px, end diff=23px) Edge 6: selkie=vertical ref=vertical (start diff=31px, end diff=31px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (78,22) → (79,72) Edge 2: (60,112) → (42,186) Edge 3: (61,186) → (79,112) Edge 4: (51,226) → (80,300) Edge 5: (112,300) → (99,111) Edge 6: (96,340) → (96,390) Selkie: Edge 1: (96,14) → (96,64) Edge 2: (75,95) → (41,170) Edge 3: (69,170) → (96,100) Edge 4: (55,206) → (90,276) Edge 5: (131,276) → (116,96) Edge 6: (108,312) → (108,362)
[WARN] colors: Color mismatch (42% match): Missing fill colors: ["white", "#e0e0e0", "#fff5ad", "black", "#552222", "#131300", "#333"]; Extra fill colors: ["#ffffff", "#666666", "#ffffcc", "#ffffde"]
state_complex Warning
selkie
Idle Processing Executing Active Done Init Ready ResourceAlloc Validating Validation Start Job
mermaid.js
Idle

Start Job

Ready

Active

Validation

ResourceAlloc

Processing

Validating

Executing

Init

Done

Source
stateDiagram-v2
    %% State diagram with composite states, fork/join, and nested composites
    direction TB

    [*] --> Idle

    state Idle {
        [*] --> Ready
        Ready --> Active: Start Job
    }

    %% Fork and join for parallel processing
    state fork_state <<fork>>
    state join_state <<join>>

    Idle --> fork_state
    fork_state --> Validation
    fork_state --> ResourceAlloc

    Validation --> join_state
    ResourceAlloc --> join_state
    join_state --> Processing

    state Processing {
        [*] --> Validating
        Validating --> Executing

        state Executing {
            [*] --> Init
            Init --> Done
        }
    }
[INFO] dimensions: Width differs by 5%: expected 269, got 283
[INFO] dimensions: Height differs by 16%: expected 1364, got 1145
[WARN] stroke_width: Edge stroke-width differs: expected 0.7, got 1.0 (54% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=vertical ref=diagonal (start diff=466px, end diff=473px) Edge 2: selkie=vertical ref=diagonal (start diff=364px, end diff=356px) Edge 3: selkie=vertical ref=diagonal (start diff=363px, end diff=319px) Edge 4: selkie=vertical ref=diagonal (start diff=234px, end diff=221px) Edge 5: selkie=diagonal ref=vertical (start diff=387px, end diff=395px) Edge 6: selkie=diagonal ref=vertical (start diff=13px, end diff=78px) Edge 7: selkie=diagonal ref=vertical (start diff=160px, end diff=139px) Edge 8: selkie=diagonal ref=vertical (start diff=455px, end diff=415px) Edge 9: selkie=vertical ref=vertical (start diff=383px, end diff=335px) Edge 10: selkie=vertical ref=vertical (start diff=597px, end diff=587px) Edge 11: selkie=vertical ref=vertical (start diff=583px, end diff=573px) Edge 12: selkie=vertical ref=vertical (start diff=804px, end diff=783px) Edge 13: selkie=vertical ref=vertical (start diff=779px, end diff=759px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (111,479) → (52,530) Edge 2: (144,479) → (204,530) Edge 3: (52,570) → (111,619) Edge 4: (204,570) → (144,619) Edge 5: (127,22) → (127,72) Edge 6: (127,415) → (127,465) Edge 7: (127,633) → (127,683) Edge 8: (73,60) → (74,135) Edge 9: (74,175) → (74,274) Edge 10: (104,60) → (104,135) Edge 11: (104,174) → (104,250) Edge 12: (69,72) → (69,172) Edge 13: (69,212) → (69,312) Selkie: Edge 1: (134,14) → (134,64) Edge 2: (134,115) → (134,180) Edge 3: (134,216) → (134,301) Edge 4: (125,349) → (125,399) Edge 5: (112,409) → (46,459) Edge 6: (139,409) → (205,459) Edge 7: (46,495) → (112,545) Edge 8: (205,495) → (139,545) Edge 9: (125,555) → (125,605) Edge 10: (134,656) → (134,721) Edge 11: (134,757) → (134,822) Edge 12: (134,873) → (134,953) Edge 13: (134,989) → (134,1069)
[WARN] colors: Color mismatch (42% match): Missing fill colors: ["#552222", "#e0e0e0", "#131300", "white", "#fff5ad", "#333", "black"]; Extra fill colors: ["#ffffff", "#ffffde", "#666666", "#ffffcc"]
state_complex2 Warning
selkie
Idle Processing Paused Running Cancelled Completed Executing Failed Finalizing Initializing Queued Ready Timeout Validating WaitingResume Start Job Valid Invalid Worker Available Success Error Pause Request 1 hour Resume Cancel Request Reset Retry Reset
mermaid.js
Idle
Processing
Paused

Valid

Invalid

1 hour

Start Job

Worker Available

Success

Error

Pause Request

Resume

Cancel Request

Reset

Retry

Reset

Ready

Validating

Queued

Failed

Running

Initializing

Executing

Finalizing

Completed

WaitingResume

Timeout

Cancelled

Source
stateDiagram-v2
[*] --> Idle

state Idle {
    [*] --> Ready
    Ready --> Processing: Start Job
}

state Processing {
    [*] --> Validating
    Validating --> Queued: Valid
    Validating --> Failed: Invalid
    Queued --> Running: Worker Available
    Running --> Completed: Success
    Running --> Failed: Error
    Running --> Paused: Pause Request

    state Running {
        [*] --> Initializing
        Initializing --> Executing
        Executing --> Finalizing
        Finalizing --> [*]
    }
}

state Paused {
    [*] --> WaitingResume
    WaitingResume --> Timeout: 1 hour
}

Paused --> Running: Resume
Paused --> Cancelled: Cancel Request
Timeout --> Cancelled

Completed --> Idle: Reset
Failed --> Idle: Retry
Cancelled --> Idle: Reset

Completed --> [*]
Cancelled --> [*]
[WARN] dimensions: Width differs by 85%: expected 716, got 1322
[INFO] dimensions: Height differs by 14%: expected 1695, got 1924
[WARN] stroke_width: Edge stroke-width differs: expected 0.7, got 1.1 (44% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=vertical ref=diagonal (start diff=478px, end diff=436px) Edge 2: selkie=vertical ref=vertical (start diff=348px, end diff=339px) Edge 3: selkie=vertical ref=diagonal (start diff=325px, end diff=288px) Edge 4: selkie=vertical ref=diagonal (start diff=437px, end diff=947px) Edge 5: selkie=diagonal ref=diagonal (start diff=831px, end diff=766px) Edge 6: selkie=diagonal ref=vertical (start diff=949px, end diff=264px) Edge 7: selkie=diagonal ref=diagonal (start diff=880px, end diff=914px) Edge 8: selkie=diagonal ref=diagonal (start diff=18px, end diff=159px) Edge 9: selkie=diagonal ref=diagonal (start diff=456px, end diff=237px) Edge 10: selkie=vertical ref=vertical (start diff=1291px, end diff=1339px) Edge 11: selkie=vertical ref=vertical (start diff=623px, end diff=642px) Edge 12: selkie=vertical ref=vertical (start diff=433px, end diff=451px) Edge 13: selkie=vertical ref=diagonal (start diff=160px, end diff=102px) Edge 14: selkie=vertical ref=diagonal (start diff=356px, end diff=442px) Edge 15: selkie=vertical ref=vertical (start diff=429px, end diff=438px) Edge 16: selkie=vertical ref=vertical (start diff=574px, end diff=703px) Edge 17: selkie=vertical ref=vertical (start diff=369px, end diff=925px) Edge 18: selkie=vertical ref=point (start diff=501px, end diff=595px) Edge 19: selkie=vertical ref=point (start diff=672px, end diff=753px) Edge 20: selkie=diagonal ref=diagonal (start diff=235px, end diff=600px) Edge 21: selkie=diagonal ref=vertical (start diff=1562px, end diff=1686px) Edge 22: selkie=diagonal ref=vertical (start diff=1718px, end diff=688px) Edge 23: selkie=diagonal ref=vertical (start diff=1336px, end diff=1619px) Edge 24: selkie=vertical ref=vertical (start diff=1531px, end diff=1511px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (283,108) → (327,162) Edge 2: (326,314) → (327,364) Edge 3: (347,404) → (384,478) Edge 4: (288,404) → (188,1214) Edge 5: (388,1239) → (422,1304) Edge 6: (422,1344) → (422,1418) Edge 7: (422,1458) → (365,1584) Edge 8: (601,1254) → (469,1678) Edge 9: (324,1624) → (455,1678) Edge 10: (277,22) → (277,72) Edge 11: (326,201) → (326,275) Edge 12: (384,518) → (384,592) Edge 13: (465,954) → (611,1214) Edge 14: (303,970) → (171,1214) Edge 15: (450,1115) → (460,1189) Edge 16: (306,1189) → (316,1115) Edge 17: (324,1483) → (324,1584) Edge 18: (586,1214) → (586,1214) Edge 19: (149,1214) → (149,1214) Edge 20: (280,1596) → (48,1533) Edge 21: (89,60) → (89,135) Edge 22: (89,175) → (89,250) Edge 23: (89,290) → (89,365) Edge 24: (89,405) → (89,480) Selkie: Edge 1: (752,14) → (752,64) Edge 2: (611,115) → (611,180) Edge 3: (611,216) → (611,301) Edge 4: (722,352) → (722,432) Edge 5: (698,468) → (632,568) Edge 6: (768,461) → (664,1524) Edge 7: (632,604) → (611,704) Edge 8: (611,1269) → (504,1524) Edge 9: (611,1269) → (634,1524) Edge 10: (611,1269) → (611,1369) Edge 11: (611,755) → (611,850) Edge 12: (611,886) → (611,981) Edge 13: (611,1017) → (611,1112) Edge 14: (611,1148) → (611,1243) Edge 15: (752,1420) → (752,1515) Edge 16: (752,1551) → (752,1666) Edge 17: (611,1714) → (611,704) Edge 18: (611,1714) → (611,1808) Edge 19: (611,1702) → (611,1808) Edge 20: (504,1524) → (611,1738) Edge 21: (634,1524) → (611,1738) Edge 22: (624,1808) → (752,64) Edge 23: (504,1560) → (619,1894) Edge 24: (611,1844) → (619,1894)
[WARN] colors: Color mismatch (42% match): Missing fill colors: ["#333", "#131300", "#552222", "black", "white", "#e0e0e0", "#fff5ad"]; Extra fill colors: ["#ffffcc", "#ffffff", "#ffffde", "#666666"]
[WARN] aspect_ratio: Aspect ratio differs significantly: reference 0.42, selkie 0.69 (63% difference)
[WARN] composite_size: Composite 'Idle' size differs: reference 700x1461, selkie 1222x1674 (width 75% diff, height 15% diff)
[WARN] composite_size: Composite 'Processing' size differs: reference 600x1233, selkie 856x1425 (width 43% diff, height 16% diff)
[WARN] nested_composite_centering: Nested composite 'Processing' not centered in 'Idle': -141px offset (reference: 30px)
treemap Warning
selkie
Category B 40 Category A 30 Item B2 25 Item B1 15 Item A2 20 Item A1 10
mermaid.js
Category B40Category A30Item B225Item B115Item A220Item A110
Source
treemap-beta
"Category A"
    "Item A1": 10
    "Item A2": 20
"Category B"
    "Item B1": 15
    "Item B2": 25
[INFO] colors: Color differences (70% match): Missing fill colors: ["#552222", "black", "#efefef"]
[WARN] text_fill_mismatch: Text fill color mismatch: selkie uses ["#ffffff", "rgb(255, 255, 255)", "#333"] but reference text has no inline fill (uses CSS/foreignObject). Reference text color is typically #333 (dark) via CSS .label class.
treemap_complex Warning
selkie
Company Budget 2,200,000 Engineering 900,000 Sales 800,000 Marketing 500,000 Backend 400,000 Frontend 300,000 DevOps 200,000 Direct 500,000 Channel 300,000 Digital 250,000 Events 150,000 Print 100,000
mermaid.js
Company Budget2,200,000Engineering900,000Sales800,000Marketing500,000Backend400,000Frontend300,000DevOps200,000Direct500,000ChannelDigital250,000Events150,000Print
Source
treemap-beta
"Company Budget"
    "Engineering":::engineering
        "Frontend": 300000
        "Backend": 400000
        "DevOps": 200000
    "Marketing":::marketing
        "Digital": 250000
        "Print": 100000
        "Events": 150000
    "Sales":::sales
        "Direct": 500000
        "Channel": 300000

classDef engineering fill:#6b9bc3,stroke:#333;
classDef marketing fill:#c36b9b,stroke:#333;
classDef sales fill:#c3a66b,stroke:#333;
[INFO] colors: Color differences (79% match): Missing fill colors: ["#efefef", "#552222", "black"]; Extra fill colors: ["rgb(255,255,255)"]
[WARN] text_fill_mismatch: Text fill color mismatch: selkie uses ["#333", "#ffffff", "rgb(255, 255, 255)"] but reference text has no inline fill (uses CSS/foreignObject). Reference text color is typically #333 (dark) via CSS .label class.
xychart Match
selkie
Monthly Sales Sales (units) 0 10 20 30 40 50 60 70 80 90 100 Jan Feb Mar Apr May Jun
mermaid.js
Monthly SalesJanFebMarAprMayJun1009080706050403020100Sales (units)
Source
xychart-beta
    title "Monthly Sales"
    x-axis [Jan, Feb, Mar, Apr, May, Jun]
    y-axis "Sales (units)" 0 --> 100
    bar [20, 35, 45, 62, 78, 91]
    line [15, 30, 40, 55, 70, 85]
[INFO] colors: Color differences (67% match): Missing fill colors: ["#333", "#552222"]; Extra fill colors: ["rgba(232,232,232,0.8)", "#ffffde"]
xychart_complex Match
selkie
Website Analytics Visitors (thousands) 0 5 10 15 20 25 30 35 40 45 50 Mon Tue Wed Thu Fri Sat Sun
mermaid.js
Website AnalyticsMonTueWedThuFriSatSun50454035302520151050Visitors (thousands)
Source
xychart-beta
    title "Website Analytics"
    x-axis [Mon, Tue, Wed, Thu, Fri, Sat, Sun]
    y-axis "Visitors (thousands)" 0 --> 50
    bar [12, 18, 25, 22, 30, 45, 42]
    line [10, 15, 20, 18, 25, 40, 38]
    line [8, 12, 18, 15, 22, 35, 30]
[INFO] colors: Color differences (67% match): Missing fill colors: ["#552222", "#333"]; Extra fill colors: ["rgba(232,232,232,0.8)", "#ffffde"]
flowchart Warning
selkie
Yes No Start Decision Action 1 Action 2 End Round Subroutine Database Circle
mermaid.js

Yes

No

Start

Decision

Action 1

Action 2

End

Round

Subroutine

Database

Circle

Source
flowchart LR
    A[Start] --> B{Decision}
    B -->|Yes| C[Action 1]
    B -->|No| D[Action 2]
    C --> E[End]
    D --> E
    E --> F([Round])
    F --> G[[Subroutine]]
    G --> H[(Database)]
    H o--o I((Circle))
[INFO] dimensions: Width differs by 10%: expected 1116, got 1230
[WARN] stroke_width: Edge stroke-width differs: expected 0.1, got 1.1 (1295% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=horizontal ref=horizontal (start diff=25px, end diff=21px) Edge 2: selkie=diagonal ref=diagonal (start diff=13px, end diff=10px) Edge 3: selkie=diagonal ref=diagonal (start diff=11px, end diff=11px) Edge 4: selkie=diagonal ref=diagonal (start diff=13px, end diff=14px) Edge 5: selkie=diagonal ref=diagonal (start diff=14px, end diff=17px) Edge 6: selkie=horizontal ref=horizontal (start diff=36px, end diff=33px) Edge 7: selkie=horizontal ref=horizontal (start diff=31px, end diff=34px) Edge 8: selkie=horizontal ref=horizontal (start diff=69px, end diff=74px) Edge 9: selkie=horizontal ref=horizontal (start diff=98px, end diff=98px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (103,87) → (149,87) Edge 2: (246,67) → (335,35) Edge 3: (246,107) → (335,139) Edge 4: (458,35) → (512,58) Edge 5: (458,139) → (512,116) Edge 6: (594,87) → (641,87) Edge 7: (713,88) → (759,87) Edge 8: (871,88) → (917,87) Edge 9: (1001,87) → (1051,87) Selkie: Edge 1: (80,78) → (130,78) Edge 2: (238,56) → (340,26) Edge 3: (238,99) → (340,129) Edge 4: (448,26) → (500,51) Edge 5: (448,129) → (500,104) Edge 6: (559,78) → (609,78) Edge 7: (742,78) → (792,78) Edge 8: (940,78) → (990,78) Edge 9: (1099,78) → (1149,78)
[INFO] colors: Color differences (50% match): Missing fill colors: ["#333", "#552222", "#000", "currentcolor"]
flowchart_full Warning
selkie
Main Flow All Shapes Edge Types Yes No Rectangle Rounded Diamond Decision Stadium Subroutine Cylinder DB Circle Asymmetric Parallelogram Reverse Para Trapezoid Inv Trapezoid Hexagon Double Circle O P Q R S T U V W
mermaid.js

Edge Types

All Shapes

Main Flow

Yes

No

Rectangle

Rounded

Diamond Decision

Stadium

Subroutine

Cylinder DB

Circle

Asymmetric

Parallelogram

Reverse Para

Trapezoid

Inv Trapezoid

Hexagon

Double Circle

O

P

Q

R

S

T

U

V

W

Source
flowchart TB
    subgraph main [Main Flow]
        A[Rectangle] --> B(Rounded)
        B --> C{Diamond Decision}
        C -->|Yes| D([Stadium])
        C -->|No| E[[Subroutine]]
        D --> F[(Cylinder DB)]
        E --> F
    end
    subgraph shapes [All Shapes]
        G((Circle)) --> H>Asymmetric]
        H --> I[/Parallelogram/]
        I --> J[\Reverse Para\]
        J --> K[/Trapezoid\]
        K --> L[\Inv Trapezoid/]
        L --> M{{Hexagon}}
        M --> N(((Double Circle)))
    end
    subgraph edges [Edge Types]
        O --> P
        O --- Q
        O -.- R
        O -.-> S
        O ==> T
        O <--> U
        O x--x V
        O o--o W
    end
    F --> G
    N --> O
[INFO] dimensions: Width differs by 15%: expected 995, got 846
[INFO] dimensions: Height differs by 7%: expected 1824, got 1960
[WARN] stroke_width: Edge stroke-width differs: expected 0.1, got 1.2 (733% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=vertical ref=vertical (start diff=81px, end diff=81px) Edge 2: selkie=vertical ref=vertical (start diff=81px, end diff=80px) Edge 3: selkie=diagonal ref=diagonal (start diff=91px, end diff=109px) Edge 4: selkie=diagonal ref=diagonal (start diff=70px, end diff=55px) Edge 5: selkie=diagonal ref=diagonal (start diff=111px, end diff=95px) Edge 6: selkie=diagonal ref=diagonal (start diff=59px, end diff=72px) Edge 7: selkie=vertical ref=vertical (start diff=86px, end diff=88px) Edge 8: selkie=vertical ref=vertical (start diff=92px, end diff=94px) Edge 9: selkie=vertical ref=vertical (start diff=99px, end diff=102px) Edge 10: selkie=vertical ref=vertical (start diff=108px, end diff=111px) Edge 11: selkie=vertical ref=vertical (start diff=118px, end diff=120px) Edge 12: selkie=vertical ref=vertical (start diff=117px, end diff=120px) Edge 13: selkie=vertical ref=vertical (start diff=127px, end diff=130px) Edge 14: selkie=diagonal ref=diagonal (start diff=129px, end diff=114px) Edge 15: selkie=diagonal ref=diagonal (start diff=129px, end diff=114px) Edge 16: selkie=diagonal ref=diagonal (start diff=129px, end diff=121px) Edge 17: selkie=diagonal ref=diagonal (start diff=132px, end diff=134px) Edge 18: selkie=diagonal ref=diagonal (start diff=138px, end diff=144px) Edge 19: selkie=diagonal ref=diagonal (start diff=143px, end diff=157px) Edge 20: selkie=diagonal ref=diagonal (start diff=142px, end diff=169px) Edge 21: selkie=diagonal ref=diagonal (start diff=142px, end diff=186px) Edge 22: selkie=vertical ref=vertical (start diff=83px, end diff=84px) Edge 23: selkie=vertical ref=vertical (start diff=136px, end diff=140px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (495,87) → (496,134) Edge 2: (496,192) → (495,237) Edge 3: (462,389) → (423,492) Edge 4: (528,389) → (568,492) Edge 5: (423,535) → (449,587) Edge 6: (568,535) → (541,587) Edge 7: (495,813) → (496,860) Edge 8: (496,903) → (496,949) Edge 9: (496,992) → (496,1038) Edge 10: (496,1081) → (496,1127) Edge 11: (496,1170) → (496,1216) Edge 12: (496,1274) → (496,1320) Edge 13: (496,1363) → (495,1408) Edge 14: (460,1665) → (77,1733) Edge 15: (460,1666) → (197,1737) Edge 16: (460,1671) → (317,1737) Edge 17: (464,1687) → (436,1733) Edge 18: (526,1687) → (554,1733) Edge 19: (534,1672) → (674,1733) Edge 20: (531,1666) → (794,1737) Edge 21: (531,1665) → (916,1737) Edge 22: (495,656) → (495,752) Edge 23: (495,1533) → (495,1629) Selkie: Edge 1: (415,78) → (415,128) Edge 2: (415,181) → (415,231) Edge 3: (372,394) → (315,507) Edge 4: (458,394) → (515,507) Edge 5: (315,560) → (357,610) Edge 6: (515,560) → (473,610) Edge 7: (415,844) → (415,894) Edge 8: (415,947) → (415,997) Edge 9: (415,1050) → (415,1100) Edge 10: (415,1152) → (415,1202) Edge 11: (415,1255) → (415,1305) Edge 12: (415,1358) → (415,1408) Edge 13: (415,1461) → (415,1511) Edge 14: (390,1774) → (65,1846) Edge 15: (390,1775) → (165,1846) Edge 16: (390,1779) → (265,1846) Edge 17: (390,1796) → (365,1846) Edge 18: (440,1796) → (465,1846) Edge 19: (440,1779) → (565,1846) Edge 20: (440,1775) → (665,1846) Edge 21: (440,1774) → (765,1846) Edge 22: (415,678) → (415,778) Edge 23: (415,1644) → (415,1744)
[INFO] colors: Color differences (50% match): Missing fill colors: ["#552222", "#333", "#000", "currentcolor"]
pie Match
selkie
40% 25% 20% 15% Project Distribution Development Testing Documentation Design
mermaid.js
40%25%20%15%Project DistributionDevelopmentTestingDocumentationDesign
Source
pie title Project Distribution
    "Development" : 40
    "Testing" : 25
    "Documentation" : 15
    "Design" : 20

No issues detected

sequence Warning
selkie
Hello Bob! Hi Alice! Login request Token How are you? I'm good, thanks! Alice Bob Server Authentication Bob thinks Alice Bob Server
mermaid.js
ServerBobAliceServerBobAliceAuthenticationBob thinksHello Bob!Hi Alice!Login requestTokenHow are you?I'm good, thanks!
Source
sequenceDiagram
    participant A as Alice
    participant B as Bob
    participant C as Server
    A->>B: Hello Bob!
    B-->>A: Hi Alice!
    Note over A,B: Authentication
    A->>+C: Login request
    C-->>-A: Token
    A->>B: How are you?
    B-->>A: I'm good, thanks!
    Note right of B: Bob thinks
[WARN] shapes: path count differs: expected 6, got 2 (67% diff)
[WARN] shapes: line count differs: expected 9, got 11 (22% diff)
[WARN] text_placement: Text vertical placement differs: selkie positions text near bottom (379% from top), reference positions text near top (-309% from top). Difference: 688%
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (3 issues): "Alice Alice" at y-offset 470px (723%) vs reference 23px (35%) "Bob Bob" at y-offset 470px (723%) vs reference 23px (35%) "Server Server" at y-offset 470px (723%) vs reference 23px (35%)
[INFO] colors: Color differences (55% match): Missing fill colors: ["#333", "black", "#fff5ad", "hsl(259.6261682243,59.7765363128%,87.9019607843%)", "#552222"]; Extra fill colors: ["#ffffde", "#ffffcc", "rgba(232,232,232,0.8)"]
class Warning
selkie
1 many has Animal +int age +String gender +isMammal() +mate() Egg Duck +String beakColor +swim() +quack() Zebra +bool is_wild +run() Fish -int sizeInFeet -canEat()
mermaid.js

has

1
many

Animal

+int age

+String gender

+isMammal()

+mate()

Duck

+String beakColor

+swim()

+quack()

Fish

-int sizeInFeet

-canEat()

Zebra

+bool is_wild

+run()

Egg

Source
classDiagram
    Animal <|-- Duck
    Animal <|-- Fish
    Animal <|-- Zebra
    Animal : +int age
    Animal : +String gender
    Animal: +isMammal()
    Animal: +mate()
    class Duck{
        +String beakColor
        +swim()
        +quack()
    }
    class Fish{
        -int sizeInFeet
        -canEat()
    }
    class Zebra{
        +bool is_wild
        +run()
    }
    Duck "1" *-- "many" Egg : has
[INFO] dimensions: Height differs by 9%: expected 584, got 636
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=diagonal ref=diagonal (start diff=68px, end diff=23px) Edge 2: selkie=vertical ref=vertical (start diff=27px, end diff=24px) Edge 3: selkie=diagonal ref=diagonal (start diff=66px, end diff=36px) Edge 4: selkie=vertical ref=vertical (start diff=9px, end diff=49px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (206,158) → (92,250) Edge 2: (298,217) → (298,262) Edge 3: (390,162) → (489,262) Edge 4: (92,435) → (92,492) Selkie: Edge 1: (234,96) → (85,272) Edge 2: (308,192) → (308,284) Edge 3: (383,96) → (517,284) Edge 4: (85,440) → (85,540)
[WARN] colors: Color mismatch (25% match): Missing fill colors: ["#131300", "#333", "currentcolor", "#552222", "transparent", "#9370db"]; Extra fill colors: ["#666666", "rgba(232,232,232,0.8)", "#ffffcc", "#ffffde", "#ffffff"]
state Warning
selkie
Error Idle Running start stop error reset
mermaid.js

start

stop

error

reset

Idle

Running

Error

Source
stateDiagram-v2
    [*] --> Idle
    Idle --> Running : start
    Running --> Idle : stop
    Running --> Error : error
    Error --> Idle : reset
    Error --> [*]
[INFO] dimensions: Width differs by 16%: expected 167, got 194
[WARN] stroke_width: Edge stroke-width differs: expected 0.8, got 1.1 (42% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=vertical ref=vertical (start diff=20px, end diff=19px) Edge 2: selkie=diagonal ref=diagonal (start diff=23px, end diff=17px) Edge 3: selkie=diagonal ref=diagonal (start diff=18px, end diff=21px) Edge 4: selkie=diagonal ref=diagonal (start diff=21px, end diff=26px) Edge 5: selkie=diagonal ref=diagonal (start diff=31px, end diff=23px) Edge 6: selkie=vertical ref=vertical (start diff=31px, end diff=31px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (78,22) → (79,72) Edge 2: (60,112) → (42,186) Edge 3: (61,186) → (79,112) Edge 4: (51,226) → (80,300) Edge 5: (112,300) → (99,111) Edge 6: (96,340) → (96,390) Selkie: Edge 1: (96,14) → (96,64) Edge 2: (75,95) → (41,170) Edge 3: (69,170) → (96,100) Edge 4: (55,206) → (90,276) Edge 5: (131,276) → (116,96) Edge 6: (108,312) → (108,362)
[WARN] colors: Color mismatch (42% match): Missing fill colors: ["white", "#e0e0e0", "#fff5ad", "black", "#552222", "#333", "#131300"]; Extra fill colors: ["#ffffde", "#ffffff", "#666666", "#ffffcc"]
er Error
selkie
places contains includes CUSTOMER string name string email PK string address LINE-ITEM ORDER int orderNumber PK date orderDate string status PRODUCT int id PK string name float price
mermaid.js

places

contains

includes

CUSTOMER

string

name

string

email

PK

string

address

ORDER

int

orderNumber

PK

date

orderDate

string

status

LINE-ITEM

PRODUCT

int

id

PK

string

name

float

price

Source
erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ LINE-ITEM : contains
    PRODUCT ||--o{ LINE-ITEM : includes
    CUSTOMER {
        string name
        string email PK
        string address
    }
    ORDER {
        int orderNumber PK
        date orderDate
        string status
    }
    PRODUCT {
        int id PK
        string name
        float price
    }
[INFO] dimensions: Height differs by 11%: expected 644, got 713
[WARN] shapes: rect count differs: expected 1, got 16 (1500% diff)
[WARN] shapes: path count differs: expected 35, got 11 (69% diff)
[WARN] shapes: line count differs: expected 0, got 9 (100% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=vertical ref=vertical (start diff=17px, end diff=15px) Edge 2: selkie=diagonal ref=diagonal (start diff=20px, end diff=65px) Edge 3: selkie=diagonal ref=diagonal (start diff=91px, end diff=47px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: entity-CUSTOMER-0.bottom (centered) → entity-ORDER-1.top (centered) Edge 2: entity-ORDER-1.bottom (centered) → entity-LINE-ITEM-2.left (offset -30px) Edge 3: entity-PRODUCT-3.bottom (centered) → entity-LINE-ITEM-2.right (offset -30px) Selkie: Edge 1: .bottom (centered) → .top (centered) Edge 2: .bottom (centered) → .left (centered) Edge 3: .bottom (centered) → .right (centered)
[WARN] colors: Color mismatch (40% match): Missing fill colors: ["#333", "hsl(240,100%,100%)", "hsl(240,100%,97.2745098039%)", "hsl(80,100%,96.2745098039%)", "#552222", "none"]; Extra fill colors: ["rgba(232,232,232,0.8)", "#ffffff", "#ffffde"]
[ERROR] aspect_ratio: Diagram orientation differs: reference is square (556x644, ratio 0.86), selkie is portrait (556x712, ratio 0.78)
[INFO] row_distribution: Node row distribution differs: reference has 4 rows (~1.2 nodes/row), selkie has 3 rows (~1.3 nodes/row)
gantt Match
selkie
2024-01-01 2024-01-03 2024-01-05 2024-01-07 2024-01-09 2024-01-11 2024-01-13 2024-01-15 2024-01-17 2024-01-19 2024-01-21 2024-01-23 2024-01-25 2024-01-27 2024-01-29 2024-01-31 Requirements Design Backend Frontend API Integration Unit Tests QA Planning Development Testing Project Timeline
mermaid.js
2024-01-012024-01-032024-01-052024-01-072024-01-092024-01-112024-01-132024-01-152024-01-172024-01-192024-01-212024-01-232024-01-252024-01-272024-01-292024-01-31Requirements Design Backend Frontend Unit Tests API Integration QA PlanningDevelopmentTestingProject Timeline
Source
gantt
    title Project Timeline
    dateFormat YYYY-MM-DD
    section Planning
    Requirements :a1, 2024-01-01, 7d
    Design      :a2, after a1, 5d
    section Development
    Backend     :crit, b1, after a2, 10d
    Frontend    :b2, after a2, 8d
    API Integration :b3, after b1, 3d
    section Testing
    Unit Tests  :c1, after b2, 3d
    QA          :c2, after b3, 5d
[INFO] colors: Color differences (67% match): Missing fill colors: ["#003163", "#eeeeee", "#333", "white", "#552222"]; Extra fill colors: ["#000000", "rgba(232,232,232,0.8)", "#ffffff", "#ececff", "#ffffde"]
requirement Warning
selkie
<<satisfies>> <<traces>> <<contains>> <<verifies>> <<Functional Requirement>> test_req2 ID: 1.1 Text: the second test text. Risk: Low Verification: Inspection <<Performance Requirement>> test_req3 ID: 1.2 Text: the third test text. Risk: Medium Verification: Demonstration <<Requirement>> test_req ID: 1 Text: the test text. Risk: High Verification: Test <<Element>> test_entity2 Type: word doc Doc Ref: reqs/test_entity <<Element>> test_entity Type: simulation
mermaid.js

<<satisfies>>

<<traces>>

<<contains>>

<<verifies>>

<<Requirement>>

test_req

ID: 1

Text: the test text.

Risk: High

Verification: Test

<<Functional Requirement>>

test_req2

ID: 1.1

Text: the second test text.

Risk: Low

Verification: Inspection

<<Performance Requirement>>

test_req3

ID: 1.2

Text: the third test text.

Risk: Medium

Verification: Demonstration

<<Element>>

test_entity

Type: simulation

<<Element>>

test_entity2

Type: word doc

Doc Ref: reqs/test_entity

Source
requirementDiagram

    requirement test_req {
    id: 1
    text: the test text.
    risk: high
    verifymethod: test
    }

    functionalRequirement test_req2 {
    id: 1.1
    text: the second test text.
    risk: low
    verifymethod: inspection
    }

    performanceRequirement test_req3 {
    id: 1.2
    text: the third test text.
    risk: medium
    verifymethod: demonstration
    }

    element test_entity {
    type: simulation
    }

    element test_entity2 {
    type: word doc
    docRef: reqs/test_entity
    }

    test_entity - satisfies -> test_req2
    test_req - traces -> test_req2
    test_req - contains -> test_req3
    test_entity2 - verifies -> test_req
[WARN] shapes: rect count differs: expected 0, got 14 (100% diff)
[WARN] shapes: path count differs: expected 15, got 6 (60% diff)
[WARN] shapes: line count differs: expected 2, got 7 (250% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=diagonal ref=diagonal (start diff=242px, end diff=18px) Edge 2: selkie=diagonal ref=diagonal (start diff=17px, end diff=18px) Edge 3: selkie=diagonal ref=diagonal (start diff=12px, end diff=16px) Edge 4: selkie=vertical ref=vertical (start diff=13px, end diff=16px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: test_entity.bottom (centered) → (92,476) Edge 2: (291,382) → (200,476) Edge 3: (407,402) → (423,476) Edge 4: test_entity2.bottom (centered) → (370,218) Selkie: Edge 1: (75,124) → (85,460) Edge 2: (274,377) → (192,460) Edge 3: (408,390) → (426,460) Edge 4: (359,136) → (359,206)
[INFO] markers: Marker count differs: expected 2, got 3
[WARN] colors: Color mismatch (43% match): Missing fill colors: ["black", "#333", "#552222", "#131300"]; Extra fill colors: ["#ffffde"]
requirement_full Error
selkie
<<satisfies>> <<traces>> <<contains>> <<contains>> <<derives>> <<refines>> <<verifies>> <<Physical Requirement>> test_req5 ID: 1.2.2 Text: the fifth test text. Risk: Medium Verification: Analysis <<Performance Requirement>> test_req3 ID: 1.2 Text: the third test text. Risk: Medium Verification: Demonstration <<Interface Requirement>> test_req4 ID: 1.2.1 Text: the fourth test text. Risk: Medium Verification: Analysis <<Design Constraint>> test_req6 ID: 1.2.3 Text: the sixth test text. Risk: Medium Verification: Analysis <<Functional Requirement>> test_req2 ID: 1.1 Text: the second test text. Risk: Low Verification: Inspection <<Requirement>> test_req ID: 1 Text: the test text. Risk: High Verification: Test <<Element>> test_entity2 Type: word doc Doc Ref: reqs/test_entity <<Element>> test_entity3 Type: test suite Doc Ref: github.com/all_the_tests <<Element>> test_entity Type: simulation
mermaid.js

<<satisfies>>

<<traces>>

<<contains>>

<<contains>>

<<derives>>

<<refines>>

<<verifies>>

<<Requirement>>

test_req

ID: 1

Text: the test text.

Risk: High

Verification: Test

<<Functional Requirement>>

test_req2

ID: 1.1

Text: the second test text.

Risk: Low

Verification: Inspection

<<Performance Requirement>>

test_req3

ID: 1.2

Text: the third test text.

Risk: Medium

Verification: Demonstration

<<Interface Requirement>>

test_req4

ID: 1.2.1

Text: the fourth test text.

Risk: Medium

Verification: Analysis

<<Physical Requirement>>

test_req5

ID: 1.2.2

Text: the fifth test text.

Risk: Medium

Verification: Analysis

<<Design Constraint>>

test_req6

ID: 1.2.3

Text: the sixth test text.

Risk: Medium

Verification: Analysis

<<Element>>

test_entity

Type: simulation

<<Element>>

test_entity2

Type: word doc

Doc Ref: reqs/test_entity

<<Element>>

test_entity3

Type: test suite

Doc Ref: github.com/all_the_tests

Source
requirementDiagram

    requirement test_req {
    id: 1
    text: the test text.
    risk: high
    verifymethod: test
    }

    functionalRequirement test_req2 {
    id: 1.1
    text: the second test text.
    risk: low
    verifymethod: inspection
    }

    performanceRequirement test_req3 {
    id: 1.2
    text: the third test text.
    risk: medium
    verifymethod: demonstration
    }

    interfaceRequirement test_req4 {
    id: 1.2.1
    text: the fourth test text.
    risk: medium
    verifymethod: analysis
    }

    physicalRequirement test_req5 {
    id: 1.2.2
    text: the fifth test text.
    risk: medium
    verifymethod: analysis
    }

    designConstraint test_req6 {
    id: 1.2.3
    text: the sixth test text.
    risk: medium
    verifymethod: analysis
    }

    element test_entity {
    type: simulation
    }

    element test_entity2 {
    type: word doc
    docRef: reqs/test_entity
    }

    element test_entity3 {
    type: "test suite"
    docRef: github.com/all_the_tests
    }

    test_entity - satisfies -> test_req2
    test_req - traces -> test_req2
    test_req - contains -> test_req3
    test_req3 - contains -> test_req4
    test_req4 - derives -> test_req5
    test_req5 - refines -> test_req6
    test_entity3 - verifies -> test_req5
[WARN] dimensions: Width differs by 27%: expected 856, got 1086
[WARN] shapes: rect count differs: expected 0, got 25 (100% diff)
[WARN] shapes: path count differs: expected 26, got 9 (65% diff)
[WARN] shapes: line count differs: expected 2, got 11 (450% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=vertical ref=diagonal (start diff=35px, end diff=23px) Edge 2: selkie=diagonal ref=diagonal (start diff=530px, end diff=63px) Edge 3: selkie=diagonal ref=diagonal (start diff=532px, end diff=536px) Edge 4: selkie=vertical ref=vertical (start diff=536px, end diff=536px) Edge 5: selkie=diagonal ref=diagonal (start diff=536px, end diff=400px) Edge 6: selkie=vertical ref=vertical (start diff=190px, end diff=190px) Edge 7: selkie=diagonal ref=diagonal (start diff=532px, end diff=24px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: test_entity.bottom (centered) → (92,266) Edge 2: (291,172) → (200,266) Edge 3: (407,192) → (423,266) Edge 4: (423,450) → (423,524) Edge 5: (423,708) → (465,782) Edge 6: (568,966) → (568,1040) Edge 7: test_entity3.bottom (centered) → (672,782) Selkie: Edge 1: (111,148) → (111,254) Edge 2: (820,184) → (222,325) Edge 3: (940,184) → (958,254) Edge 4: (958,438) → (958,508) Edge 5: (958,692) → (864,786) Edge 6: (757,946) → (757,1016) Edge 7: (622,160) → (660,762)
[INFO] markers: Marker count differs: expected 2, got 3
[WARN] colors: Color mismatch (43% match): Missing fill colors: ["black", "#552222", "#131300", "#333"]; Extra fill colors: ["#ffffde"]
[ERROR] aspect_ratio: Diagram orientation differs: reference is portrait (855x1232, ratio 0.69), selkie is square (1085x1216, ratio 0.89)
example_pie_netflix Match
selkie
90% 10% NETFLIX Time spent looking for movie Time spent watching it
mermaid.js
90%10%NETFLIXTime spent looking for movieTime spent watching it
Source
pie title NETFLIX
         "Time spent looking for movie" : 90
         "Time spent watching it" : 10

No issues detected

example_pie_voldemort Match
selkie
90% 6% 4% What Voldemort doesn't have? FRIENDS FAMILY NOSE
mermaid.js
90%6%4%What Voldemort doesn't have?FRIENDSFAMILYNOSE
Source
pie title What Voldemort doesn't have?
         "FRIENDS" : 2
         "FAMILY" : 3
         "NOSE" : 45

No issues detected

example_sequence_basic Warning
selkie
Hello Bob, how are you? How about you John? I am good thanks! I am good thanks! Checking with John... Yes... John, how are you? Alice Bob John Bob thinks a long long time, so long that the text does not fit on a row. Alice Bob John
mermaid.js
JohnBobAliceJohnBobAliceBob thinks a longlong time, so longthat the text doesnot fit on a row.Hello Bob, how are you?How about you John?I am good thanks!I am good thanks!Checking with John...Yes... John, how are you?
Source
sequenceDiagram
    Alice ->> Bob: Hello Bob, how are you?
    Bob-->>John: How about you John?
    Bob--x Alice: I am good thanks!
    Bob-x John: I am good thanks!
    Note right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row.

    Bob-->Alice: Checking with John...
    Alice->John: Yes... John, how are you?
[INFO] dimensions: Width differs by 13%: expected 790, got 690
[INFO] dimensions: Height differs by 11%: expected 541, got 483
[WARN] shapes: path count differs: expected 6, got 2 (67% diff)
[WARN] shapes: line count differs: expected 9, got 11 (22% diff)
[WARN] text_placement: Text vertical placement differs: selkie positions text near bottom (341% from top), reference positions text near top (-315% from top). Difference: 656%
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (3 issues): "Alice Alice" at y-offset 421px (648%) vs reference 23px (35%) "Bob Bob" at y-offset 421px (648%) vs reference 23px (35%) "John John" at y-offset 421px (648%) vs reference 23px (35%)
[INFO] colors: Color differences (55% match): Missing fill colors: ["#333", "hsl(259.6261682243,59.7765363128%,87.9019607843%)", "#552222", "black", "#fff5ad"]; Extra fill colors: ["#ffffcc", "rgba(232,232,232,0.8)", "#ffffde"]
example_flowchart_basic Warning
selkie
Link text Square Rect Circle Round Rect Rhombus
mermaid.js

Link text

Square Rect

Circle

Round Rect

Rhombus

Source
graph LR
    A[Square Rect] -- Link text --> B((Circle))
    A --> C(Round Rect)
    B --> D{Rhombus}
    C --> D
[WARN] stroke_width: Edge stroke-width differs: expected 0.1, got 1.2 (840% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=diagonal ref=diagonal (start diff=26px, end diff=41px) Edge 2: selkie=diagonal ref=diagonal (start diff=26px, end diff=46px) Edge 3: selkie=diagonal ref=diagonal (start diff=36px, end diff=27px) Edge 4: selkie=diagonal ref=diagonal (start diff=32px, end diff=28px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (147,62) → (290,36) Edge 2: (147,116) → (263,142) Edge 3: (350,36) → (446,64) Edge 4: (378,142) → (446,114) Selkie: Edge 1: (121,61) → (249,33) Edge 2: (121,114) → (218,142) Edge 3: (314,33) → (419,64) Edge 4: (346,142) → (419,111)
[INFO] colors: Color differences (50% match): Missing fill colors: ["#000", "#552222", "#333", "currentcolor"]
example_flowchart_styled Error
selkie
A Two lineedge comment Circle shape Cyrillic Circle shape Начало Diamond with line break Inner / circleand some odd special characters ,.?!+-*ز Odd shape Really long text with linebreakin an Odd shape Roundedsquareshape Rounded square shape Square shape
mermaid.js

A

Two line
edge comment

Odd shape

Rounded
square
shape

Diamond with
line break

Rounded square shape

Square shape

Circle shape

Inner / circle
and some odd
special characters

Really long text with linebreak
in an Odd shape

,.?!+-*ز

Cyrillic

Circle shape Начало

Source
graph TB
    sq[Square shape] --> ci((Circle shape))

    subgraph A
        od>Odd shape]-- Two line<br/>edge comment --> ro
        di{Diamond with <br/> line break} -.-> ro(Rounded<br>square<br>shape)
        di==>ro2(Rounded square shape)
    end

    e --> od3>Really long text with linebreak<br>in an Odd shape]

    e((Inner / circle<br>and some odd <br>special characters)) --> f(,.?!+-*ز)

    cyr[Cyrillic]-->cyr2((Circle shape Начало))

     classDef green fill:#9f6,stroke:#333,stroke-width:2px
     classDef orange fill:#f96,stroke:#333,stroke-width:4px
     class sq,e green
     class di orange
[ERROR] labels_missing: Missing labels: ["Two line", "Rounded", "Diamond with", "Inner / circle", "Really long text with linebreak"]
[WARN] dimensions: Width differs by 25%: expected 1449, got 1086
[WARN] stroke_width: Edge stroke-width differs: expected 0.3, got 1.3 (334% diff)
[WARN] edge_positions: EDGE POSITION DIFFERENCES: Edge 1: selkie=diagonal ref=vertical (start diff=376px, end diff=279px) Edge 2: selkie=diagonal ref=diagonal (start diff=669px, end diff=746px) Edge 3: selkie=diagonal ref=diagonal (start diff=821px, end diff=956px) Edge 4: selkie=point ref=vertical (start diff=1070px, end diff=1103px) Edge 5: selkie=diagonal ref=diagonal (start diff=694px, end diff=300px) Edge 6: selkie=diagonal ref=diagonal (start diff=771px, end diff=515px) Edge 7: selkie=diagonal ref=diagonal (start diff=521px, end diff=167px)
[INFO] edge_details: EDGE ATTACHMENTS: Reference: Edge 1: (758,214) → (758,441) Edge 2: (1049,252) → (978,450) Edge 3: (1115,252) → (1187,466) Edge 4: (1361,214) → (1361,413) Edge 5: (184,79) → (449,95) Edge 6: (199,220) → (449,122) Edge 7: (209,256) → (400,274) Selkie: Edge 1: (1130,159) → (1035,412) Edge 2: (387,159) → (233,419) Edge 3: (295,239) → (233,413) Edge 4: (295,132) → (295,132) Edge 5: (866,208) → (526,385) Edge 6: (970,205) → (874,413) Edge 7: (721,159) → (288,399)
[INFO] labels_extra: Extra labels in selkie: ["Inner / circle and some odd special characters", "Really long text with linebreak in an Odd shape", "Diamond with line break", "Two line edge comment"]
[INFO] colors: Color differences (50% match): Missing fill colors: ["#9f6", "#333", "currentcolor", "#f96", "#000", "#552222"]
example_sequence_loops Warning
selkie
Hello Bob, how are you? Not so good :( [is well] Feeling fresh like a daisy alt [is sick] Thanks for asking opt [Extra response] loop [Daily query] Alice Bob Alice Bob
mermaid.js
BobAliceBobAlicealt[is sick][is well]opt[Extra response]loop[Daily query]Hello Bob, how are you?Not so good :(Feeling fresh like a daisyThanks for asking
Source
sequenceDiagram
    loop Daily query
        Alice->>Bob: Hello Bob, how are you?
        alt is sick
            Bob->>Alice: Not so good :(
        else is well
            Bob->>Alice: Feeling fresh like a daisy
        end

        opt Extra response
            Bob->>Alice: Thanks for asking
        end
    end
[INFO] dimensions: Height differs by 6%: expected 557, got 522
[WARN] shapes: rect count differs: expected 4, got 7 (75% diff)
[WARN] shapes: path count differs: expected 6, got 2 (67% diff)
[WARN] shapes: line count differs: expected 19, got 9 (53% diff)
[WARN] text_placement: Text vertical placement differs: selkie positions text near bottom (371% from top), reference positions text near top (-238% from top). Difference: 609%
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (2 issues): "Alice Alice" at y-offset 460px (708%) vs reference 23px (35%) "Bob Bob" at y-offset 460px (708%) vs reference 23px (35%)
[INFO] colors: Color differences (50% match): Missing fill colors: ["#552222", "black", "#fff5ad", "#333", "hsl(259.6261682243,59.7765363128%,87.9019607843%)"]; Extra fill colors: ["#ffffcc", "rgba(232,232,232,0.8)", "#ffffde"]
example_sequence_self_loop Warning
selkie
Hello John, how are you? Fight against hypochondria loop [HealthCheck] Great! How about you? Jolly good! Alice Bob John Rational thoughts prevail... Alice Bob John
mermaid.js
JohnBobAliceJohnBobAliceloop[HealthCheck]Rational thoughtsprevail...Hello John, how are you?Fight against hypochondriaGreat!How about you?Jolly good!
Source
sequenceDiagram
    participant Alice
    participant Bob
    Alice->>John: Hello John, how are you?
    loop HealthCheck
        John->>John: Fight against hypochondria
    end
    Note right of John: Rational thoughts<br/>prevail...
    John-->>Alice: Great!
    John->>Bob: How about you?
    Bob-->>John: Jolly good!
[INFO] dimensions: Width differs by 10%: expected 750, got 672
[INFO] dimensions: Height differs by 16%: expected 574, got 483
[WARN] shapes: path count differs: expected 6, got 3 (50% diff)
[WARN] text_placement: Text vertical placement differs: selkie positions text near bottom (341% from top), reference positions text near top (-276% from top). Difference: 617%
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (3 issues): "Alice Alice" at y-offset 421px (648%) vs reference 23px (35%) "Bob Bob" at y-offset 421px (648%) vs reference 23px (35%) "John John" at y-offset 421px (648%) vs reference 23px (35%)
[INFO] colors: Color differences (55% match): Missing fill colors: ["#fff5ad", "#552222", "#333", "black", "hsl(259.6261682243,59.7765363128%,87.9019607843%)"]; Extra fill colors: ["#ffffcc", "#ffffde", "rgba(232,232,232,0.8)"]
example_sequence_blogging Warning
selkie
Logs in using credentials Query stored accounts Respond with query result Invalid credentials [Credentials found] Successfully logged in Submit new post Store post data Send mail to blog subscribers Store in-site notifications [Response] Successfully posted par [Notifications] alt [Credentials not found] Web Browser Blog Service Account Service Mail Service Storage The user must be logged in to submit blog posts When the user is authenticated, they can now submit new posts Web Browser Blog Service Account Service Mail Service Storage
mermaid.js
StorageMail ServiceAccount ServiceBlog ServiceWeb BrowserStorageMail ServiceAccount ServiceBlog ServiceWeb BrowserThe user must be logged in to submit blog postsWhen the user is authenticated, they can now submit new postspar[Notifications][Response]alt[Credentials not found][Credentials found]Logs in using credentialsQuery stored accountsRespond with query resultInvalid credentialsSuccessfully logged inSubmit new postStore post dataSend mail to blog subscribersStore in-site notificationsSuccessfully posted
Source
sequenceDiagram
    participant web as Web Browser
    participant blog as Blog Service
    participant account as Account Service
    participant mail as Mail Service
    participant db as Storage

    Note over web,db: The user must be logged in to submit blog posts
    web->>+account: Logs in using credentials
    account->>db: Query stored accounts
    db->>account: Respond with query result

    alt Credentials not found
        account->>web: Invalid credentials
    else Credentials found
        account->>-web: Successfully logged in

        Note over web,db: When the user is authenticated, they can now submit new posts
        web->>+blog: Submit new post
        blog->>db: Store post data

        par Notifications
            blog--)mail: Send mail to blog subscribers
            blog--)db: Store in-site notifications
        and Response
            blog-->>-web: Successfully posted
        end
    end
[INFO] dimensions: Width differs by 15%: expected 1112, got 1274
[WARN] shapes: path count differs: expected 6, got 4 (33% diff)
[WARN] shapes: line count differs: expected 25, got 17 (32% diff)
[WARN] text_placement: Text vertical placement differs: selkie positions text near bottom (601% from top), reference positions text near top (-534% from top). Difference: 1134%
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (5 issues): "Web Browser Web Brow..." at y-offset 822px (1264%) vs reference 23px (35%) "Blog Service Blog Se..." at y-offset 822px (1264%) vs reference 23px (35%) "Account Service Acco..." at y-offset 822px (1264%) vs reference 23px (35%) "Mail Service Mail Se..." at y-offset 822px (1264%) vs reference 23px (35%) "Storage Storage" at y-offset 822px (1264%) vs reference 23px (35%)
[INFO] colors: Color differences (55% match): Missing fill colors: ["black", "#333", "#552222", "hsl(259.6261682243,59.7765363128%,87.9019607843%)", "#fff5ad"]; Extra fill colors: ["#ffffde", "#ffffcc", "rgba(232,232,232,0.8)"]
timeline_simple Warning
selkie
History of Social Media Platform 2002 LinkedIn 2004 Facebook Google 2005 YouTube 2006 Twitter
mermaid.js
2002LinkedIn2004FacebookGoogle2005YouTube2006TwitterHistory of Social Media Platform
Source
timeline
    title History of Social Media Platform
    2002 : LinkedIn
    2004 : Facebook : Google
    2005 : YouTube
    2006 : Twitter
[INFO] dimensions: Height differs by 9%: expected 534, got 580
[WARN] colors: Color mismatch (15% match): Missing fill colors: ["hsl(80,100%,76.2745098039%)", "hsl(330,100%,76.2745098039%)", "lightgray", "hsl(240,100%,46.2745098039%)", "hsl(90,100%,76.2745098039%)", "hsl(180,100%,76.2745098039%)", "hsl(150,100%,76.2745098039%)", "#efefef", "hsl(30,100%,76.2745098039%)", "hsl(270,100%,76.2745098039%)", "hsl(0,100%,76.2745098039%)", "hsl(60,100%,73.5294117647%)", "hsl(240,100%,76.2745098039%)", "#333", "#552222", "hsl(210,100%,76.2745098039%)", "hsl(300,100%,76.2745098039%)"]; Extra fill colors: ["#ececff", "hsl(0,100%,76.27%)", "hsl(240,100%,76.27%)", "hsl(150,100%,76.27%)", "hsl(80,100%,76.27%)", "hsl(180,100%,76.27%)", "hsl(60,100%,73.53%)", "hsl(30,100%,76.27%)", "hsl(270,100%,76.27%)", "hsl(210,100%,76.27%)", "rgba(232,232,232,0.8)", "#ffffde", "hsl(300,100%,76.27%)", "hsl(330,100%,76.27%)", "hsl(90,100%,76.27%)"]
timeline_sections Warning
selkie
Timeline of Industrial Revolution 17th-20th century Industry 1.0 Machinery, Waterpower, Steampower Industry 2.0 Electricity, Internalcombustion engine,Mass production Industry 3.0 Electronics,Computers,Automation 21st century Industry 4.0 Internet, Robotics,Internet of Things Industry 5.0 Artificialintelligence, Bigdata, 3D printing
mermaid.js
17th-20th centuryIndustry 1.0Machinery, Waterpower, Steam powerIndustry 2.0Electricity, Internalcombustion engine,Mass productionIndustry 3.0Electronics,Computers,Automation21st centuryIndustry 4.0Internet, Robotics,Internet of ThingsIndustry 5.0Artificialintelligence, Bigdata, 3D printingTimeline of Industrial Revolution
Source
timeline
    title Timeline of Industrial Revolution
    section 17th-20th century
        Industry 1.0 : Machinery, Water power, Steam power
        Industry 2.0 : Electricity, Internal combustion engine, Mass production
        Industry 3.0 : Electronics, Computers, Automation
    section 21st century
        Industry 4.0 : Internet, Robotics, Internet of Things
        Industry 5.0 : Artificial intelligence, Big data, 3D printing
[INFO] dimensions: Height differs by 7%: expected 630, got 672
[WARN] colors: Color mismatch (15% match): Missing fill colors: ["hsl(240,100%,46.2745098039%)", "hsl(180,100%,76.2745098039%)", "hsl(270,100%,76.2745098039%)", "hsl(0,100%,76.2745098039%)", "hsl(30,100%,76.2745098039%)", "hsl(330,100%,76.2745098039%)", "#333", "#efefef", "hsl(210,100%,76.2745098039%)", "lightgray", "hsl(300,100%,76.2745098039%)", "hsl(150,100%,76.2745098039%)", "hsl(240,100%,76.2745098039%)", "hsl(60,100%,73.5294117647%)", "hsl(80,100%,76.2745098039%)", "#552222", "hsl(90,100%,76.2745098039%)"]; Extra fill colors: ["hsl(60,100%,73.53%)", "#ececff", "hsl(0,100%,76.27%)", "hsl(80,100%,76.27%)", "hsl(210,100%,76.27%)", "rgba(232,232,232,0.8)", "#ffffde", "hsl(150,100%,76.27%)", "hsl(30,100%,76.27%)", "hsl(240,100%,76.27%)", "hsl(90,100%,76.27%)", "hsl(180,100%,76.27%)", "hsl(300,100%,76.27%)", "hsl(330,100%,76.27%)", "hsl(270,100%,76.27%)"]
[WARN] vertical_distribution: Nodes are stacked more vertically: selkie Y-spread 320px (ratio 0.38), reference Y-spread 200px (ratio 0.25). Selkie is 60% taller in node distribution.
[INFO] row_distribution: Node row distribution differs: reference has 2 rows (~5.0 nodes/row), selkie has 3 rows (~4.0 nodes/row)
timeline_complex Warning
selkie
England's History Timeline Stone Age 7600 BC Britain's oldestknown house wasbuilt in Orkney,Scotland 6000 BC Sea levels rise andBritain becomes anisland. Bronze Age 2300 BC People arrive fromEurope and settle inBritain. New styles ofpottery and ways ofburying the deadappear. 2200 BC The last majorbuilding works arecompleted atStonehenge. The first metalobjects are made inBritain.
mermaid.js
Stone Age7600 BCBritain's oldestknown house wasbuilt in Orkney,Scotland6000 BCSea levels rise andBritain becomes anisland.Bronze Age2300 BCPeople arrive fromEurope and settle inBritain.New styles ofpottery and ways ofburying the deadappear.2200 BCThe last majorbuilding works arecompleted atStonehenge.The first metalobjects are made inBritain.England's History Timeline
Source
timeline
    title England's History Timeline
    section Stone Age
      7600 BC : Britain's oldest known house was built in Orkney, Scotland
      6000 BC : Sea levels rise and Britain becomes an island.
    section Bronze Age
      2300 BC : People arrive from Europe and settle in Britain.
              : New styles of pottery and ways of burying the dead appear.
      2200 BC : The last major building works are completed at Stonehenge.
              : The first metal objects are made in Britain.
[INFO] dimensions: Height differs by 5%: expected 740, got 781
[WARN] colors: Color mismatch (15% match): Missing fill colors: ["hsl(240,100%,76.2745098039%)", "hsl(180,100%,76.2745098039%)", "hsl(330,100%,76.2745098039%)", "hsl(80,100%,76.2745098039%)", "hsl(210,100%,76.2745098039%)", "#efefef", "hsl(30,100%,76.2745098039%)", "hsl(90,100%,76.2745098039%)", "hsl(150,100%,76.2745098039%)", "hsl(240,100%,46.2745098039%)", "#333", "hsl(60,100%,73.5294117647%)", "hsl(270,100%,76.2745098039%)", "#552222", "hsl(0,100%,76.2745098039%)", "lightgray", "hsl(300,100%,76.2745098039%)"]; Extra fill colors: ["hsl(330,100%,76.27%)", "hsl(0,100%,76.27%)", "hsl(90,100%,76.27%)", "hsl(150,100%,76.27%)", "hsl(30,100%,76.27%)", "rgba(232,232,232,0.8)", "hsl(60,100%,73.53%)", "hsl(80,100%,76.27%)", "#ffffde", "hsl(270,100%,76.27%)", "hsl(240,100%,76.27%)", "hsl(300,100%,76.27%)", "#ececff", "hsl(180,100%,76.27%)", "hsl(210,100%,76.27%)"]
[INFO] row_distribution: Node row distribution differs: reference has 3 rows (~3.3 nodes/row), selkie has 4 rows (~3.0 nodes/row)
sankey_simple Match
selkie
sourceNode 10 targetNode 10
mermaid.js
sourceNode 10targetNode 10
Source
sankey-beta

sourceNode,targetNode,10
[INFO] colors: Color differences (50% match): Missing fill colors: ["#552222", "#333"]; Extra fill colors: ["#ececff", "rgba(232,232,232,0.8)", "#ffffde"]
sankey_chain Match
selkie
a 8 b 8 c 8 d 8
mermaid.js
a 8b 8c 8d 8
Source
sankey-beta

a,b,8
b,c,8
c,d,8
[INFO] colors: Color differences (62% match): Missing fill colors: ["#333", "#552222"]; Extra fill colors: ["#ffffde", "rgba(232,232,232,0.8)", "#ececff"]
sankey_branching Match
selkie
a 8 x 4 b 8 c 12 d 8 e 8 y 4
mermaid.js
a 8b 8c 12d 8e 8x 4y 4
Source
sankey-beta

a,b,8
b,c,8
c,d,8
d,e,8

x,c,4
c,y,4
[INFO] colors: Color differences (73% match): Missing fill colors: ["#333", "#552222"]; Extra fill colors: ["rgba(232,232,232,0.8)", "#ececff", "#ffffde"]
[INFO] row_distribution: Node row distribution differs: reference has 2 rows (~3.5 nodes/row), selkie has 3 rows (~2.3 nodes/row)
sankey_energy Warning
selkie
Bio-conversion 388.93 Liquid 0.6 Losses 26.86 Solid 280.32 Gas 81.14
mermaid.js
Bio-conversion 388.93Liquid 0.6Losses 26.86Solid 280.32Gas 81.14
Source
sankey-beta

Bio-conversion,Liquid,0.597
Bio-conversion,Losses,26.862
Bio-conversion,Solid,280.322
Bio-conversion,Gas,81.144
[WARN] text_placement: Text vertical placement differs: selkie positions text centered (61% from top), reference positions text near top (34% from top). Difference: 27%
[INFO] colors: Color differences (67% match): Missing fill colors: ["#333", "#552222"]; Extra fill colors: ["rgba(232,232,232,0.8)", "#ececff", "#ffffde"]
[INFO] row_distribution: Node row distribution differs: reference has 3 rows (~1.7 nodes/row), selkie has 4 rows (~1.2 nodes/row)
sankey_quoted Warning
selkie
Biofuel imports 35 Heating and cooling 79.33 District heating 22.51 Liquid 35 Residential 79.33 Heating and cooling, commercial 22.51
mermaid.js
Biofuel imports 35Liquid 35Heating and cooling 79.33Residential 79.33District heating 22.51Heating and cooling, commercial 22.51
Source
sankey-beta

"Biofuel imports",Liquid,35
"Heating and cooling",Residential,79.329
"District heating","Heating and cooling, commercial",22.505
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (1 issues): "Heating and cooling,..." at y-offset 19px (33%) vs reference 92px (45%)
[INFO] colors: Color differences (70% match): Missing fill colors: ["#333", "#552222"]; Extra fill colors: ["#ececff", "#ffffde", "rgba(232,232,232,0.8)"]
sankey_empty_lines Match
selkie
Bio-conversion 388.33 Losses 26.86 Solid 280.32 Gas 81.14
mermaid.js
Bio-conversion 388.33Losses 26.86Solid 280.32Gas 81.14
Source
sankey-beta

Bio-conversion,Losses,26.862

Bio-conversion,Solid,280.322

Bio-conversion,Gas,81.144
[INFO] colors: Color differences (62% match): Missing fill colors: ["#552222", "#333"]; Extra fill colors: ["#ffffde", "#ececff", "rgba(232,232,232,0.8)"]
sankey_commas Warning
selkie
Pumped heat 263.7 Heating and cooling, homes 193.03 Heating and cooling, commercial 70.67
mermaid.js
Pumped heat 263.7Heating and cooling, homes 193.03Heating and cooling, commercial 70.67
Source
sankey-beta

Pumped heat,"Heating and cooling, homes",193.026
Pumped heat,"Heating and cooling, commercial",70.672
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (1 issues): "Heating and cooling,..." at y-offset 41px (40%) vs reference 128px (47%)
[INFO] colors: Color differences (57% match): Missing fill colors: ["#552222", "#333"]; Extra fill colors: ["#ececff", "#ffffde", "rgba(232,232,232,0.8)"]
sankey_double_quotes Warning
selkie
Pumped heat 263.7 Heating and cooling, "homes" 193.03 Heating and cooling, "commercial" 70.67
mermaid.js
Pumped heat 263.7Heating and cooling, "homes" 193.03Heating and cooling, "commercial" 70.67
Source
sankey-beta

Pumped heat,"Heating and cooling, ""homes""",193.026
Pumped heat,"Heating and cooling, ""commercial""",70.672
[WARN] text_placement_details: TEXT PLACEMENT MISMATCHES (1 issues): "Heating and cooling,..." at y-offset 41px (40%) vs reference 128px (47%)
[INFO] colors: Color differences (57% match): Missing fill colors: ["#333", "#552222"]; Extra fill colors: ["rgba(232,232,232,0.8)", "#ececff", "#ffffde"]
sankey_energy_full Match
selkie
Agricultural 'waste' 124.73 Biofuel imports 35 Biomass imports 35 Coal imports 11.61 Coal reserves 63.97 Gas imports 40.72 Gas reserves 82.23 Geothermal 7.01 Hydro 7 Marine algae 4.38 Nuclear 839.98 Oil imports 504.29 Oil reserves 107.7 Other waste 134.4 Pumped heat 263.7 Solar 79.16 Tidal 9.45 UK land based bioenergy 182.01 Wave 19.01 Wind 289.37 Bio-conversion 388.93 Coal 75.57 Ngas 122.95 Oil 611.99 Solar PV 59.9 Solar Thermal 19.26 Liquid 647.59 Solid 447.48 Gas 204.1 Thermal generation 1391.99 District heating 79.33 Electricity grid 918.61 H2 conversion 27.14 H2 20.9 Losses 878.33 Industry 568.93 Heating and cooling - commercial 134.16 Heating and cooling - homes 372.2 Over generation / exports 104.45 Road transport 194.53 Agriculture 11.03 Rail transport 12.28 Lighting & appliances - commercial 90.01 Lighting & appliances - homes 93.49 International shipping 128.69 Domestic aviation 14.46 International aviation 206.27 National navigation 33.22
mermaid.js
Agricultural 'waste' 124.73Bio-conversion 388.93Liquid 647.59Losses 878.33Solid 447.48Gas 204.1Biofuel imports 35Biomass imports 35Coal imports 11.61Coal 75.57Coal reserves 63.97District heating 79.33Industry 568.93Heating and cooling - commercial 134.16Heating and cooling - homes 372.2Electricity grid 918.61Over generation / exports 104.45H2 conversion 27.14Road transport 194.53Agriculture 11.03Rail transport 12.28Lighting & appliances - commercial 90.01Lighting & appliances - homes 93.49Gas imports 40.72Ngas 122.95Gas reserves 82.23Thermal generation 1391.99Geothermal 7.01H2 20.9Hydro 7International shipping 128.69Domestic aviation 14.46International aviation 206.27National navigation 33.22Marine algae 4.38Nuclear 839.98Oil imports 504.29Oil 611.99Oil reserves 107.7Other waste 134.4Pumped heat 263.7Solar PV 59.9Solar Thermal 19.26Solar 79.16Tidal 9.45UK land based bioenergy 182.01Wave 19.01Wind 289.37
Source
sankey-beta

Agricultural 'waste',Bio-conversion,124.729
Bio-conversion,Liquid,0.597
Bio-conversion,Losses,26.862
Bio-conversion,Solid,280.322
Bio-conversion,Gas,81.144
Biofuel imports,Liquid,35
Biomass imports,Solid,35
Coal imports,Coal,11.606
Coal reserves,Coal,63.965
Coal,Solid,75.571
District heating,Industry,10.639
District heating,Heating and cooling - commercial,22.505
District heating,Heating and cooling - homes,46.184
Electricity grid,Over generation / exports,104.453
Electricity grid,Heating and cooling - homes,113.726
Electricity grid,H2 conversion,27.14
Electricity grid,Industry,342.165
Electricity grid,Road transport,37.797
Electricity grid,Agriculture,4.412
Electricity grid,Heating and cooling - commercial,40.858
Electricity grid,Losses,56.691
Electricity grid,Rail transport,7.863
Electricity grid,Lighting & appliances - commercial,90.008
Electricity grid,Lighting & appliances - homes,93.494
Gas imports,Ngas,40.719
Gas reserves,Ngas,82.233
Gas,Heating and cooling - commercial,0.129
Gas,Losses,1.401
Gas,Thermal generation,151.891
Gas,Agriculture,2.096
Gas,Industry,48.58
Geothermal,Electricity grid,7.013
H2 conversion,H2,20.897
H2 conversion,Losses,6.242
H2,Road transport,20.897
Hydro,Electricity grid,6.995
Liquid,Industry,121.066
Liquid,International shipping,128.69
Liquid,Road transport,135.835
Liquid,Domestic aviation,14.458
Liquid,International aviation,206.267
Liquid,Agriculture,3.64
Liquid,National navigation,33.218
Liquid,Rail transport,4.413
Marine algae,Bio-conversion,4.375
Ngas,Gas,122.952
Nuclear,Thermal generation,839.978
Oil imports,Oil,504.287
Oil reserves,Oil,107.703
Oil,Liquid,611.99
Other waste,Solid,56.587
Other waste,Bio-conversion,77.81
Pumped heat,Heating and cooling - homes,193.026
Pumped heat,Heating and cooling - commercial,70.672
Solar PV,Electricity grid,59.901
Solar Thermal,Heating and cooling - homes,19.263
Solar,Solar Thermal,19.263
Solar,Solar PV,59.901
Solid,Agriculture,0.882
Solid,Thermal generation,400.12
Solid,Industry,46.477
Thermal generation,Electricity grid,525.531
Thermal generation,Losses,787.129
Thermal generation,District heating,79.329
Tidal,Electricity grid,9.452
UK land based bioenergy,Bio-conversion,182.01
Wave,Electricity grid,19.013
Wind,Electricity grid,289.366
[INFO] colors: Color differences (79% match): Missing fill colors: ["#552222", "#333"]; Extra fill colors: ["rgba(232,232,232,0.8)", "#ececff", "#ffffde"]