site 1.4.0: Pionaarr Mods -- plainer text, player look, moving background, stock switch

- Hero renamed Pionaarr Mods with a short plain explanation; card texts trimmed.
- New before/after shots: stock against every mod incl. those in testing (3-band waveform).
- Look taken from the player: LCD chip, CDJ-style tabs, Chakra Petch/Barlow, a record
  and a 3-band waveform running in the background (static with reduced motion).
- Builder: Stock firmware switch clears and locks the mods, gives the picks back when off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Thiemo TizianiandClaude Opus 5.5 committed 2026-10-20 10:21:53 +02:00
1 parent e6351de711
commit be45158e3f
11 files changed
+252 -62

No files matched your search

+17 -1
View File
@@ -24,6 +24,20 @@
];
var chosen = {};
MODS.forEach(function (m) { chosen[m.id] = m.state === 'stable'; });
var stock = false, before = null; // the stock switch, and the picks it put away
function setStock(on) {
stock = on;
if (on) {
before = {};
MODS.forEach(function (m) { before[m.id] = chosen[m.id]; chosen[m.id] = false; });
} else if (before) {
MODS.forEach(function (m) { chosen[m.id] = before[m.id]; });
}
byId('stock').setAttribute('aria-pressed', on ? 'true' : 'false');
byId('pick-note').textContent = on ? 'Stock: the update will have no mods.' : '';
render();
}
var file = null;
function byId(id) { return document.getElementById(id); }
@@ -56,7 +70,7 @@
box.innerHTML = '';
MODS.forEach(function (m) {
var row = document.createElement('label');
row.className = 'pick' + (chosen[m.id] ? ' on' : '');
row.className = 'pick' + (chosen[m.id] ? ' on' : '') + (stock ? ' off' : '');
row.innerHTML =
'<input type="checkbox"' + (chosen[m.id] ? ' checked' : '') + '>' +
'<span class="pick-main"><span class="pick-name">' + m.name + ' <code>' + m.id + '</code>' +
@@ -65,6 +79,7 @@
'<span class="pick-by">' + (m.by === 'ours' ? 'ours · made with Claude Code' : m.by === 'based' ? 'ours · based on arnoldasr, updated and published by us' : 'by arnoldasr') +
(m.needs ? ' · needs <code>' + m.needs + '</code>' : '') + '</span></span>' +
'<span class="state ' + m.state + '">' + m.state + '</span>';
row.querySelector('input').disabled = stock;
row.querySelector('input').addEventListener('change', function (e) { toggle(m.id, e.target.checked); });
box.appendChild(row);
});
@@ -130,5 +145,6 @@
byId('agree-risk').addEventListener('change', ready);
byId('agree-ai').addEventListener('change', ready);
byId('build').addEventListener('click', run);
byId('stock').addEventListener('click', function () { setStock(!stock); });
});
})();