Part of the
world-building-3d skill. The skill links here when your agent needs the detail.Shared rules
- Pass exact
scenePathand exact scene-root-relative node paths. Do not rely on editor selection. - Use one
World3D. The tools fail closed across SubViewport-owned worlds. - Keep subjects bounded: placement/snap one subject, alignment sixteen.
- Normal model-visible results stay below 5 KiB. Prefer targeted calls over collecting an entire scene.
- Read-only tools never save: placement test, navigation probe.
- Mutation tools register undo and save the exact target scene: snap, align/distribute.
summer_test_placement
Input is a candidate global position and global Euler rotation. The subject’s current global scale is preserved, and the scene is not mutated.
Interpretation:
- Physics overlap counts are lower bounds because the physics server exposes no broadphase-completeness bit.
- Any known obstruction makes
fits: false. - Zero known physics overlaps can still yield
fits: null; never coerce it to success. grounded, signedfloorGap, and support evidence are independent of overlap certainty. Claim physics-grounded only whenfloorEvidenceisphysicsandsupportQueryCompleteis true; otherwise label the evidence approximate or incomplete.visual_aabbincludes visible mesh-only obstacles but is conservative.
summer_snap_to_surface
The subject sweeps along a normalized world direction. Physics evidence uses enabled collider shapes; visual_aabb is a mesh-only fallback. When the engine answers with visual_aabb (no collider on the subject or the support), the tool re-measures the seat on visible triangles and reports evidence: visual_mesh with verify.final_gap; a prop without a collider is still invisible to physics.
Use alignUp only when an exact collider support is intended. After the call,
require evidence: physics, resolved contact, the expected supportPath,
alignApplied, plausible slopeDeg, final gap/error bound, and the saved basis.
The result does not expose the raw support normal or a heading residual, so use
the saved basis plus an independent rendered/physics check. If overlap recovery
fails, do not teleport manually through the obstruction.
summer_align_distribute_3d
Anchors and extents come from visible descendant world AABBs. The solver translates only along the requested axis and preserves basis/scale. Distribution preserves caller order and fixed endpoints.
This is one-dimensional arrangement evidence. It does not prove clearance on the other two axes.
summer_navigation_probe
Iteration 0 is unready; iteration 1 and later can be queried. Layer-filtered snapped endpoints and the reported snap distances define what the engine actually tested. ready: false means unknown, not unreachable.
Require both a reachable path and a small endpoint snap distance appropriate to the authored target.
Probe every independent destination; one reachable subject does not validate the
others. Derive the snap-distance threshold from the navigation agent radius or
an explicit authored tolerance.
Source:
library/skills/world-building-3d/references/spatial-tools.md, rendered from summer-engine@4.3.0 on npm.
