dots property
final
Optional list of drawable dots (connection points) along the wire path.
Dots represent junction points where multiple wires meet or pass through:
- Connection endpoints (source/target ports are NOT dots)
- Points where 3+ wires converge
- T-junction points (2 wires where at least one passes through)
Exclusions (no dot):
- Simple corners where 2 wires meet at both endpoints (no extent overlap)
Rules for dot inclusion (from schematic_canvas.dart):
- Always draw dot if 3+ edges are incident
- For exactly 2 edges: draw dot only if extent overlap (T-junction)
- Draw if at least one edge is NOT just an endpoint
- Skip if both edges meet at both of their endpoints (simple corner)
Benefits:
- Can be culled based on wire bounding box for efficient rendering
- Can be colored when wire is selected (orange when edges are selected)
- Provides visual feedback for wire connections
- Enables hit-testing for wire selection
- Optional to support different rendering backends (some may not need dots)
Implementation
final List<SchematicPoint>? dots;