0xa85e2099…e34asent to0xd28694b1…4215·#25,412,197·view on Etherscan
glyphs":" .,:;-/\\|+=*#%░▒▓█▌▐▀▄","interpolation":"none","keyframeSourceFrames":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],"playbackMode":"pingpong","procedural":false,"proceduralMotion":{"drift":{"speed":1,"strength":0.42},"enabled":true,"fps":24,"fractal":{"coverage":0.42,"speed":0.9,"strength":0.62},"rain":{"speed":1.2,"strength":0.48},"style":"warez","type":"warez","warez":{"centerX":0.46,"centerY":0.39,"coverage":0.48,"falloff":0.35,"localized":true,"packet":7,"rebuild":0.55,"speed":0.11,"strength":0.41}},"proceduralOverlay":true,"ritualGlyphs":".,:;-/\\|+=*#%░▒▓█▌▐▀▄","rows":116,"seed":3224492443,"storageSourceFrames":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],"timelineFrames":32,"visualRenderer":{"background":"#08090b","effects":{"asciiAdaptiveSize":true,"asciiAnimate":false,"asciiBrightness":7,"asciiGlow":56,"asciiHighlightBlockThreshold":85,"asciiHighlightBlocks":false,"asciiHighlightFill":0,"asciiHighlightThreshold":98,"asciiLargeScale":3,"asciiMidtones":13,"asciiSizeGlitchProbability":10,"asciiSizeGlitchRange":54,"asciiStatic":false,"asciiStaticAmount":0,"asciiStaticSpeed":47,"badScanlines":27,"brokenRows":8,"compressionScars":0,"edgeAwareEnabled":true,"edgeDogLargeRadius":7,"edgeDogSmallRadius":1.1,"edgeDogStrength":3.6,"edgeDogThreshold":9,"edgeMinCellRatio":10,"edgeRotateDirection":true,"edgeSobelThreshold":99,"fallSpeed":51,"glitchEnabled":false,"glitchPasses":[[0,42,27],[0,19,32],[0,28,22]],"inkBleed":0,"misregistration":0,"motionStyle":"staticCrawl","rainAccent":0,"symbolDrift":47,"symbolDropout":2,"vignette":0},"inkMode":"palette","mode":"clean-glyphs-plus-tone-style-ritual-fx","paletteColors":[[5,7,10],[10,14,21],[16,21,31],[21,28,42],[26,36,52],[48,37,54],[77,36,51],[106,36,48],[135,35,45],[146,37,47],[118,46,58],[90,55,70],[63,64,81],[35,73,93],[40,82,100],[45,91,106],[50,100,113],[55,109,120],[85,107,116],[128,99,107],[170,91,97],[213,83,88],[234,89,91],[213,123,120],[191,157,148],[170,190,176],[149,224,204],[165,228,211],[181,232,217],[197,236,224],[213,241,231],[222,243,235],[227,245,238],[232,247,242],[237,249,245],[242,250,248],[245,252,249],[249,253,251],[252,254,253],[255,255,255]],"paletteId":"sirens_at_night","paletteInvert":false,"paletteLabel":"Emergency Velvet","palettePreserveLuminance":true,"recommendedCellSize":11,"rendererTuning":{"backgroundAlphaBase":0.035,"backgroundAlphaMax":0.12,"backgroundAlphaMin":0.02,"backgroundAlphaTone":0.18,"brightCrowdSkip":0.7,"brightCrowdToneFloor":0.62,"brightOpenToneFloor":0.58,"brightScaleBoost":0.72,"brightScaleMax":2.45,"glyphScale":1.25,"highlightGlyphBoost":0.38,"largeAnchorScaleMultiplier":1,"paletteToneFloor":0.05},"storageMode":"derived-glyphs-from-tone-style","toneLevels":8,"version":"svg-tone-style-layer-v3"}}};
function grSeeded(seed) {
let value = seed >>> 0;
value = (value * 1664525 + 1013904223) >>> 0;
return value / 4294967296;
}
function grSmoothRandom(seed, time) {
const frame = Math.floor(time);
const phase = time - frame;
const eased = phase * phase * (3 - 2 * phase);
const a = grSeeded(seed + frame * 1009);
const b = grSeeded(seed + (frame + 1) * 1009);
return a + (b - a) * eased;
}
function grSmoothstep(edge0, edge1, value) {
const t = Math.max(0, Math.min(1, (value - edge0) / (edge1 - edge0)));
return t * t * (3 - 2 * t);
}
function grEffectSettings() {
return SIGNAL_RITUAL_ENGINE.visualRenderer.effects || {};
}
function grPackedConfig() {
return typeof grConfig !== "undefined" && grConfig ? grConfig : {};
}
function grPlaybackMode() {
const config = grPackedConfig();
return config.playbackMode || SIGNAL_RITUAL_ENGINE.playbackMode || SIGNAL_RITUAL_ENGINE.visualRenderer?.playbackMode || "normal";
}
function grBaseFrameCount() {
const config = grPackedConfig();
return Math.max(1, config.displayedFrames || SIGNAL_RITUAL_ENGINE.displayedFrames || 1);
}
function grTimelineFrameCount() {
const config = grPackedConfig();
const explicit = config.timelineFrames || SIGNAL_RITUAL_ENGINE.timelineFrames;
if (explicit) return Math.max(1, explicit);
const base = grBaseFrameCount();
return grPlaybackMode() === "pingpong" && base > 1 ? base * 2 - 2 : base;
}
function grProceduralMotionSettings() {
const config = grPackedConfig();
return config.proceduralMotion || SIGNAL_RITUAL_ENGINE.proceduralMotion || { enabled: false };
}
function grProceduralMotionEnabled() {
return Boolean(grProceduralMotionSettings()?.enabled);
}
function grPureProceduralEnabled() {
return Boolean(SIGNAL_RITUAL_ENGINE.procedural && grProceduralMotionEnabled());
}
function grProceduralOverlayEnabled() {
return Boolean(SIGNAL_RITUAL_ENGINE.proceduralOverlay && grProceduralMotionEnabled());
}
function grBaseTimelineFrameFromMotionClock(motionFrame) {
const fps = Math.max(1, SIGNAL_RITUAL_ENGINE.fps || 12);
return Math.floor((Math.max(0, Number(motionFrame) || 0) / PROCEDURAL_MOTION_CLOCK_FPS) * fps) % grTimelineFrameCount();
}
function grClampUnit(value, fallback) {
const numeric = Number(value);
if (!Number.isFinite(numeric)) return fallback || 0;
return Math.max(0, Math.min(1, numeric));
}
function grProceduralProfile(settings, key, fallbackSpeed, fallbackStrength) {
const profile = settings?.[key] || {};
return {
speed: Math.max(0, Math.min(4, Number(profile.speed ?? settings?.speed ?? fallbackSpeed))),
strength: Math.max(0, Math.min(1.4, Number(profile.strength ?? settings?.amplitude ?? fallbackStrength))),
coverage: grClampUnit(profile.coverage ?? 0.42, 0.42),
};
}
function grProceduralFractalNoise(x, y, time, seed) {
const s = Number(seed || 1) * 0.00013;
const a = Math.sin(x * 1.73 + y * 2.11 + time + s);
const b = Math.sin(x * 3.91 - y * 1.37 + time * 1.71 + s * 1.9);
const c = Math.sin((x + y) * 2.47 + time * 0.63 + s * 2.7);
return Math.max(0, Math.min(1, (a * 0.5 + b * 0.3 + c * 0.2) * 0.5 + 0.5));
}
function grProceduralQuantize(value, quantum) {
const q = Number(quantum);
if (!Number.isFinite(q) || q <= 0) return value;
return Math.round(value / q) * q;
}
function grProceduralWarezProfile(settings) {
const profile = settings?.warez || {};
return {
speed: Math.max(0, Math.min(4, Number(profile.speed ?? 1))),
strength: Math.max(0, Math.min(3.2, Number(profile.strength ?? 0.7))),
coverage: Math.max(0.05, Math.min(1, Number(profile.coverage ?? 0.48))),
packet: Math.max(2, Math.min(18, Number(profile.packet ?? 7))),
rebuild: grClampUnit(profile.rebuild ?? 0.55, 0.55),
localized: Boolean(profile.localized),
centerX: grClampUnit(profile.centerX ?? 0.5, 0.5),
centerY: grClampUnit(profile.centerY ?? 0.5, 0.5),
falloff: Math.max(0.01, Math.min(1, Number(profile.falloff ?? 0.3))),
};
}
function grWarezLocalityMask(profile, column, row, gridColumns, gridRows) {
if (!profile.localized) return 1;
const columns = Math.max(1, Number(gridColumns) || 1);
const rows = Math.max(1, Number(gridRows) || 1);
const x = columns <= 1 ? 0.5 : column / Math.max(1, columns - 1);
const y = rows <= 1 ? 0.5 : row / Math.max(1, rows - 1);
const distance = Math.hypot(x - profile.centerX, y - profile.centerY);
return Math.max(0, 1 - grSmoothstep(0, Math.max(0.01, profile.falloff), distance));
}
function grWarezMotionField(profile, column, row, frame, tone, seed, gridColumns, gridRows) {
const safeTone = grClampUnit(tone, 0);
const speed = Math.max(0.02, profile.speed);
const time = frame * 0.115 * speed;
const packet = profile.packet;
const microPacket = Math.max(2, Math.round(packet * 0.45));
const warpA = grProceduralFractalNoise(column * 0.047, row * 0.039, time * 0.62, seed + 211) - 0.5;
const warpB = grProceduralFractalNoise(column * 0.071 + 17, row * 0.053 - 9, time * 0.49, seed + 277) - 0.5;
const warpC = grProceduralFractalNoise(column * 0.023 - 11, row * 0.027 + 19, time * 0.31, seed + 349) - 0.5;
const warpedColumn = column + warpA * packet * 3.4 + warpC * packet * 1.6 + Math.sin(row * 0.071 + time * 1.7) * packet * 0.42;
const warpedRow = row + warpB * packet * 3 + warpC * packet * 1.2 + Math.sin(column * 0.053 - time * 1.3) * packet * 0.36;
const blockX = Math.floor(warpedColumn / packet);
const blockY = Math.floor(warpedRow / packet);
const microX = Math.floor((column + warpB * microPacket * 4.2 + warpC * microPacket * 1.7) / microPacket);
const microY = Math.floor((row + warpA * microPacket * 3.8 - warpC * microPacket * 1.5) / microPacket);
const coarseSeed = grProceduralFractalNoise(blockX * 0.71, blockY * 0.93, 0, seed + 503);
const microSeed = grProceduralFractalNoise(microX * 1.37, microY * 1.17, 0, seed + 911);
const hold = time + coarseSeed * 0.9;
const fastHold = time * 1.9 + microSeed * 0.58;
const diagonal = column * 0.37 + row * 0.21;
const ribbon = grProceduralFractalNoise(diagonal * 0.035 + warpA * 0.9, (row - column) * 0.028 + warpB * 0.8, hold * 0.9, seed + 71);
const cellular = grProceduralFractalNoise(warpedColumn * 0.055 + Math.sin(blockY), warpedRow * 0.061, hold * 0.7, seed + 307);
const island = grProceduralFractalNoise(column * 0.031 + ribbon * 1.3, row * 0.037 + cellular * 1.1, hold * 0.38, seed + 1733);
const fine = grProceduralFractalNoise(column * 0.13 + warpA * 4, row * 0.11 - warpB * 4, fastHold * 1.35, seed + 811);
const micro = grProceduralFractalNoise(microX * 0.76 + warpA + fine * 0.7, microY * 0.83 + warpB - fine * 0.55, fastHold * 1.2, seed + 613);
const toneMask = 0.16 + grSmoothstep(0.02, 0.92, safeTone) * 0.84;
const fractalIsland = Math.max(ribbon * 0.26 + cellular * 0.27 + island * 0.3 + fine * 0.27, micro * 0.74);
const feather = grSmoothstep(1 - profile.coverage - 0.22, 1 - profile.coverage + 0.2, fractalIsland);
const coverageGate = grSmoothstep(1 - profile.coverage, 1, fractalIsland);
const sweep = (warpedRow / Math.max(1, packet * 2.35) + ribbon * 1.9 + fine * 0.55 + time * 0.58 + coarseSeed) % 1;
const tearGate = (1 - grSmoothstep(0.035, 0.24, Math.abs(sweep - 0.5))) * (0.45 + island * 0.55);
const rebuildPhase = (time * 0.13 + coarseSeed * 0.8 + microSeed * 0.2) % 1;
const burst = Math.pow(Math.max(0, Math.sin(rebuildPhase * Math.PI)), 0.7) * profile.rebuild;
const windAngle = grProceduralFractalNoise(column * 0.018 + 5 + warpA, row * 0.021 - 8 + warpB, hold * 0.52, seed + 2207) * Math.PI * 2;
const locality = grWarezLocalityMask(profile, column, row, gridColumns, gridRows);
const localizedFeather = feather * locality;
const localizedCoverageGate = coverageGate * locality;
const localizedTearGate = tearGate * locality;
const localizedBurst = burst * locality;
const windFalloff = Math.pow(Math.max(feather * 0.85, coverageGate, tearGate * 0.9, burst * 0.78), 0.5) * (0.48 + fine * 0.82) * locality;
const gate = Math.max(coverageGate * 0.72, tearGate * 1.08, burst * feather) * toneMask * Math.max(0.35, feather) * locality;
return { safeTone, time, hold, fastHold, packet, microPacket, blockX, blockY, microX, microY, warpedColumn, warpedRow, coarseSeed, microSeed, ribbon, cellular, island, fine, micro, feather: localizedFeather, coverageGate: localizedCoverageGate, tearGate: localizedTearGate, burst: localizedBurst, gate, toneMask, windAngle, windFalloff, locality };
}
function grWarezProceduralOffset(settings, column, row, frame, tone, seed) {
const profile = grProceduralWarezProfile(settings);
const field = grWarezMotionField(profile, column, row, frame, tone, seed, columns, rows);
const rowBandSize = Math.max(1, Math.round(field.packet * (0.55 + field.coarseSeed * 0.85)));
const colBandSize = Math.max(1, Math.round(field.packet * (0.5 + field.microSeed * 0.7)));
const rowBand = Math.floor((field.warpedRow + field.ribbon * field.packet * 2.2 + field.island * field.packet) / rowBandSize);
const colBand = Math.floor((field.warpedColumn + field.cellular * field.packet * 1.6) / colBandSize);
const sortA = Math.round(Math.sin(rowBand * 1.81 + field.hold * 4.9 + seed * 0.00013) * (field.packet * 1.28