// SPDX-License-Identifier: MIT // Copyright (c) 2026 Incoprea // Linked texture contact sheet // Not compiled or tested in-world // Setup: Put textures in root; name up to twelve children gallery_. Prefix matching accepts gallery_1 etc. Face0 is used; link order determines placement. // Stop / restore: Owner-touch applies; touch again restores each face0 diffuse transform. // Notes: Use a spare modifiable build. Snapshot state is held only in script memory; restore before reset/removal. Do not relink during a preview. Textures are inventory-sorted by name. Only their diffuse asset changes; child face count and permissions must be suitable. // License: see LICENSE in this distribution. // Original Incoprea. MIT. Not compiled or tested in-world. list links; list saved; integer preview; integer valid=TRUE; default { touch_start(integer n) { if(llDetectedKey(0)!=llGetOwner()||llGetLinkNumber()>1||!valid)return; integer i; if(preview) { for(i=0;i,ZERO_VECTOR,0.0]); ++placed; } preview=placed>0; llOwnerSay("Assigned "+(string)placed+" textures."); } changed(integer change) { if(change&CHANGED_LINK) { valid=FALSE; llOwnerSay("Relinked: snapshot invalid; manually restore if needed."); } } }