Site 1.1.0: beat jump in the builder, version and changelog, key colours

- Beat jump (experimental) on the mods page, in the docs and in the builder
  (needs hot cue keys; dependencies are ticked and unticked as a chain).
- Key notation 1.2.0: keys in their Camelot wheel colour, also in BROWSE.
- Version badge at the top with a changelog; every mod's version on its
  card and in the builder. make_builder_data.py writes assets/versions.js
  from tools/changelog.json and the mods' versions and stamps the pages'
  CSS and script links with ?v=<site version>.
- The generator keeps a changed copy of the UTILITY table as the user's
  own table plus our bytes (beat jump renames an item).
- Upcoming: quick search, USB auto load and phase meter reverse (in testing).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Thiemo TizianiandClaude Opus 5.5 committed 2026-10-20 02:00:48 +02:00
1 parent e4728b16ea
commit d2d1518fba
16 files changed
+440 -72

No files matched your search

+36
View File
@@ -376,3 +376,39 @@ button.btn { font: inherit; font-weight: 700; cursor: pointer; }
@media (max-width: 360px) {
.tabs a { padding: 5px 6px; font-size: .74rem; }
}
/* ---- version badge and changelog ---- */
.ver-btn {
border: 1px solid var(--line); background: var(--card); color: var(--muted);
font: 600 .74rem/1 var(--mono); padding: 7px 10px; border-radius: 999px; cursor: pointer; white-space: nowrap;
}
.ver-btn:hover { color: var(--text); border-color: var(--accent); }
.ver-pop {
position: fixed; inset: 0; z-index: 50; display: none; align-items: flex-start; justify-content: center;
background: color-mix(in srgb, var(--bg) 55%, transparent); padding: 80px 16px 16px;
}
.ver-pop.open { display: flex; }
.ver-box {
width: min(560px, 100%); max-height: calc(100vh - 100px); overflow: auto;
background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
padding: 20px 22px;
}
.ver-box h2 { margin: 0 0 4px; font-size: 1.15rem; }
.ver-box .sub { color: var(--muted); font-size: .85rem; margin: 0 0 14px; }
.ver-box h3 { margin: 16px 0 6px; font-size: .95rem; }
.ver-box h3 .d { color: var(--faint); font: 500 .78rem var(--mono); margin-left: 8px; }
.ver-box ul { margin: 0; padding-left: 18px; color: var(--muted); font-size: .9rem; }
.ver-box .close {
float: right; border: 1px solid var(--line); background: var(--card-2); color: var(--muted);
width: 32px; height: 32px; border-radius: 50%; cursor: pointer; font-size: 1rem;
}
.ver-box .close:hover { color: var(--text); }
.ver-mods { display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; font-size: .88rem; margin-top: 6px; }
.ver-mods code { background: none; border: 0; padding: 0; }
.ver-mods span { color: var(--muted); font-family: var(--mono); }
.ver { font: 600 .7rem/1 var(--mono); color: var(--faint); margin-left: 6px; }
@media (max-width: 560px) {
.top .brand { display: none; }
.ver-btn { padding: 6px 7px; font-size: .68rem; }
.tabs a { padding: 6px 10px; }
}