// SPDX-License-Identifier: MIT // Copyright (c) 2026 Incoprea // Touch-sampled crescent cutout // Not compiled or tested in-world // Setup: Put in a spare ordinary cube you own. Touch different places on one face to sample the procedural pattern at live surface coordinates. Edit the constants to design a pattern. // Stop / restore: Disable/remove. Only private owner messages are produced; no texture or tint is applied. // Notes: The max combination performs a hard difference of ideal signed-distance regions; it does not modify a prim. Surface coordinates depend on the viewer and mesh; ordinary prim faces are the clearest test surface. // License: see LICENSE in this distribution. // Original Incoprea. MIT. Live surface-coordinate sampler. float OUTER_RADIUS=0.7; float CUT_RADIUS=0.6; vector CUT_OFFSET=<0.3,0.15,0.0>; default { touch_start(integer detectedCount) { if(llDetectedKey(0)!=llGetOwner())return; vector uv=llDetectedTouchST(0); if(llDetectedTouchFace(0)<0||uv==TOUCH_INVALID_TEXCOORD) { llOwnerSay("Surface coordinates unavailable."); return; } vector p=2.0*uv-<1.0,1.0,0.0>; if(OUTER_RADIUS<=0.0||CUT_RADIUS<=0.0) { llOwnerSay("Positive radii required."); return; } float outer=llVecMag(p)-OUTER_RADIUS; float cut=llVecDist(p,CUT_OFFSET)-CUT_RADIUS; float distance=outer; if(-cut>distance)distance=-cut; llOwnerSay("Crescent mask="+(string)(distance<=0.0)+" field="+(string)distance); } }