Skip to content

Add curated diagram/flowchart reconstruction case #1

@swernerx

Description

@swernerx

Goal

Add a curated real-image case for process diagrams / flowcharts so Morphēa has to preserve connectors, boxes, arrows, labels, and grouping relationships instead of only isolated primitives.

Why this matters

Diagrams are one of the clearest use cases for editable SVG reconstruction. A tracer can make a diagram scalable, but the result is often annoying to edit: arrows become blobs, text fragments mix with boxes, and connector structure is lost. Morphēa should be able to show that it understands the diagram as a scene.

Example case requirements

  • Source image should be local-only, not committed if licensing is unclear.
  • Prefer a simple but realistic diagram: 5-10 nodes, arrows or connector lines, one decision diamond or branch, and at least one repeated node style.
  • Include antialiasing and at least two colors, but avoid photographic backgrounds.
  • Expected structures should include rectangles/rounded rectangles, connector strokes, arrowheads, and bounded text-like regions.

Acceptance criteria

  • Add suite metadata under docs/real-images/suite.json with clear family naming.
  • Add expected primitive/region contracts for boxes, connectors, arrowheads, and deferred text regions.
  • morphea curated-check ... --run keeps existing cases green and reports the new diagram case explicitly.
  • Reports make connector failures inspectable: missing arrowhead, broken connector, over-fragmented text, or wrong box geometry should be visible in JSON/Markdown.
  • Add or update focused tests for any new detector behavior required by the case.

Notes

This should not start by solving OCR. Text can be treated as bounded text-like regions at first. The important part is preserving diagram editability around shapes and connectors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions