Draw selected 2.0


Draw selected is one of my most used ui tools, especially for large projects.
A few ideas that could make it better

  1. Visible sets: to be able to store the visibility of selected components. This way you could have a list of presets that allow you to see different parts of your project.

  2. Forced visibility. When working with “draw selected” it would be useful to be able to force the visibility of certain components, even if they are not selected. I often want to see the interaction between a base state and the components i am working on, so I have to go back and forward selecting the ones I want to see. To be able to select and force the visibility of some components would greatly improve workflow, making them permanent and so you can focus on the changes.

  3. Hidden default state for non geometrical components. This may be just because of my OCD, but I always hide all the components that don’t have a geometrical representation, such as math components for instance. I think it is easier to read the definition that way, so maybe off by default doesn’t harm and i could make some of us happy…



Hi Frane,

sensible features. Especially the custom listing of preview sets. How about the following directions:

  • introduce a sort of layer system for components (except I want a single component to be able to be part of many different layers and also no layers at all, so maybe call it “categories” instead). You could then disable/enable and also show/hide one or more categories.

  • introduce custom display modes which would allow you to map colours or even gradients to specific meta-data keys and values. For example [Hide all shapes except for data tagged as "Building:A" which should be drawn in Orange and data tagged as "Environment:*" which should be drawn in Grey]. I have no ideas yet on how to pour that idea into a UI, but the functionality comes first.

General comments: the idea is that it should be much easier to break a large project up into smaller chunks, so you’re never dealing with a single huge file. This will make it easier to edit the files. But it also makes it hard to see all the data for an entire project at once, so that’s something which needs to be made possible.

ps. All components that could have previews are preview=on by default. This includes addition as it is possible to add points, which are previewable data.


Hi David

I think a category system with should work but there may be some different implementations, so here is a more detailed description to test the idea further…

There is a “normal” category which works as it is now. We can create as many categories as we want and associate components to each one of them. (Select components, right click on the category and associate). We can use buttons to turn on/off or enable/disable all the components in each category. If we double click the category it shows only the selected components and hides all the rest (only one category can be selected). Double clicking it again will reinstate the “normal” category.

If we add components having clicked a category, they behave as usual, they are not associated with the current category and keep their current state when reverting to the “normal” category. Double clicking on another category will turn the new components off, unless they are associated to that category…

It could work… I think…

That looks like a selection filter system. It could be very powerful to manage large definitions. Having metadata per component (Custom tag, colour, type, name…) can open interesting new possibilities…

When you say “should be drawn in orange”, do you mean the component or the geometry preview?

I can see this working on a separate panel that allows to combine search fields… and maybe store these as smart filters. I am not sure I have missed this feature so far but it will certainly allow to fine tune the definition management.

For me, one of the big issues is to have a centralized place to store all the controllable variables of the project. Maybe if there is a way to reference variables from another file it could work. Something like telepathy across different files.

I see it now… but I think there are still a few naughty components that don’t follow that behaviour… in the vector panel or the “tree statistics” for instance… almost irrelevant in any case…

I meant the preview geometry. And this is meta data mind, so it’s not a per-component setting, it is a per-value setting.

This is sort of possible now using the Data Output and Data Input components. You can pump all the settings from one file into a bunch of subsequent ones. The major issue now is that it requires an in-between file which contains the actual data. That is useful, but often a bit of feature overkill. Accessing values in another gh file directly would make this easier to use.

ok. Rule based preview colouring would be great to understand complex models. But there is also a graphical problem when dealing with large definitions that could be helped by tagging and colouring of components. Something like dynamic grouping based on filters and rules.

A quick idea… maybe there could be a viz state that colours the preview based on the colour of the groups in the definition… that would help

So we will have metadata associated with data, “travelling along the wires with it”? sounds complicated but it would be awesome if possible…


We tend to build our graphics, either in columns by column, or line by line.
Why not hide the colones or the lines of the canvas, like spreadsheets ?

all are hidden when the group is reduced.

I don’t know if I would use that, but it reminded me of swimlane diagrams. That is sort of a hybrid between excel and a flowchart. https://en.wikipedia.org/wiki/Swim_lane.

May be worth looking at…