forked from 1b-agent/opencadstudio-upstream
Rebuild every ACIS face as a truck topological Face and mesh it with truck, routing loaded 3DSOLID/BODY/REGION/SURFACE through the same kernel the Model tab uses. plane→try_attach_plane, cone/cylinder/sphere/torus→revolution faces (truck's Surface has no cone/sphere/torus), spline→BSplineSurface grid sample. Per-vertex normals are computed analytically outward per surface type and triangle winding is oriented to match, since truck's own orientation isn't consistent across independently built faces. `tessellate_solid3d|body|region| surface` try this first and fall back to the bespoke sampler. Light the mesh shader with three spread directional lights plus ambient (abs(dot) per light, two-sided) so faces — including the inner walls of an open lofted surface — never read as a flat dark mass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>