Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

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

feat: notepat.com domain + .com superscript HUD branding

- Add hud.superscript() API for custom cyan superscript text on HUD label
- notepat calls hud.superscript('.com') showing notepat^.com in corner
- Netlify proxy (200) for notepat.com/www.notepat.com → aesthetic.computer/notepat
- Tapping HUD label on notepat.com does full page jump to aesthetic.computer

+63 -3
+22
system/netlify.toml
··· 854 854 status = 200 855 855 force = true 856 856 857 + # 🎹 notepat.com — proxies to aesthetic.computer/notepat (preserves notepat.com in URL bar) 858 + [[redirects]] 859 + from = "https://notepat.com" 860 + to = "https://aesthetic.computer/notepat" 861 + status = 200 862 + force = true 863 + [[redirects]] 864 + from = "https://www.notepat.com" 865 + to = "https://aesthetic.computer/notepat" 866 + status = 200 867 + force = true 868 + [[redirects]] 869 + from = "https://www.notepat.com/*" 870 + to = "https://aesthetic.computer/notepat" 871 + status = 200 872 + force = true 873 + [[redirects]] 874 + from = "https://notepat.com/*" 875 + to = "https://aesthetic.computer/notepat" 876 + status = 200 877 + force = true 878 + 857 879 [[redirects]] 858 880 from = "https://kidlisp.com" 859 881 to = "https://aesthetic.computer/kidlisp.com/"
+3
system/public/aesthetic.computer/disks/notepat.mjs
··· 1128 1128 autopatHud = hud; 1129 1129 autopatTypeface = typeface; 1130 1130 1131 + // ✨ Show ".com" superscript in the HUD corner label (notepat.com branding) 1132 + hud.superscript(".com"); 1133 + 1131 1134 // 🎹 Check if we're in DAW mode (loaded from Ableton M4L) 1132 1135 dawMode = query?.daw === "1" || query?.daw === 1 || query?.daw === true; 1133 1136 console.log("🎹 Notepat: dawMode =", dawMode, "query.daw =", query?.daw, typeof query?.daw);
+38 -3
system/public/aesthetic.computer/lib/disk.mjs
··· 1688 1688 currentHUDQRCells = null, // Cached QR code cells 1689 1689 currentHUDAuthor = null, // @handle of the author for KidLisp pieces 1690 1690 currentHUDHits = null, // Hit count for KidLisp pieces 1691 + currentHUDSuperscript = null, // Custom superscript text (e.g. ".com") shown after label in cyan 1691 1692 forceTinyHudLabel = false, // Force MatrixChunky8 font for HUD label (set via hud.tinyLabel()) 1692 1693 qrOverlayCache = new Map(), // Cache for QR overlays to prevent regeneration every frame 1693 1694 hudLabelCache = null; // Cache for HUD label to prevent regeneration every frame ··· 3275 3276 // 🔤 Force MatrixChunky8 (tiny) font for HUD label 3276 3277 tinyLabel: (enabled = true) => { 3277 3278 forceTinyHudLabel = enabled; 3279 + }, 3280 + // ✨ Set a custom superscript (e.g. ".com") to display after the label in cyan 3281 + superscript: (text) => { 3282 + currentHUDSuperscript = text || null; 3278 3283 }, 3279 3284 currentStatusColor: () => currentHUDStatusColor, 3280 3285 currentLabel: () => ({ ··· 9096 9101 currentHUDLeftPad = 0; 9097 9102 currentHUDQR = null; // Reset QR code when loading new piece 9098 9103 currentHUDQRCells = null; 9104 + currentHUDSuperscript = null; // Reset custom superscript 9099 9105 forceTinyHudLabel = false; // Reset tiny label flag 9100 9106 // currentPromptButton = undefined; 9101 9107 ··· 11850 11856 decay: 0.5, 11851 11857 volume: 0.15, 11852 11858 }); 11859 + 11860 + // 🌐 Custom domain redirect: if on a branded .com domain (e.g. notepat.com), 11861 + // tapping the HUD label navigates to aesthetic.computer instead of prompt. 11862 + if (currentHUDSuperscript === ".com" && typeof window !== "undefined" && 11863 + window.location?.hostname?.endsWith("notepat.com")) { 11864 + window.location.href = "https://aesthetic.computer"; 11865 + return; 11866 + } 11867 + 11853 11868 if (!labelBack) { 11854 11869 // Only clear prompt text when leaving NON-kidlisp pieces by tapping HUD 11855 11870 // For inline kidlisp prompts, preserve the content so user can continue editing ··· 13046 13061 const lanBadgePadding = showLanBadge ? 10 : 0; // Space for letter + margin 13047 13062 w += lanBadgePadding; 13048 13063 13064 + // ✨ Custom superscript (e.g. ".com") - add width for text 13065 + const showCustomSuperscript = !!currentHUDSuperscript; 13066 + const customSuperscriptPadding = showCustomSuperscript ? (currentHUDSuperscript.length * 5 + 3) : 0; 13067 + w += customSuperscriptPadding; 13068 + 13049 13069 // 📱 HUD QR code - generate cells and calculate width 13050 13070 let hudQRSize = 0; 13051 13071 let hudQRPadding = 0; ··· 13205 13225 // wordWrap defaults to true when bounds is set, enabling character wrapping 13206 13226 }); 13207 13227 13208 - // 📡 LAN Badge Superscript - draw device letter after the text 13228 + // ✨ Custom Superscript (e.g. ".com") - draw after the text in cyan 13229 + if (showCustomSuperscript) { 13230 + const firstLine = text?.split('\n')[0] || text; 13231 + const firstLineWidth = cachedAPI.text.width( 13232 + stripColorCodes(firstLine), 13233 + selectedTypeface 13234 + ); 13235 + 13236 + const superscriptX = hudTextX + firstLineWidth + 2; 13237 + const superscriptY = 0; 13238 + 13239 + $.ink(0, 220, 255); // Bright cyan 13240 + $.write(currentHUDSuperscript, { x: superscriptX, y: superscriptY }, undefined, undefined, false, "MatrixChunky8"); 13241 + } 13242 + 13243 + // 📡 LAN Badge Superscript - draw device letter after the text (+ custom superscript offset) 13209 13244 if (showLanBadge) { 13210 13245 const deviceLetter = devIdentity.letter || 13211 13246 (devIdentity.name ? devIdentity.name.charAt(0).toUpperCase() : null) || ··· 13218 13253 selectedTypeface 13219 13254 ); 13220 13255 13221 - // Position superscript to the right of first line, vertically at top 13222 - const superscriptX = hudTextX + firstLineWidth + 2; // 2px gap after text 13256 + // Position superscript to the right of first line (after custom superscript if present) 13257 + const superscriptX = hudTextX + firstLineWidth + 2 + customSuperscriptPadding; 13223 13258 const superscriptY = 0; // Top of the line (superscript position) 13224 13259 13225 13260 // Draw letter in cyan using MatrixChunky8