new connection editing
This commit is contained in:
@@ -60,15 +60,18 @@ Keep the root of `src/bedit` minimal. New UI modules should go into the relevant
|
||||
- Port removal or reorientation must be rejected when it would invalidate an
|
||||
existing connection.
|
||||
- Connections reference port IDs, never port names.
|
||||
- Graph interaction has separate Pointer and Connect modes. Connections store a
|
||||
`properties.routing` value (`direct`, `angled`, or `spline`); angled routes
|
||||
store absolute scene points in `properties.waypoints`.
|
||||
- Graph interaction has separate Pointer and Connect modes. Port hints are only
|
||||
visible in Connect mode. Connecting two blocks opens the compatible port-pair
|
||||
chooser; explicit port clicks determine its default selection. Connections
|
||||
use one freely angled polyline format with absolute `properties.waypoints`.
|
||||
Semantic ports choose compatibility, while each rendered endpoint is the
|
||||
intersection of the owning hitbox and its center-to-adjacent-route-point ray.
|
||||
- Connection appearance is configured per port type in
|
||||
`gui/graphics/connection_styles.py`, including color, width, pen style, and
|
||||
source/target arrowheads. Do not scatter those constants through painters.
|
||||
- Graph annotations are `box`, `line`, or `text` objects in `Graph.annotations`.
|
||||
They use integer layers below or above graph layer 0. Annotation lines reuse
|
||||
connection routing and absolute `properties.waypoints` semantics. Graph
|
||||
connection polyline and absolute `properties.waypoints` semantics. Graph
|
||||
annotations and icon elements share `ShapeOptionsDialog` and `shape_pen` so
|
||||
their style fields and rendering must remain aligned.
|
||||
- Icon editing uses a fixed 128×128 coordinate space.
|
||||
|
||||
Reference in New Issue
Block a user