Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: notepat F12 recital mode + perf still good on previous build

F12 (star key): toggles recital mode — hides all UI, shows only the
audio-reactive colored backdrop (like tablet mode but user-toggleable).
Beep feedback (high tone on, low tone off).

Performance check on previous build: stable 17ms avg (58fps) for
50,000+ frames with <2% slow frames. Multi-process DRM fallback
is performing perfectly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+13 -2
+13 -2
fedac/native/pieces/notepat.mjs
··· 30 30 31 31 // Hold/latch: F11 (green pickup) engages, F10 (red hangup) clears 32 32 // While engaged, any new notes auto-latch (sustain on key release) 33 + let recitalMode = false; // F12: hide all UI, show only colored backdrops 33 34 let holdActive = false; // true when hold is engaged 34 35 let heldKeys = new Set(); // keys that are latched (won't stop on key-up) 35 36 ··· 630 631 if (metronomeEnabled) { 631 632 metronomeBeatCount = Math.floor(syncedNow() / (60000 / metronomeBPM)); 632 633 } 634 + return; 635 + } 636 + // F12 (star key): recital mode — hide UI, show only colored backdrops 637 + if (key === "f12") { 638 + recitalMode = !recitalMode; 639 + sound?.synth?.({ 640 + type: "sine", 641 + tone: recitalMode ? 880 : 440, 642 + duration: 0.12, volume: 0.18, attack: 0.005, decay: 0.11 643 + }); 633 644 return; 634 645 } 635 646 if (key >= "1" && key <= "9") { octave = parseInt(key); return; } ··· 1270 1281 } 1271 1282 lastTabletMode = system.tabletMode; 1272 1283 1273 - // Tablet mode: solid color only, no UI 1274 - if (system.tabletMode) return; 1284 + // Tablet mode or Recital mode (F12): solid color only, no UI 1285 + if (system.tabletMode || recitalMode) return; 1275 1286 1276 1287 // Metronome flash border 1277 1288 if (metronomeFlash > 0 && metronomeEnabled) {