simulton / QSchematic

A library that allows creating diagrams such as flowcharts or even proper engineering schematics within a Qt application.
https://simulton.com
MIT License
223 stars 59 forks source link

v2: node & wire router #60

Open bjornstromberg opened 5 months ago

bjornstromberg commented 5 months ago

add a abstract component that handles placing nodes and drawing the wires, we can have a dumb generalized solution that is supplied with QSchematics.

this is essentialy a way to get rid of positions in saved files.

of course there should be a way to place something by hand or move by hand, but run the router again, and stuff goes back in line, even a way to disable the routings hand have handplaced positions still if that is wanted.

Tectu commented 5 months ago

Can you elaborate on that a bit more?

bjornstromberg commented 5 months ago

Right now I'm about to do a reference implementation for my own usage, so there is still alot of unknowns.

Routings is the info in the netlist and settings for the router is like avoid overlap paths that are not part of same path

As a visual demo take 6 roundabouts and draw the lanes of the road between them in a netlist.

The router now moves each node to a sane location with some ranged spacings supplied.

bjornstromberg commented 5 months ago

do we have any opinions on the definition of a Schematic / Diagram, do they have to be static, or are dynamic diagrams allowed?

in the road / roundabout example, is dynamic flow allowed to be integrated? think of a dot (car) going on its way past the available track..

I will have dynamic diagrams, but i can make that happen so it does not introduce dynamics into QSchematic if there is some rule about a diagram always being static or something.

dynamics is bad if you want to make a paper copy of the schematic, since it would imply a snapshot in time, but for other usages it can be pretty good, or bad.. i would probably have a stroke if i put a logger on my coffee machine, while for digitally overviewing a digital service infrastructure in realtime, it could be pretty damn good thing..