Migrate all Cytoscape visual properties to ele.data() mappers
- Dominant language
- TypeScript
- Stars
- 481
- Forks
- 108
- Avg merge
- 8d 9h
- Merged PRs (30d)
- 7
Description
## Description
After #1725 validates the `ele.data()` + `data()` mapper approach for `background-color`, this slice migrates all remaining Cytoscape visual properties to the new system.
Properties to migrate include: icon/background-image, shape, background-opacity, border (width, color, style), and all edge visual properties (line-color, line-thickness, line-style, arrows, label styles).
## Preferred Solution
- Move all visual properties to `ge_`-prefixed fields in `ele.data()`
- Replace all per-type selectors in the stylesheet with generic `data()` mappers
- Extend `useSyncStylesToGraph` to handle all properties
- Delete `useGraphStyles` / `createGraphStyles` and the per-type selector generation
- Delete `useAllVertexPreferences()` / `useAllEdgePreferences()` if no longer needed
## Related Issues
- Part of #1677
- Depends on #1725
- Supersedes #1678
---
> [!IMPORTANT]
> If you are interested in working on this issue, please leave a comment.
> [!TIP]
> Please use a 👍 reaction to provide a +1/vote. This helps the community and maintainers prioritize this request.
Contributor guide
Research direction
Start with the useSyncStylesToGraph entry point and trace the existing useGraphStyles, createGraphStyles, useAllVertexPreferences(), and useAllEdgePreferences() flows; review dependency #1725 first. Done means the listed vertex and edge visual properties use ge_-prefixed ele.data() fields and generic data() mappers, with the old per-type selector generation and obsolete hooks removed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- data-visualization, frontend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100