Skip to content

refactor: complete redesign#1

Draft
ArturSharapov wants to merge 81 commits intomainfrom
redesign
Draft

refactor: complete redesign#1
ArturSharapov wants to merge 81 commits intomainfrom
redesign

Conversation

@ArturSharapov
Copy link
Member

@ArturSharapov ArturSharapov commented Jun 15, 2024

Motivation

  • Get rid of deepsignal dependency, which is:
    • More expensive in terms of computation
    • Proxy overhead
    • Extra bundle size
    • Difficult to track rendering accurately
  • Eliminate any component rendering
    • Manually control the rendering flow
    • Get rid of react hooks and memoization
    • Interact with DOM directly, bypassing Virtual DOM
  • Absolute decomposability
    • Generalize nodes and edges
    • Convert "base graph" concept to "graph layout"
    • Component builder factory
    • Runtime configuration
      • components config
      • plugins config
      • events config
      • layout config
  • Independent package exports

Plugins

  • Autohide (new, perf)
  • Autosize (new)
  • Movable
  • Selection
  • Draggable
  • Disk
  • Duplication (new)
  • FloatingMenu
  • Renaming
  • Creation
  • State (new)
  • Autolayout (new)

Components

  • Node
  • Edge
  • Group
  • Bus (new)
  • Contents (new)

Other Features

The list of new features implemented is way longer, but here are some of them:

  • Abstract Selection & Draggable plugins to support all kind of components
  • Advanced styling configuration of components using CSS variables
  • Mock data generation
  • Playground editor for dev

@ArturSharapov ArturSharapov force-pushed the redesign branch 3 times, most recently from 41b6f0e to 4abaed8 Compare October 14, 2024 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant