Skip to content

Expand v2 with explicitly supported diagram families #69

Description

@anandpant

Goal

Expand Sketchi v2 beyond its currently supported flowchart and mindmap contracts without restoring the legacy generic fallback behavior.

Current state

  • packages/diagram-core registers flowchart and mindmap as explicit typed diagram families.
  • Each supported family has core validation, deterministic rendering, tests, and Storybook coverage.
  • tools/sketchi-generators defines the intended extension path for new diagram families.
  • The old schema advertising 23 types, with most silently falling back to a flowchart template, was deleted in feat: replace legacy app with Sketchi v2 #217.

Direction

Prioritize new diagram families from product demand and eval evidence. Each family should be a real contract with notation and layout semantics, not a display label over generic flowchart output.

Candidate sequence for grooming:

  1. State/decision trees: close to the current graph pipeline while adding meaningful semantics.
  2. Organization/tree diagrams: hierarchical layouts with family-specific constraints.
  3. Sequence/swimlane diagrams: lane and ordering semantics.
  4. ER/class/dataflow diagrams: specialized notation and richer node models.
  5. Timeline, Gantt, network, matrix, and other specialized families only when justified by demand.

Definition of done for each family

  • A typed intermediate representation and semantic validator in diagram-core.
  • Deterministic layout and scene generation in diagram-renderer.
  • Validated persisted Excalidraw output in diagram-excalidraw.
  • Generation guidance and candidate parsing.
  • Maintained scenarios and quality assertions.
  • Unit/functional tests and Storybook coverage.
  • No fallback to another diagram type when the requested contract is unsupported.

Acceptance criteria

  • This issue is groomed into one issue per selected diagram family or coherent family group.
  • Priority is based on product demand and implementation fit, not the deleted 23-type inventory.
  • Every shipped family satisfies the complete contract above.
  • Unsupported types fail explicitly and are not advertised.

Current touchpoints

  • packages/diagram-core/src/diagram-types.ts
  • packages/diagram-core/src/diagram-types/
  • packages/diagram-renderer/src/
  • packages/diagram-excalidraw/src/
  • packages/diagram-generation/
  • packages/diagram-scenarios/
  • tools/sketchi-generators/src/generators/diagram-type/

Rewritten after the Sketchi v2 replacement in #217. The old 19-of-23 inventory and fallback template map no longer exist.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions