Skip to content

Scope the remaining Cytoscape deepening candidates (shrink interface, typed contract, sealed handle) #1892

Description

@kmcginnes

Goal

Investigate the deepening candidates beyond the reconciler (B) that haven't been planned yet, and decide how to sequence them into their own Epics. The reconciler produces the internals these build on, so this spike should happen after or alongside it.

Open questions to resolve:

  • A — Shrink the interface. What is the right small declarative interface (elements, stylesheet, layout, selection, handlers)? Which of the ~50 current props are genuinely needed by the Graph View and Schema View versus internal defaults? Which of the ~14 hooks stay as private seams?
  • C — Move the seam. What does a typed element contract look like once the magic data-attributes (__isGroupNode, __iconUrl) and domain imports are removed from the generic layer? What must a second consumer satisfy?
  • D — Seal the raw-Cytoscape escape hatch. What is the minimal typed command handle (zoom, fit, center, screenshot, run layout), and how do domain-specific actions (e.g. fit-to-vertex) map onto it?
  • Reuse. What would it actually take to consume this module in another product — packaging, dependencies, the shape of the contract?

Expected Outcome

A recommendation and rough sequencing for A/C/D — enough to spin up one or more follow-up Epics with their own PRDs. Not a full design; just enough scoping to plan. Kept intentionally loose until the reconciler lands and the internals settle.

Related Issues

Important

Internal only — this issue is maintained by the core team and is not accepting external contributions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    internalSignals that the team will work on this issue internally.tech debtIssues, typically tasks, that are mainly about cleaning up code that is problematic in some way

    Type

    Fields

    No fields configured for Spike.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions