diff --git a/assets/logo-side-dark.b64 b/assets/logo-side-dark.b64 new file mode 100644 index 0000000..ebbab66 --- /dev/null +++ b/assets/logo-side-dark.b64 @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/assets/logo-side-light.b64 b/assets/logo-side-light.b64 new file mode 100644 index 0000000..97cd680 --- /dev/null +++ b/assets/logo-side-light.b64 @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/build.sh b/build.sh index d42129c..d14c4f8 100755 --- a/build.sh +++ b/build.sh @@ -40,6 +40,8 @@ def build(name): src = src.replace("@BUILD:favicon@", (A / "favicon.b64").read_text().strip()) src = src.replace("@BUILD:logo-dark@", (A / "logo-dark.b64").read_text().strip()) src = src.replace("@BUILD:logo-light@", (A / "logo-light.b64").read_text().strip()) + src = src.replace("@BUILD:logo-side-dark@", (A / "logo-side-dark.b64").read_text().strip()) + src = src.replace("@BUILD:logo-side-light@", (A / "logo-side-light.b64").read_text().strip()) src = src.replace("@BUILD:bravura@", (A / "bravura.woff2.b64").read_text().strip()) # SMuFL music font subset (PM_E-2 notation) assert "@BUILD:" not in src, f"unresolved build marker(s) remain in {name}" out = pathlib.Path("dist") / name diff --git a/mobile.html b/mobile.html index 6a2d992..b8fce9f 100644 --- a/mobile.html +++ b/mobile.html @@ -55,12 +55,15 @@ #app{ position:fixed; inset:0; overflow:hidden; display:flex; flex-direction:column; align-items:center; --maxw:600px; --pad:14px; padding:max(12px,env(safe-area-inset-top)) max(var(--pad),env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(var(--pad),env(safe-area-inset-left)); } - #top, #mid, #sessbar{ width:100%; max-width:var(--maxw); } + #top, #mid{ width:100%; max-width:var(--maxw); } :fullscreen #app, html:fullscreen #app{ --pad:30px; padding-top:max(24px,env(safe-area-inset-top)); padding-bottom:max(18px,env(safe-area-inset-bottom)); } @media (display-mode:standalone){ #app{ --pad:26px; padding-top:max(20px,env(safe-area-inset-top)); padding-bottom:max(16px,env(safe-area-inset-bottom)); } } /* ---- top ---- */ - #top{ flex:0 0 auto; display:flex; flex-direction:column; gap:10px; } + #top{ flex:0 0 auto; display:flex; flex-direction:column; gap:9px; } + #brandrow{ display:flex; align-items:center; } + #logoLink{ display:inline-flex; opacity:.9; } + .brandlogo{ height:clamp(17px,3.4vmin,24px); width:auto; display:block; } .sels{ display:flex; gap:8px; align-items:flex-end; } .sel{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; gap:3px; } .sel > span{ font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding-left:3px; } @@ -76,31 +79,36 @@ /* ---- middle: pulse + track panel + lanes + transport, centered as one block ---- */ #mid{ flex:1 1 auto; min-height:0; display:flex; flex-direction:column; align-items:center; justify-content:safe center; gap:clamp(10px,2.4vmin,22px); } #stage{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; width:100%; } - /* compact tempo "plate" (was a big circle) — flashes on the beat; tap/hold/drag target */ - #pulse{ position:relative; width:100%; padding:clamp(10px,2.4vmin,20px) 16px; border-radius:16px; - display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; + /* tempo plate: [TAP] [big BPM] [thumbwheel] — flashes on the beat */ + #pulse{ position:relative; width:100%; padding:clamp(8px,1.8vmin,14px); border-radius:16px; + display:flex; flex-direction:row; align-items:stretch; gap:clamp(8px,2vmin,16px); border:1px solid var(--ring); background:linear-gradient(180deg, rgba(127,139,154,.06), transparent); - transition:box-shadow .12s ease-out, border-color .12s ease-out, background .12s ease-out; touch-action:none; cursor:pointer; } + transition:box-shadow .12s ease-out, border-color .12s ease-out, background .12s ease-out; } #pulse.hit{ border-color:var(--cyan); box-shadow:0 0 22px var(--glow); background:rgba(10,179,247,.07); } #pulse.hit.acc{ border-color:var(--amber); box-shadow:0 0 26px var(--aglow); background:rgba(255,209,102,.08); } - /* tempo as an engraved marking: ♩ = N */ - #bpm{ display:inline-flex; align-items:center; justify-content:center; gap:.12em; line-height:.82; } - #bpmNum{ font-size:clamp(44px,14vmin,128px); font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.01em; } - .metmark{ display:inline-flex; align-items:center; gap:.12em; color:var(--muted); font-size:clamp(20px,5.6vmin,50px); font-weight:600; } - .metmark .rhythm{ height:1.2em; width:auto; } - .metmark::after{ content:"="; } - #bpmlab{ font-size:clamp(9px,1.8vmin,14px); letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-top:.7em; opacity:.8; } - #bpmIn{ display:none; width:64%; text-align:center; font:inherit; font-size:clamp(42px,13vmin,120px); font-weight:800; + .tapbtn{ flex:0 0 auto; align-self:stretch; min-width:clamp(58px,16vmin,100px); border-radius:12px; + background:linear-gradient(180deg,var(--btn1),var(--btn2)); border:1px solid var(--btn-bd); color:var(--txt); + font-size:clamp(13px,2.8vmin,18px); font-weight:600; letter-spacing:.14em; cursor:pointer; + box-shadow:0 3px 0 rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06); } + .tapbtn:active{ transform:translateY(2px); box-shadow:0 1px 0 rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06); } + #bpm{ flex:1 1 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:.82; cursor:pointer; min-width:0; } + #bpmNum{ font-size:clamp(44px,15vmin,120px); font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.01em; } + #bpmlab{ font-size:clamp(9px,1.8vmin,13px); letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-top:.5em; opacity:.85; } + #bpmIn{ display:none; flex:1 1 auto; min-width:0; text-align:center; font:inherit; font-size:clamp(40px,13vmin,108px); font-weight:800; background:transparent; color:var(--txt); border:none; border-bottom:2px solid var(--cyan); outline:none; font-variant-numeric:tabular-nums; -moz-appearance:textfield; } #bpmIn::-webkit-outer-spin-button, #bpmIn::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; } + /* thumbwheel encoder — drag up/down to scrape the tempo */ + #wheel{ flex:0 0 auto; align-self:stretch; width:clamp(30px,7.5vmin,46px); border-radius:11px; cursor:ns-resize; touch-action:none; + border:1px solid var(--btn-bd); + background:repeating-linear-gradient(to bottom, rgba(0,0,0,.16) 0 1px, transparent 1px 6px), + linear-gradient(to right, rgba(0,0,0,.26), rgba(255,255,255,.14) 48%, rgba(0,0,0,.26)), var(--field-bg); + box-shadow:inset 0 0 6px rgba(0,0,0,.25); } + #wheel:active{ border-color:var(--cyan); } #meterline{ font-size:clamp(12px,2.1vmin,16px); color:var(--muted); text-align:center; min-height:1.2em; letter-spacing:.02em; } - /* ---- track panel (repeat/end/ramp/gap/string) + editable lanes ---- */ - #detail{ flex:0 1 auto; width:100%; max-height:32vh; overflow-y:auto; display:flex; flex-direction:column; gap:8px; padding:2px 0; } - #lanes{ display:flex; flex-direction:column; gap:6px; position:relative; } - #lanes::before{ content:""; position:absolute; left:-2px; right:-2px; top:7%; bottom:7%; pointer-events:none; z-index:0; - background:repeating-linear-gradient(to bottom, var(--staff) 0 1.5px, transparent 1.5px 25%); } - #lanes > *{ position:relative; z-index:1; } + /* ---- editable lanes (scroll if many) + track panel below ---- */ + #detail{ flex:0 1 auto; width:100%; display:flex; flex-direction:column; gap:8px; padding:2px 0; min-height:0; } + #lanes{ display:flex; flex-direction:column; gap:6px; max-height:34vh; overflow-y:auto; } #trackpanel{ width:100%; background:var(--chip-bg); border:1px solid var(--chip-bd); border-radius:10px; padding:8px 11px; display:flex; flex-direction:column; gap:8px; font-size:12px; color:var(--muted); } #trackpanel .tp-row{ display:flex; align-items:center; gap:8px 18px; flex-wrap:nowrap; } #trackpanel label{ display:flex; align-items:center; gap:6px; white-space:nowrap; } @@ -153,14 +161,20 @@ .chip.feat{ font-size:clamp(10px,1.8vmin,13px); color:var(--muted); background:var(--chip-bg); border:1px solid var(--chip-bd); border-radius:7px; padding:3px 8px; white-space:nowrap; } .chip.feat.r{ border-color:var(--cyan); color:var(--cyan); } .chip.feat.g{ border-color:var(--amber); color:var(--amber); } - /* ---- transport ---- */ - /* transport grows to fill the space freed by the compact tempo plate */ - #transport{ flex:1 1 auto; max-height:clamp(150px,42vh,300px); display:flex; align-items:stretch; justify-content:center; width:100%; padding-top:6px; } - .tgrid{ display:grid; width:100%; height:100%; gap:clamp(7px,1.7vmin,14px); - grid-template-columns:1fr 1.5fr 1.5fr 1fr; grid-template-rows:1fr 1fr; grid-template-areas:"dn10 prev next up10" "dn play prac up"; } + /* ---- transport: tempo row (−10/−/+/+10) then nav+play row (prev/play/practice/next) ---- */ + /* grows to fill freed space; SHRINKS (rather than the page scrolling) when the panel expands */ + #transport{ flex:1 1 auto; min-height:0; max-height:clamp(150px,42vh,300px); display:flex; flex-direction:column; align-items:stretch; width:100%; padding-top:6px; gap:clamp(6px,1.4vmin,11px); } + .tgrid{ display:grid; width:100%; flex:1 1 auto; min-height:0; gap:clamp(7px,1.7vmin,14px); + grid-template-columns:1fr 1.5fr 1.5fr 1fr; grid-template-rows:1fr 1fr; grid-template-areas:"dn10 dn up up10" "prev play prac next"; } .tbtn{ background:linear-gradient(180deg,var(--btn1),var(--btn2)); color:var(--txt); border:1px solid var(--btn-bd); - border-radius:14px; height:auto; min-height:46px; font-size:clamp(18px,4.4vmin,30px); cursor:pointer; + border-radius:14px; height:auto; min-height:42px; font-size:clamp(18px,4.4vmin,30px); cursor:pointer; box-shadow:0 3px 0 rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; } + .journal{ flex:0 0 auto; width:100%; height:clamp(34px,7vmin,46px); border-radius:11px; cursor:pointer; + background:rgba(127,139,154,.10); border:1px solid var(--panel-bd); color:var(--muted); font-size:13px; + display:flex; align-items:center; justify-content:center; gap:8px; } + .journal.rec{ background:rgba(192,57,43,.12); border-color:#c0392b; color:var(--txt); cursor:default; } + .journal .dotrec{ width:9px; height:9px; border-radius:50%; background:#e0493a; box-shadow:0 0 8px #e0493a; display:none; } + .journal.rec .dotrec{ display:inline-block; } .tbtn small{ font-size:clamp(8px,1.5vmin,11px); letter-spacing:.1em; color:inherit; opacity:.85; } .tbtn:active{ transform:translateY(2px); box-shadow:0 1px 0 rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06); } #bDn10{grid-area:dn10} #bPrev{grid-area:prev} #bNext{grid-area:next} #bUp10{grid-area:up10} @@ -182,22 +196,10 @@ grid-template-areas:"stage detail" "transport detail"; } #stage{ grid-area:stage; align-self:center; } #detail{ grid-area:detail; align-self:stretch; width:auto; max-width:none; max-height:none; min-height:0; overflow-y:auto; } - #transport{ grid-area:transport; align-self:end; } - #pulse{ width:clamp(110px,40vmin,360px); height:clamp(110px,40vmin,360px); } - .tbtn{ height:clamp(40px,13vmin,68px); } + #transport{ grid-area:transport; align-self:end; max-height:none; } + .tbtn{ height:clamp(38px,12vmin,62px); } } - /* ---- session bar ---- */ - #sessbar{ flex:0 0 auto; display:flex; align-items:center; gap:10px; width:100%; margin-top:6px; padding:9px 12px; border-radius:11px; - background:rgba(127,139,154,.10); border:1px solid var(--panel-bd); color:var(--muted); font-size:13px; } - #sessbar.rec{ background:rgba(192,57,43,.12); border-color:#c0392b; color:var(--txt); } - #sessLink{ flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:8px; text-decoration:none; color:inherit; cursor:pointer; } - #sessbar .dotrec{ width:9px; height:9px; border-radius:50%; background:#e0493a; box-shadow:0 0 8px #e0493a; flex:0 0 auto; display:none; } - #sessbar.rec .dotrec{ display:block; } - #sessText{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } - #repoLink{ flex:0 0 auto; display:inline-flex; align-items:center; opacity:.38; } - #repoLink:hover{ opacity:.85; } - #repoLink .rlogo{ height:13px; width:auto; display:block; } [data-theme="light"] .logo-dark{ display:none; } [data-theme="dark"] .logo-light{ display:none; } /* ---- bottom sheet (lane editor) ---- */ @@ -250,6 +252,9 @@