Use Cases: Programmer / Developer
Cattail.Nu SpaceCube speaks the language of 3D engines: positions as XYZ vectors, rotations as quaternions and Euler angles, both in a fixed world frame and a movable local frame, exported as text and as USDZ, OBJ, or STEP geometry. That makes it a handy bench tool for anyone building spatial, game, or 3D software.
Why it fits a developer's workflow
- Real coordinates, real units. Every cube reports its position in meters and its rotation as a quaternion
(x, y, z, w)and as Euler angles — the exact forms RealityKit, Unity, Unreal, and USD expect. - World and Local frames. Prototype how a "parent transform" changes child coordinates by parking Local space on one cube and reading the others relative to it (see Concept - Local Space).
- Exports you can diff and parse. The TXT report is plain text, a saved workspace is JSON, and the geometry comes out as USDZ, OBJ, or STEP (see Concept - File Types).
- Typed poses. The EDIT control sets a cube's local position and Euler rotation to an exact value, so a rig can be reproduced from numbers rather than nudged into place (see Action - Edit a Cube by Numbers).
Small‑scale ideas
- Sanity‑check a transform. Place a cube, press Set Cube to World Rotation, and confirm the quaternion reads
(0, 0, 0, 1)and Euler reads all zeros — a live reference for "identity rotation." - See gimbal behavior for real. Rotate a cube toward straight‑up and watch the Euler angles get twitchy while the quaternion stays smooth — a tangible lesson for Concept - Euler Angles and Concept - Quaternions.
- Verify a local‑to‑world conversion. Set Local space on cube A, place cube B, and compare B's World vs. Local location to check the offset your own code would compute.
- Grab a known‑good quaternion for a test fixture by reading a cube you have posed by hand.
Large‑scale ideas
- Capture a room layout by placing cubes at key points (corners, fixtures) and exporting the TXT to seed a scene or a level blueprint with real spacing.
- Author a quick collision/blockout mesh. With four or more cubes, export OBJ (or USDZ) to get a convex hull you can drop into a 3D tool as placeholder geometry.
- Measure real furniture to model it to scale, using the X/Y/Z axis breakdown for width, height, and depth.
- Pin a persistent test rig to your immersive space. Because cubes anchor to the physical space, a layout you build for testing comes back on the same spots after a Restore.
Data you can pull out
- TXT — full per‑cube world/local transforms, all pairwise distances with slope/pitch, and all angles.
- USDZ / OBJ / STEP — the hull from four or more cubes, optionally with the wires, lettered cubes, and readings baked in, and written from either the world or the local frame.
- .spacecube — the workspace itself, as readable JSON. Save one, open it later, or move a rig between headsets.
See Action - Save Your Data (TXT, SVG, 3D).
A note on scope
The app measures the cubes you place by hand; it does not scan or reconstruct your immersive space. Think of it as a transform probe and layout sketchpad, not a room scanner.