// SPDX-License-Identifier: MIT // Copyright (c) 2026 Incoprea // Merge overlapping exhibit time windows // Not compiled or tested in-world // Setup: Place in a spare owned prim. Set start/end pairs in any order with end>=start. Owner touch runs a bounded local calculation. // Stop / restore: Disable/remove. No travel, publication, payments or external operations occur. // Notes: All times share one arbitrary unit. Touching intervals are merged; empty input yields an empty schedule. // License: see LICENSE in this distribution. // Original Incoprea. MIT. Local planning demonstration. list WINDOWS=[1.0,3.0,2.0,5.0,8.0,9.0,9.0,11.0]; default { touch_start(integer detectedCount) { if(llDetectedKey(0)!=llGetOwner())return; integer n=llGetListLength(WINDOWS); if(n%2) { llOwnerSay("Use start/end pairs."); return; } integer i; for(i=0;iend)end=b; } else { result+=[start,end]; start=a; end=b; } } result+=[start,end]; llOwnerSay("Merged intervals="+llDumpList2String(result,",")); } }