Skip to content

Leaf-level physics: assemblies carry none; structure_* static - #7

Open
jensjebens wants to merge 2 commits into
mainfrom
rework/leaf-physics-static-structure
Open

Leaf-level physics: assemblies carry none; structure_* static#7
jensjebens wants to merge 2 commits into
mainfrom
rework/leaf-physics-static-structure

Conversation

@jensjebens

Copy link
Copy Markdown
Owner

Physics belongs on leaf components. (A) Removed physics from the 9 environment assemblies (redundant coarse proxy; also the dup-prim bug source) -- physics composes from referenced setpieces. (B) Made the 27 structure_* leaves static colliders (they were dynamic, so the room shell would fall). Loose setpieces/props stay dynamic. Supersedes #6 for alab_set01/lab_electronics01 (those assembly layers are now deleted).

jensjebens and others added 2 commits June 30, 2026 14:24
Physics is an asset property of leaf components, not assemblies:
- Remove the physics layer (and un-wire the physics sublayer) from the 9
  environment ASSEMBLIES (lab_*). They were applying one coarse convex hull to
  the whole assembly's proxy geo, redundant with the per-component physics that
  composes from the setpieces they reference (and the source of the duplicate-
  prim parse bugs in alab_set01/lab_electronics01).
- Make the 27 structure_* leaves (floor, walls, roof, doors, windows, bricks)
  STATIC colliders: strip PhysicsRigidBodyAPI from the root, keep
  CollisionAPI/MeshCollisionAPI. They were dynamic setpieces/props, so the whole
  room shell would have fallen under gravity. Loose setpieces/props stay dynamic.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…oard collision

- Add PhysicsMassAPI + physics:density to every dynamic setpiece/prop layer.
  density = 1000 kg/m^3 * metersPerUnit^3 (= 0.001 at ALab cm scale), so Newton
  computes realistic masses instead of cm-scale auto-mass (~1e6x too big -- e.g. a
  37-tonne circuit board) that left bodies effectively immovable. Verified mass:
  tool_screw ~0.35 g, bottle cap ~1.2 g, bench seat ~14 kg.
- Rewrite the 10 proc_dev_circuit_board_* layers: collision was authored on the
  point-instancer component geometry => Newton mass 0 => static. Retarget to
  proxyGeo/mesh_0 (convexHull). Verified: board mass ~0.037 kg and it falls.
Static structure_* (no rigid body) and assemblies (no physics) untouched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant