Making a circuit board editor

162 views
Skip to first unread message

Rasmus Wriedt Larsen

unread,
Oct 1, 2015, 9:38:41 PM10/1/15
to Apparatus
I just watched the StrangeLoop talk, and thought this looked really neat.

I remember spending a lot of time designing circuits in Logisim and thought it would be a good measurement of the maturity of the tool if I could build such a thing.

I got pretty far, and got a small circuit working, but ran into a couple of issues:
  1. I was not able to edit the anchors of the rectangle to create the shape of an AND gate. Will it be possible to create any vector drawing by adding anchors manually?
  2. We need connectors! And they need to be able to hook into variables. Think of connecting two gates with a wire.
  3. The delete symbols you create on the side where blocked once the scrollbar came into place. (also, why is a new symbol called a group?)
Other features that would make everything easier:
  1. Selecting multiple shapes by drawing rectangle and <ctrl> clicking multiple shapes.
  2. Shortcuts would be aweomse! Undo/Redo, but also moving from parameters. I'm thinking when you fill out the parameters for the rgba command, after writing 0 for red, you want to press <tab> to move to green. hitting ctrl+enter should get you out of edit mode.

FYI: I am using Ubuntu 14.04.3 LTS, with chrome 45.0.2454.101

All in all, I still think this is a fantastic idea! Keep up the good work.

-- Rasmus
logisim.json

Toby Schachman

unread,
Oct 2, 2015, 5:53:54 PM10/2/15
to Rasmus Wriedt Larsen, Apparatus
1. I was not able to edit the anchors of the rectangle to create the shape of an AND gate. Will it be possible to create any vector drawing by adding anchors manually?

Yes, and there will be a pen tool. Also beziers will be supported. I like how the pen tool works in Sketch, but I haven't played with Illustrator, etc in a while. Do other people have favorite pen tools?

For now you can hack adding more anchor points by dragging in another rectangle and "taking" the anchors from it by dragging in the outline.


2. We need connectors! And they need to be able to hook into variables. Think of connecting two gates with a wire.

Connectors would be great but I think will require some major design thinking to support properly. So probably not until the next major version at least. I think it will require:

1. Being able to import geometric information into the algebra. That is, being able to refer to the computed position (after transformations) of a shape.
2. Being able to abstract over shapes, so that e.g. a connecting arrow would take a from shape and a to shape as parameters.

Anyone have other ideas about how connectors could be implemented?


3. The delete symbols you create on the side where blocked once the scrollbar came into place. (also, why is a new symbol called a group?)

Agreed. Added an issue for the scrollbar. I have ideas about how auto-naming can be made a lot better.


1. Selecting multiple shapes by drawing rectangle and <ctrl> clicking multiple shapes.

Agreed. This requires a good amount of UI code work. A lot of work but straight-forward.


2. Shortcuts would be aweomse! Undo/Redo, but also moving from parameters. I'm thinking when you fill out the parameters for the rgba command, after writing 0 for red, you want to press <tab> to move to green. hitting ctrl+enter should get you out of edit mode.

Yes, we should support cmd+z for undo and other keyboard shortcuts. Added an issue. For colors, having a color picker will be nice.


Thanks for sending your suggestions!
Toby

--
You received this message because you are subscribed to the Google Groups "Apparatus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aprtus+un...@googlegroups.com.
To post to this group, send email to apr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/aprtus/1c290a7f-63b6-478d-9e9a-8e1a6ed3c983%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages