Commit Graph

19 Commits

Author SHA1 Message Date
8df5c2a8f9 fix some things 2026-07-19 22:16:37 +02:00
dbca41640f Implemented the new port-management and grid workflow.
Right-click blocks in the graph, Document tree, or Libraries tree and choose “Port Options…”.
Unified port list with:Add/remove port
Name
Type (Signal currently)
Input/output orientation

New ports start at (0, 0) in the icon editor.
Connected ports cannot be removed, reoriented, or changed incompatibly.
Added a PortType registry; connections require matching port types.
Removed/hid the separate Add Input and Add Output workspace tools.
Library port changes are written back to the library JSON.
Added independent graph and icon grid-size settings.
Components, interface terminals, icon shapes, resize handles, and icon ports snap to their corresponding grid.
Icon canvases and component hitboxes are now fixed at 128×128.
Selected icon shapes show a bottom-right resize handle.
Circles preserve equal width and height while resizing.
Shapes and ports are constrained to the icon hitbox.

Fixed the icon-editor crash and grid behavior.
Renamed the resize handle’s shape attribute, which was overriding Qt’s required shape() method.
Icon shapes, resize handles, and port anchors now snap while dragging.
Graph blocks and interface terminals also snap while dragging.
Replaced the nearly invisible dotted graph grid with higher-contrast grid lines.
Retained final release-time snapping as a safety check.
Python compilation and diff validation pass.
2026-07-19 22:06:36 +02:00
09824195c9 Implemented the vector icon editor, library previews, and workspace camera controls.
Key changes:
Component Options now has an “Edit Icon…” button instead of direct shape/color fields.
Icon editor supports:Rectangles with configurable corner radius
Circles and ellipses
Lines
Triangles
Text
Movable/selectable shapes
Shape context menus
Line style and width
Solid or transparent fill
Stroke and fill colours through Qt’s colour picker
Editable shape dimensions
Deleting selected shapes

Input anchors are green and output anchors red; both can be dragged around the icon.
Icons use a 120×80 vector coordinate system and are stored as editable elements in document JSON.
Components render their vector icons directly in the workspace.
Library and document trees display 16×16 icon previews.
Added a Camera toolbar:Zoom In
Zoom Out
Center

Mouse-wheel zoom works directly over the workspace.
Icon changes and port positions support undo/redo.
2026-07-19 21:46:44 +02:00
76bd313f79 Basic document handling 2026-07-19 21:26:27 +02:00
c5ab3329ae Start of BEdit 2026-07-19 19:19:15 +02:00
da69acf919 Merge branch 'master' of ssh://git.joppeb.nl:222/joppe/BondGraph 2026-07-19 13:45:19 +02:00
c5ca585134 Added simple piston with gas test 2026-07-19 13:44:33 +02:00
cbe611916e Setup for position control 2026-03-11 19:08:49 +01:00
9e124a5e92 Working and exportable PID controller 2026-03-11 16:37:50 +01:00
71722127f1 Start met EmbeddedControl lib 2026-03-11 11:57:48 +01:00
a23e051024 QDcontroller 2026-03-10 16:39:38 +01:00
67d40f2dcd pendulum controller 2026-03-10 14:36:24 +01:00
75b690b19b Pendulum on a cart 2026-03-09 23:37:52 +01:00
befe3209bf new 2d lib and test 2026-03-09 21:47:44 +01:00
1312baa41d pre-big change 2026-03-09 18:27:26 +01:00
fbc61e9fb2 Pendulum working 2026-03-09 13:01:56 +01:00
e580b9840e Library mode and new icons 2026-03-09 00:20:32 +01:00
cc906cbd23 Some fixes 2026-03-08 23:43:57 +01:00
3bb0a04d4c Initial commit 2026-03-08 19:34:12 +01:00