create3000 / titania

Titania X3D Editor
https://github.com/create3000/titania/wiki
GNU General Public License v3.0
38 stars 10 forks source link

selected hidden node not re-hidden when de-selected #73

Closed splace closed 5 years ago

splace commented 5 years ago

when you have hidden shapes (inside a non-chosen child of a Switch) and you select one of them using the hierarchy, it is, necessarily, revealed, but when you de-select it, it remains visible.

create3000 commented 5 years ago

This is the intended behaviour. When you select an immediate child of a Switch node, it becomes visible for editing purposes. This selection will not alter the Switch nodes whichChoice field. Select another child or use the Precision Placement Panel to set the choice to -1.

splace commented 5 years ago

This is the intended behaviour.

it is intended that any number of 'touched' switch groups can have their last selected child visible? despite not being selected and all their whichChoice's being -1. but when you reload, without changing anything, they are then invisible.

what is the reason to leave them visible? to show which one you were last editing?

Select another child

but that other child is then stuck visible?

or use the Precision Placement Panel to set the choice to -1.

i would not guess to use "Precision Placement Panel" due to it not being related to precision placement, but isn't that the same as editing the parameter? which i might guess to try.

when i check, the choice is already -1, but you are right, 'changing' it to the same value does make invisible, i would never expect changing a parameter to the same value to do anything, for me this breaks established UI paradigms.

splace commented 5 years ago

i found this because;

non-selected switch children have been used historically, by some, to make DEFinition libraries, never intended to be visible, these can be overlapping other geometry, or other children.

the VRML/X3D use of DEF/USE, (where having the definition just any node) seems to bother some people, c/pascal coders? (it does cause some issues.)