// SPDX-License-Identifier: MIT // Copyright (c) 2026 Incoprea // Compare dimensions of two clicked components // Not compiled or tested in-world // Setup: Put in a spare owned prim or linkset root. Touch the face or component to inspect. Child scripts may consume touches; face-based tools require a viewer that supplies touched-face data. // Stop / restore: Remove/disable. Inspectors read state and report only to the owner; they do not change the build. // Notes: Both sizes are their own local-axis dimensions; rotations do not affect these ratios. // License: see LICENSE in this distribution. // Original Incoprea. MIT. Owner-only live inspection. integer pending; vector reference; integer referenceLink; default { touch_start(integer detectedCount) { if(llDetectedKey(0)!=llGetOwner())return; integer link=llDetectedLinkNumber(0); if(link==0)link=LINK_THIS; integer face=llDetectedTouchFace(0); vector size=llList2Vector(llGetLinkPrimitiveParams(link,[PRIM_SIZE]),0); if(!pending) { reference=size; referenceLink=link; pending=TRUE; llOwnerSay("Reference size captured; touch another component."); return; } pending=FALSE; if(reference.x<=0.0||reference.y<=0.0||reference.z<=0.0) { llOwnerSay("Reference size invalid."); return; } llOwnerSay("Comparison/reference axis ratios="+(string)+" reference link="+(string)referenceLink); } }