1/** 2 * CitrusOS direct-mount routes â JS-only apps with no standalone .html file. 3 * Registered into PupwifeSpa.ROUTES from spaRouteManifest and re-applied on shell boot. 4 */ 5(function (global) { 6 'use strict'; 7 8 var ROUTE_IDS = ['strudel.html', 'daw.html']; 9 10 function register(api) { 11 if (!api || !api.ROUTES || !api.createModuleRoute || !api.createToolRoute) return false; 12 13 var mod = api.createModuleRoute; 14 var tool = api.createToolRoute; 15 16 api.ROUTES['strudel.html'] = tool({ 17 bodyClass: 'dashboard page-strudel', 18 css: ['/css/strudelApp.css'], 19 scripts: [ 20 '/scripts/strudel/strudelCore.js', 21 '/scripts/strudel/strudelApp.js', 22 '/scripts/strudel/strudelPageCitrus.js' 23 ], 24 module: 'StrudelPageCitrus' 25 }); 26 27 api.ROUTES['daw.html'] = mod({ 28 bodyClass: 'dashboard page-daw daw-fit-viewport', 29 directMount: true, 30 css: ['/css/dawDesktop.css?v=citrus-daw-20260907b'], 31 scripts: [ 32 '/scripts/daw/dawDesktopMarkup.js', 33 'https://cdn.jsdelivr.net/npm/[email protected]/build/Tone.js', 34 '/scripts/daw/dawFluidsynthBoot.js', 35 '/scripts/daw/dawEngine.js', 36 '/scripts/daw/dawPage.js', 37 '/scripts/daw/dawPageCitrus.js', 38 '/scripts/daw/dawSynthFlyout.js?v=citrus-synth-flyout-3' 39 ], 40 modules: [ 41 '/scripts/daw/soundfonts.js', 42 '/scripts/daw/daw.js?v=citrus-synth-flyout-3' 43 ], 44 module: 'DawPageCitrus' 45 }); 46 47 return true; 48 } 49 50 function ensureRegistered() { 51 if (!global.PupwifeSpa || !global.PupwifeSpa.routes) return false; 52 return register({ 53 ROUTES: global.PupwifeSpa.routes, 54 createModuleRoute: global.PupwifeSpa.createModuleRoute, 55 createToolRoute: global.PupwifeSpa.createToolRoute 56 }); 57 } 58 59 global.CitrusDirectMountRoutes = { 60 routeIds: ROUTE_IDS, 61 register: register, 62 ensure: ensureRegistered, 63 isDirectMountRoute: function (routeId) { 64 return ROUTE_IDS.indexOf(routeId) !== -1; 65 } 66 }; 67})(typeof window !== 'undefined' ? window : this);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.