@kgdiff/cytoscape: render kgdiff scenes in Cytoscape.js
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- frontend
Research direction
Read packages/g6/README.md and packages/g6/src/index.ts, then review docs/visual-language.md and packages/scene/src/types.ts to understand the adapter API and scene primitives. The issue asks contributors to comment first because the package and API need agreement, so this is not ready for implementation yet. Once agreed, build and test the adapter, add its dev page, guide, README, changeset, and package checks; done means those deliverables are present.
Written by the indexing model from the issue text.
Description
Why
Cytoscape.js is the most widely used graph library in
bioinformatics and in many knowledge graph front ends. People who already show their graphs
with it would rather render a diff in the same canvas than embed a second viewer. kgdiff
already has one renderer adapter, for AntV G6 v5 (@kgdiff/g6); this is the second.
What
A @kgdiff/cytoscape package, modelled on @kgdiff/g6:
toCytoscapeElements(scene, frame): kgdiff's visual primitives as Cytoscape elements plus a
stylesheet, using the same visual language (five colour families, hollow dashed ghosts,
struck-through old names). The stylesheet comes from@kgdiff/scene's theme tokens, not
from hard-coded colours.createDiffGraph(container, scene, options): a controller with the same surface as the G6
one:setLayer('union' | 'before' | 'after'),selectHunk(i),playReplay(),stop(),
setTheme(),destroy().cytoscapeas a peer dependency, as G6 is for@kgdiff/g6.
A first version can leave out the replay and the merge / split arcs; say what is missing in the
README.
Where to start
- Read
packages/g6/README.md, thenpackages/g6/src/index.ts:toG6Data
(#L57)
andcreateDiffGraph
(#L122).
map-node.tsandmap-edge.tsturn primitives into G6 data: the Cytoscape version replaces
these. - What the primitives mean:
docs/visual-language.mdandpackages/scene/src/types.ts. - The G6 tests (
packages/g6/test/) show how to test an adapter without a real canvas. pnpm check:packageschecks a new package the way npm will see it (publint, attw). All
packages share one version: add the new one to thefixedgroup in.changeset/config.json.
Done when
- The package builds, is tested, and has a README with a quick start and a screenshot.
- A dev page like
packages/g6/dev/shows the example datasets. - A guide page next to
docs/guide/g6.md, the package in the README tables, and a changeset.
Comment here first: a new package is a bigger commitment than a feature, and the API is worth
agreeing on before the code.
- Dominant language
- TypeScript
- Stars
- 47
- Forks
- 6
- Avg merge
- 2h 32m
- Merged PRs (30d)
- 22
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from iiwish/kgdiff
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
accessibility help wanted viewer
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
iiwish/kgdiff#16 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 1/100
iiwish/kgdiff#21 · 1 comment ·
Maintainers usually reply within 1 day
-
cli enhancement good first issue
Difficulty 4/5 3-5 days Newbie friendliness 57/100
Maintainers usually reply within 1 day
-
documentation help wanted
Difficulty 3/5 1-2 days Newbie friendliness 76/100
Maintainers usually reply within 1 day
Similar issues
-
maintenance
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
assistant-ui/assistant-ui#10499 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
bug server-sequentialthinking v2
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
modelcontextprotocol/servers#5526 · 1 comment ·
Maintainers usually reply within 1 day
-
app-server bug CLI
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
cimd: default originBoundFields rejects a cross-origin client_uri, which the CIMD draft forbidsOpen
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
better-auth/better-auth#12458 · 1 reaction ·
Maintainers usually reply within 1 day