73 lines
No EOL
18 KiB
HTML
73 lines
No EOL
18 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Fractal Tendrils in Pulsing Stillness — exploration</title>
|
|
<style>
|
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
body { background: #0a0a0f; color: #3a3a4a; font-family: ui-monospace, monospace; overflow: hidden; }
|
|
#grid { padding: 20px; font-size: 12px; line-height: 1.4; white-space: pre; }
|
|
.c { display: inline-block; transition: all 0.3s; }
|
|
.c.active { color: #fde68a; text-shadow: 0 0 6px rgba(253,230,138,0.5); }
|
|
.c.strong { color: #34d399; text-shadow: 0 0 10px rgba(52,211,153,0.6); font-weight: bold; }
|
|
.c.dead { color: #1a1a2a; }
|
|
#info { position: fixed; bottom: 10px; left: 20px; color: #3a3a4a; font-size: 11px; }
|
|
#controls { position: fixed; top: 10px; right: 20px; color: #666; font-size: 11px; }
|
|
#controls span { cursor: pointer; margin-left: 12px; color: #fde68a; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="grid"></div>
|
|
<div id="info">neurameba · physarum exploration</div>
|
|
<div id="controls"><span id="play-btn">play</span><span id="reset-btn">reset</span></div>
|
|
<script>
|
|
const text = "# Support motd\n\n## Sponsor\n\nmotd has no ads, no data sales, no venture funding. Servers cost money. Sponsorship keeps them running.\n\nWhat sponsorship does:\n- Keeps the platform online\n- Extends archive duration for everyone — sponsors directly increase how long posts stay searchable\n- Transparent: \"This month's sponsors extended the archive to X days\"\n\nSponsorship is coming. Payment method TBD. When it's ready, it'll be announced here and via @motd.\n\n## Contribute\n\nYou don't need permission to build on motd. The API is open.\n\n**Build a plugin.** Write a bot, a bridge, a custom client, a feed filter — whatever you want. See `/read plugins` for examples and the API reference.\n\n**Report bugs.** Post with the [bugs] tag. Include what you did, what happened, what you expected.\n\n**Suggest features.** Post with the [ideas] tag. Keep it concrete.\n\n**Improve the docs.** If something is unclear or missing, say so. Post with [docs] or [ideas] tag.\n\n## Contact\n\n**On motd:** post with an @motd mention. We're here.\n\n**Email:** hello@motd.social\n\nNo Discord. No Slack. No external community platform. motd IS the community.\n";
|
|
const passes = [{"t":0,"r":31,"c":28,"a":"hold","s":0.2971349468163326,"ps":9,"e":101.02707957453066,"pr":1.1},{"t":0,"r":24,"c":0,"a":"died","s":0,"ps":8,"e":100,"pr":1},{"t":0,"r":21,"c":18,"a":"extend","s":0.31860403792876996,"ps":9,"e":70.83918261240112,"pr":1.1},{"t":0,"r":18,"c":0,"a":"died","s":0,"ps":8,"e":100,"pr":1},{"t":0,"r":23,"c":49,"a":"hold","s":0.2816619739772053,"ps":9,"e":100.90329579181764,"pr":1.1},{"t":1,"r":31,"c":28,"a":"extend","s":0.3488560083582193,"ps":9,"e":71.72754934897749,"pr":1.1},{"t":1,"r":21,"c":18,"a":"hold","s":0.2897019440332495,"ps":9,"e":71.80679816466711,"pr":1.1},{"t":1,"r":23,"c":49,"a":"hold","s":0.2811632015303323,"ps":9,"e":101.8026014040603,"pr":1.1},{"t":2,"r":31,"c":28,"a":"hold","s":0.3488560083582193,"ps":8,"e":73.31839741584325,"pr":1.05},{"t":2,"r":21,"c":18,"a":"hold","s":0.2841874915413952,"ps":8,"e":72.88029809699827,"pr":1.05},{"t":2,"r":23,"c":49,"a":"retracted","s":0.27633850069090826,"ps":8,"e":102.81330940958756,"pr":1.05},{"t":2,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":5,"e":23.32923954832186,"pr":1.2000000000000002},{"t":2,"r":31,"c":27,"a":"extend","s":0.42451040633266734,"ps":5,"e":23.370523080156186,"pr":1.2000000000000002},{"t":3,"r":31,"c":28,"a":"hold","s":0.2971349468163326,"ps":8,"e":74.49547699037392,"pr":1.05},{"t":3,"r":21,"c":18,"a":"retracted","s":0.3043852317215119,"ps":8,"e":74.11537995077038,"pr":1.05},{"t":3,"r":31,"c":29,"a":"extend","s":0.381752035728739,"ps":5,"e":17.94327908390624,"pr":1.2000000000000002},{"t":3,"r":31,"c":27,"a":"extend","s":0.5712135713803087,"ps":5,"e":19.033162155839058,"pr":1.2000000000000002},{"t":3,"r":31,"c":30,"a":"hold","s":0.35138070261675003,"ps":5,"e":12.059291141643367,"pr":1.3000000000000003},{"t":4,"r":31,"c":28,"a":"retracted","s":0.2971349468163326,"ps":7,"e":75.82255656490457,"pr":1},{"t":4,"r":31,"c":29,"a":"hold","s":0.381752035728739,"ps":4,"e":20.397295369736153,"pr":1.1500000000000001},{"t":4,"r":31,"c":27,"a":"extend","s":0.5497978780223294,"ps":4,"e":15.982081626012382,"pr":1.1500000000000001},{"t":4,"r":31,"c":30,"a":"hold","s":0.3533037952127752,"ps":4,"e":14.285721503345568,"pr":1.2500000000000002},{"t":5,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":16.194081502443918,"pr":1.1500000000000001},{"t":5,"r":31,"c":27,"a":"hold","s":0.3826152819499863,"ps":4,"e":18.443003881612274,"pr":1.1500000000000001},{"t":5,"r":31,"c":30,"a":"retracted","s":0.3314134170784083,"ps":4,"e":16.337028839972835,"pr":1.2000000000000002},{"t":5,"r":31,"c":26,"a":"extend","s":0.558934911096661,"ps":5,"e":7.399659989945016,"pr":1.2500000000000002},{"t":6,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":13.251831795339355,"pr":1.1},{"t":6,"r":31,"c":27,"a":"hold","s":0.3722435652586148,"ps":4,"e":20.820952403681193,"pr":1.1},{"t":6,"r":31,"c":26,"a":"extend","s":0.5027947175431334,"ps":5,"e":7.470412411203058,"pr":1.2500000000000002},{"t":6,"r":31,"c":28,"a":"hold","s":0.1412581068496012,"ps":5,"e":7.320385498701346,"pr":1.2500000000000002},{"t":7,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":11.19225700036616,"pr":1.05},{"t":7,"r":31,"c":27,"a":"retracted","s":0.3621529991438168,"ps":4,"e":23.11817639683173,"pr":1.05},{"t":7,"r":31,"c":26,"a":"extend","s":0.48710023418411796,"ps":4,"e":7.5370499992732,"pr":1.2000000000000002},{"t":7,"r":31,"c":28,"a":"hold","s":0.2540145053706275,"ps":5,"e":8.602501541666365,"pr":1.2500000000000002},{"t":7,"r":31,"c":25,"a":"extend","s":0.5553157828681321,"ps":5,"e":4.825892107422456,"pr":1.3500000000000003},{"t":8,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":9.750554643884925,"pr":1},{"t":8,"r":31,"c":26,"a":"extend","s":0.5069932061957808,"ps":4,"e":7.695096954187612,"pr":1.2000000000000002},{"t":8,"r":31,"c":28,"a":"retracted","s":0.2540145053706275,"ps":4,"e":10.034617584631384,"pr":1.2000000000000002},{"t":8,"r":31,"c":25,"a":"extend","s":0.5433563056336023,"ps":4,"e":6.000919786743891,"pr":1.3000000000000003},{"t":8,"r":31,"c":30,"a":"hold","s":0.13989279529413534,"ps":5,"e":5.16582393393858,"pr":1.1500000000000001},{"t":8,"r":31,"c":24,"a":"extend","s":0.380700274475292,"ps":5,"e":3.0546891692883715,"pr":1.4500000000000004},{"t":9,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":8.74136299434806,"pr":0.95},{"t":9,"r":31,"c":26,"a":"extend","s":0.48999063403788184,"ps":4,"e":7.710515418543466,"pr":1.1500000000000001},{"t":9,"r":31,"c":25,"a":"extend","s":0.5187091858116297,"ps":4,"e":6.68541529126585,"pr":1.2500000000000002},{"t":9,"r":31,"c":30,"a":"hold","s":0.19424709772815912,"ps":5,"e":5.969800715763853,"pr":1.1500000000000001},{"t":9,"r":31,"c":24,"a":"hold","s":0.3176072524999789,"ps":5,"e":4.845547189288203,"pr":1.4500000000000004},{"t":9,"r":31,"c":27,"a":"hold","s":0.26309954762680204,"ps":5,"e":4.65269507566625,"pr":1.3000000000000003},{"t":10,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":8.034928839672254,"pr":0.8999999999999999},{"t":10,"r":31,"c":26,"a":"extend","s":0.4735582617494322,"ps":4,"e":7.629287058777247,"pr":1.1},{"t":10,"r":31,"c":25,"a":"extend","s":0.5014263419556372,"ps":4,"e":7.067778218837663,"pr":1.2000000000000002},{"t":10,"r":31,"c":30,"a":"retracted","s":0.19424709772815912,"ps":4,"e":6.923777497589126,"pr":1.1},{"t":10,"r":31,"c":24,"a":"hold","s":0.3114133083144529,"ps":4,"e":6.7368536558038254,"pr":1.4000000000000004},{"t":10,"r":31,"c":27,"a":"hold","s":0.26115773523566266,"ps":4,"e":6.141956957551551,"pr":1.2500000000000002},{"t":11,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":7.5404249313991905,"pr":0.8499999999999999},{"t":11,"r":31,"c":26,"a":"extend","s":0.45767696705363176,"ps":4,"e":7.48349195664441,"pr":1.05},{"t":11,"r":31,"c":27,"a":"retracted","s":0.2524875795781123,"ps":4,"e":7.56185759417645,"pr":1.2000000000000002},{"t":12,"r":31,"c":26,"a":"extend","s":0.4423282689601651,"ps":4,"e":7.29548267582801,"pr":1},{"t":12,"r":31,"c":28,"a":"hold","s":0.11026364971697661,"ps":4,"e":3.6408044303861065,"pr":0.9499999999999998},{"t":16,"r":31,"c":26,"a":"extend","s":0.3912544377676627,"ps":4,"e":6.398910653507106,"pr":0.7999999999999998},{"t":16,"r":31,"c":30,"a":"hold","s":0.19786080880083423,"ps":4,"e":4.647889396966137,"pr":0.7999999999999997},{"t":17,"r":31,"c":25,"a":"extend","s":0.39553925474489016,"ps":4,"e":6.488243208699031,"pr":0.8499999999999999},{"t":18,"r":31,"c":27,"a":"extend","s":0.25269322600628075,"ps":4,"e":3.2993851335055355,"pr":0.8499999999999999},{"t":18,"r":31,"c":30,"a":"extend","s":0.2270583699975921,"ps":4,"e":3.7250614868904837,"pr":0.7499999999999997},{"t":20,"r":31,"c":26,"a":"extend","s":0.3912544377676627,"ps":4,"e":6.0223843967537976,"pr":0.5999999999999996},{"t":20,"r":31,"c":30,"a":"hold","s":0.2270583699975921,"ps":4,"e":6.157995406851958,"pr":0.6499999999999996},{"t":20,"r":31,"c":22,"a":"hold","s":0.24717710815749286,"ps":5,"e":3.600582438153481,"pr":1.8000000000000007},{"t":20,"r":31,"c":32,"a":"extend","s":0.28296783748376164,"ps":5,"e":1.8434559418668317,"pr":0.9999999999999997},{"t":21,"r":31,"c":26,"a":"extend","s":0.3912544377676627,"ps":4,"e":5.986693929226569,"pr":0.5499999999999996},{"t":21,"r":31,"c":27,"a":"hold","s":0.25269322600628075,"ps":4,"e":6.147743275189539,"pr":0.6999999999999997},{"t":21,"r":31,"c":30,"a":"retracted","s":0.2270583699975921,"ps":4,"e":7.374462366832695,"pr":0.5999999999999995},{"t":21,"r":31,"c":31,"a":"hold","s":0.2637343473365945,"ps":4,"e":4.5238176341166305,"pr":0.8499999999999996},{"t":21,"r":31,"c":22,"a":"hold","s":0.22205421032806494,"ps":4,"e":4.777016120778001,"pr":1.7500000000000007},{"t":22,"r":31,"c":23,"a":"extend","s":0.3622813158628511,"ps":5,"e":5.6796209697885685,"pr":1.6500000000000006},{"t":22,"r":31,"c":28,"a":"extend","s":0.34558841015214486,"ps":4,"e":4.927399942172362,"pr":0.5499999999999995},{"t":25,"r":31,"c":26,"a":"hold","s":0.3912544377676627,"ps":4,"e":8.46201594464863,"pr":0.34999999999999964},{"t":25,"r":31,"c":28,"a":"retracted","s":0.34558841015214486,"ps":4,"e":11.421521785823838,"pr":0.3999999999999995},{"t":25,"r":31,"c":27,"a":"hold","s":0.24204369888448915,"ps":5,"e":3.7286269235790543,"pr":0.49999999999999967},{"t":25,"r":31,"c":24,"a":"extend","s":0.4716989224293959,"ps":5,"e":3.888969099850279,"pr":0.5999999999999996},{"t":26,"r":31,"c":30,"a":"retracted","s":0.31331694684238537,"ps":4,"e":8.399985247496076,"pr":0.30000000000000004},{"t":27,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":6.390417035373716,"pr":0.3},{"t":30,"r":31,"c":28,"a":"retracted","s":0.25031052682950805,"ps":4,"e":6.82204329767397,"pr":0.30000000000000004},{"t":30,"r":31,"c":25,"a":"hold","s":0.2758683967128731,"ps":6,"e":5.641818765878609,"pr":0.8499999999999995},{"t":31,"r":31,"c":25,"a":"retracted","s":0.2783997192515073,"ps":7,"e":6.819016519890668,"pr":0.9499999999999995},{"t":32,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":6.3872269526917655,"pr":0.3},{"t":34,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":6.386898270987606,"pr":0.3},{"t":35,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":6.386803533319937,"pr":0.3},{"t":36,"r":31,"c":28,"a":"extend","s":0.3311915540609973,"ps":4,"e":4.310394249786633,"pr":0.3},{"t":36,"r":31,"c":23,"a":"extend","s":0.2780610656244854,"ps":4,"e":3.285141663888424,"pr":0.6499999999999994},{"t":37,"r":31,"c":27,"a":"extend","s":0.3065162270472527,"ps":4,"e":3.3404735656274465,"pr":0.3500000000000001},{"t":38,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":6.386658300475399,"pr":0.3},{"t":38,"r":31,"c":24,"a":"extend","s":0.4716989224293959,"ps":4,"e":7.292304183217043,"pr":0.3499999999999994},{"t":39,"r":31,"c":21,"a":"extend","s":0.5630924232533904,"ps":5,"e":4.894541183503967,"pr":0.8499999999999993},{"t":41,"r":31,"c":28,"a":"extend","s":0.3311915540609973,"ps":4,"e":4.702938833534328,"pr":0.3},{"t":41,"r":31,"c":25,"a":"hold","s":0.25569124733806314,"ps":4,"e":5.035459170961813,"pr":0.4499999999999993},{"t":41,"r":31,"c":27,"a":"extend","s":0.3065162270472527,"ps":4,"e":4.0860590805270185,"pr":0.3},{"t":41,"r":31,"c":22,"a":"extend","s":0.3450973946568701,"ps":4,"e":4.822839206418275,"pr":0.5499999999999992},{"t":42,"r":31,"c":23,"a":"hold","s":0.2524843155344451,"ps":4,"e":6.146091081043728,"pr":0.3999999999999993},{"t":42,"r":31,"c":27,"a":"extend","s":0.3065162270472527,"ps":4,"e":4.156732227833527,"pr":0.3},{"t":42,"r":31,"c":21,"a":"extend","s":0.4231371852927946,"ps":4,"e":6.328021368247275,"pr":0.7499999999999992},{"t":43,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":6.386595222117405,"pr":0.3},{"t":43,"r":31,"c":24,"a":"extend","s":0.4716989224293959,"ps":4,"e":7.386097942091449,"pr":0.3},{"t":43,"r":31,"c":28,"a":"hold","s":0.3311915540609973,"ps":4,"e":6.776262318703592,"pr":0.3},{"t":43,"r":31,"c":25,"a":"retracted","s":0.25569124733806314,"ps":4,"e":7.926519128370822,"pr":0.3499999999999993},{"t":43,"r":31,"c":26,"a":"extend","s":0.43214246179072696,"ps":4,"e":5.856308087498315,"pr":0.3},{"t":44,"r":31,"c":20,"a":"extend","s":0.5399811702843323,"ps":4,"e":6.818397274015104,"pr":0.7999999999999992},{"t":45,"r":31,"c":28,"a":"retracted","s":0.3311915540609973,"ps":4,"e":10.87532718367955,"pr":0.3},{"t":45,"r":31,"c":27,"a":"retracted","s":0.3065162270472527,"ps":4,"e":9.71312167696759,"pr":0.3},{"t":45,"r":31,"c":30,"a":"hold","s":0.18680295194258492,"ps":5,"e":3.4815342151595923,"pr":0.4},{"t":46,"r":31,"c":21,"a":"hold","s":0.37630637847415327,"ps":4,"e":8.522940796344892,"pr":0.549999999999999},{"t":46,"r":31,"c":26,"a":"extend","s":0.43214246179072696,"ps":4,"e":6.388708825413397,"pr":0.3},{"t":46,"r":31,"c":20,"a":"extend","s":0.5030400574997815,"ps":4,"e":7.487077998930453,"pr":0.6999999999999991},{"t":46,"r":31,"c":19,"a":"hold","s":0.30405403009775966,"ps":4,"e":6.695006425776741,"pr":0.9499999999999992},{"t":47,"r":31,"c":26,"a":"extend","s":0.43214246179072696,"ps":4,"e":6.472093963817448,"pr":0.3},{"t":47,"r":31,"c":25,"a":"retracted","s":0.3487561634668922,"ps":4,"e":8.78531597697282,"pr":0.30000000000000004},{"t":47,"r":31,"c":18,"a":"extend","s":0.4293575121902497,"ps":6,"e":4.168326800342059,"pr":1.1499999999999992},{"t":48,"r":31,"c":26,"a":"extend","s":0.43214246179072696,"ps":4,"e":6.530463560700284,"pr":0.3},{"t":48,"r":31,"c":19,"a":"retracted","s":0.2922768771917396,"ps":4,"e":10.21807984466918,"pr":0.8499999999999991},{"t":49,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":6.386583978005056,"pr":0.3},{"t":49,"r":31,"c":28,"a":"hold","s":0.2806689032314591,"ps":5,"e":5.050601293507205,"pr":0.4},{"t":49,"r":31,"c":25,"a":"hold","s":0.2759005116849449,"ps":5,"e":4.629430604541904,"pr":0.4},{"t":50,"r":31,"c":26,"a":"extend","s":0.43214246179072696,"ps":4,"e":6.599923380990861,"pr":0.3},{"t":52,"r":31,"c":18,"a":"extend","s":0.3810747157983265,"ps":5,"e":6.4596539894862355,"pr":1.1499999999999992},{"t":52,"r":31,"c":15,"a":"extend","s":0.32786444761536127,"ps":4,"e":4.763593807021231,"pr":1.3999999999999995},{"t":53,"r":31,"c":29,"a":"extend","s":0.41713834707653796,"ps":4,"e":6.3865828387302885,"pr":0.3},{"t":54,"r":31,"c":24,"a":"extend","s":0.4716989224293959,"ps":4,"e":7.404671876083936,"pr":0.3},{"t":54,"r":31,"c":26,"a":"extend","s":0.43214246179072696,"ps":4,"e":6.650635995785008,"pr":0.3},{"t":54,"r":31,"c":19,"a":"extend","s":0.40465815365608326,"ps":5,"e":3.7104156307334812,"pr":0.44999999999999896},{"t":55,"r":31,"c":24,"a":"extend","s":0.4716989224293959,"ps":4,"e":7.404784278863371,"pr":0.3},{"t":55,"r":31,"c":26,"a":"extend","s":0.43214246179072696,"ps":4,"e":6.655442983077576,"pr":0.3},{"t":55,"r":31,"c":18,"a":"extend","s":0.3502218151448239,"ps":4,"e":5.788714791692616,"pr":1.0999999999999992},{"t":55,"r":31,"c":17,"a":"extend","s":0.5162621723784255,"ps":4,"e":7.54075433210491,"pr":1.1999999999999993}];
|
|
const lines = text.split('\n');
|
|
const gridEl = document.getElementById('grid');
|
|
const charEls = [];
|
|
for (let r = 0; r < lines.length; r++) {
|
|
const row = [];
|
|
for (let c = 0; c < lines[r].length; c++) {
|
|
const s = document.createElement('span');
|
|
s.className = 'c';
|
|
s.textContent = lines[r][c];
|
|
row.push(s);
|
|
gridEl.appendChild(s);
|
|
}
|
|
charEls.push(row);
|
|
gridEl.appendChild(document.createTextNode('\n'));
|
|
}
|
|
let tick = -1, playing = false, iv;
|
|
function apply(t) {
|
|
for (const r of charEls) for (const e of r) e.className = 'c';
|
|
const active = new Map();
|
|
for (const p of passes) {
|
|
if (p.t > t) break;
|
|
const k = p.r+','+p.c;
|
|
if (p.a === 'died' || p.a === 'retracted') active.set(k, 'dead');
|
|
else if (p.ps > 16) active.set(k, 'strong');
|
|
else active.set(k, 'active');
|
|
}
|
|
for (const [k, cls] of active) {
|
|
const [r, c] = k.split(',').map(Number);
|
|
if (charEls[r]?.[c]) charEls[r][c].className = 'c ' + cls;
|
|
}
|
|
document.getElementById('info').textContent = 'tick ' + t + ' · ' + [...active.values()].filter(v=>v!=='dead').length + ' alive';
|
|
}
|
|
function play() {
|
|
if (playing) return;
|
|
playing = true;
|
|
document.getElementById('play-btn').textContent = 'pause';
|
|
const max = passes.length > 0 ? passes[passes.length-1].t : 0;
|
|
iv = setInterval(() => { tick++; if (tick > max) { pause(); return; } apply(tick); }, 900);
|
|
}
|
|
function pause() { playing = false; clearInterval(iv); document.getElementById('play-btn').textContent = 'play'; }
|
|
function reset() { pause(); tick = -1; for (const r of charEls) for (const e of r) e.className = 'c'; document.getElementById('info').textContent = 'neurameba'; }
|
|
document.getElementById('play-btn').addEventListener('click', () => playing ? pause() : play());
|
|
document.getElementById('reset-btn').addEventListener('click', reset);
|
|
setTimeout(play, 1000);
|
|
</script>
|
|
</body>
|
|
</html> |