// SPDX-License-Identifier: MIT // Copyright (c) 2026 Incoprea // Breathing texture zoom // Not compiled or tested in-world // Setup: Set FACE and use a centered repeating pattern on a spare prim. Owner-touch starts and stops. // Stop / restore: Touch to disable texture animation before removing. The saved diffuse texture/UV settings are restored, but an earlier animation is not recoverable. // Notes: Use a spare prim with readable classic diffuse texture settings. Material behavior can differ with PBR transforms. SCALE animation changes image scale, not prim dimensions. // License: see LICENSE in this distribution. // Original Incoprea. MIT. Not compiled or tested in-world. integer FACE=0; integer active; list saved; default { state_entry() { saved=llGetLinkPrimitiveParams(LINK_THIS,[PRIM_TEXTURE,FACE]); } touch_start(integer count) { if(llDetectedKey(0)!=llGetOwner())return; active=!active; if(active)llSetTextureAnim(ANIM_ON|SMOOTH|SCALE|PING_PONG|LOOP,FACE,1,1,1.0,0.5,0.1); else { llSetTextureAnim(FALSE,FACE,0,0,0.0,0.0,1.0); llSetLinkPrimitiveParamsFast(LINK_THIS,[PRIM_TEXTURE,FACE]+saved); } } }