Somewhat more conventional visual presentation:
+ Use a neutral gray background a-la most other CAD/modelling software
for better contrast with the geometry (which defaults to a bright
yellow). This is done with the "skybox-environment" image in
model-viewer, so add a new setting value in settings.ts for this (it
can be overriden in the URL just like other settings)
+ But using a skybox will cause that image to be used for lighting
too, which is clearly not desired. So fetch a nice professional
HDRI image from Polyhaven for lighting. This is much better (more
directional, higher contrast) than the default light environment
anyway.
+ The checkerboard texture isn't really a good default. Use a 1x1
white pixel instead, essentially presenting the model materials
unchanged.
Also collect the default color in gltf.py out of the code and put it
next to the texture for clarity. This should probably be wired
through to a setting at some point.
Signed-off-by: Andy Ross <andy@plausible.org>
The stack scan likes to look at iterables like lists for objects, but
unlike the way it treats local variables, it tries to put them in a
Compound() object. That doesn't work for elements like build123d
Location/Pos/Rot which aren't shapes. Just skip them in those
contexts.
Honor the upstream names for objects if they've been given them, use
the automatic variable magic as a fallback. And in the case of truly
anonymous objects, give them a name based on their type (e.g. "Box3")
vs. "_unknown_var99".