Measure space
Skill sumitaich1998/jarvisvr/skills/navigation/measure-space
An AI agentic operating system for mixed reality on the Meta Quest 3 — your own J.A.R.V.I.S. Multi-agent orchestration, multimodal perception (sight/hearing/gaze), 42 holographic widgets, 20 LLM providers.
npx -y skills add sumitaich1998/jarvisvr --skill measure-spaceAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Measure real-world distances, spans, areas, or angles between points in the room and show a measuring tape. Use for "how far is that?", "how wide is this desk?", "measure the wall", or "what's the distance between these?". Triggers: measure, how far, how wide, how tall, distance between, dimensions, span, area.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.7 KB, as published. Nobody here has run it
Measure Space
Report a spatial measurement and render a measuring_tape between the relevant
world points. Points come from detected objects, gaze hits, or user-placed taps.
Steps
- Determine the endpoints. Two detected objects, two gaze/tap points, or a
span the user indicates.
measurewill pick two scene points if none given. - Call
measure. Returnsdata.distance_m,from,to, and ameasuring_tapedirective (mode:"distance"). - Speak the result with sensible units; render the tape.
- Refine interactively:
add_point/move_pointevents extend or adjust the measurement → recompute andholo.update. - For
area/angle, set the tapemodeaccordingly with 3+ points.
Helper script
To compute distance from raw coordinates without a live scene (tests, planning), use the bundled stdlib helper:
python3 scripts/distance.py 0,1,0.5 0,1,1.2 # -> 0.70 m
python3 scripts/distance.py --unit cm 0,1,0 1,1,0 # -> 100.0 cm
It mirrors the backend's Euclidean distance so props match what measure emits.
Output
measuring_tape (measure, props per registry.json):
{ "widget_type": "measuring_tape",
"transform": { "anchor": "world" },
"props": { "points": [ [0.0,1.0,0.0], [1.0,1.0,0.0] ], "unit": "m",
"distance_m": 1.0, "mode": "distance", "label": "Desk width" },
"interactions": ["grab","tap","drag","dwell"] }
agent.speech: { "text": "That's about 1.0 meter across.", "final": true }
Bundled resources
scripts/distance.py— pure-stdlib distance/area helper forx,y,zpoints.
Edge cases
- Too few points →
measurefalls back to a span in front of the user; tell the user to look at / tap the two endpoints for accuracy. - No depth → estimates are rougher; say "about" and offer to refine with taps.
- Unit conversion → present in the unit the user asked (
m|cm|ft|in); storedistance_mcanonically. - Geographic distance (between cities) → that's
show-map/wayfind, not a tape measure.