[{"data":1,"prerenderedAt":460},["ShallowReactive",2],{"navigation_docs":3,"-themes-pages-and-boot-flow":217,"-themes-pages-and-boot-flow-surround":455},[4,25,41,84,126,165,201],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":24},"Overview","i-lucide-house","\u002Fgetting-started","1.getting-started",[10,14,19],{"title":11,"path":12,"stem":13,"icon":6},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F2.introduction",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F3.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Project structure","\u002Fgetting-started\u002Fproject-structure","1.getting-started\u002F4.project-structure","i-lucide-folder-tree",false,{"title":26,"icon":27,"path":28,"stem":29,"children":30,"page":24},"Architecture","i-lucide-cpu","\u002Farchitecture","3.architecture",[31,36],{"title":32,"path":33,"stem":34,"icon":35},"Core, themes, and apps","\u002Farchitecture\u002Foverview","3.architecture\u002F1.overview","i-lucide-layers",{"title":37,"path":38,"stem":39,"icon":40},"Kits and extension modules","\u002Farchitecture\u002Fkits","3.architecture\u002F3.kits","i-lucide-puzzle",{"title":42,"icon":43,"path":44,"stem":45,"children":46,"page":24},"Apps","i-lucide-app-window","\u002Fapps","4.apps",[47,51,55,60,64,69,74,79],{"title":5,"path":48,"stem":49,"icon":50},"\u002Fapps\u002Foverview","4.apps\u002F1.overview","i-lucide-info",{"title":52,"path":53,"stem":54,"icon":23},"Package layout","\u002Fapps\u002Fpackage-layout","4.apps\u002F2.package-layout",{"title":56,"path":57,"stem":58,"icon":59},"Create from scratch","\u002Fapps\u002Fcreate-from-scratch","4.apps\u002F3.create-from-scratch","i-lucide-list-checks",{"title":61,"path":62,"stem":63,"icon":40},"Module and runtime","\u002Fapps\u002Fmodule-and-runtime","4.apps\u002F4.module-and-runtime",{"title":65,"path":66,"stem":67,"icon":68},"Plugins","\u002Fapps\u002Fplugins","4.apps\u002F5.plugins","i-lucide-plug",{"title":70,"path":71,"stem":72,"icon":73},"Windows and commands","\u002Fapps\u002Fwindows-and-commands","4.apps\u002F6.windows-and-commands","i-lucide-layout-panel-top",{"title":75,"path":76,"stem":77,"icon":78},"Playground","\u002Fapps\u002Fplayground","4.apps\u002F7.playground","i-lucide-flask-conical",{"title":80,"path":81,"stem":82,"icon":83},"Build and publish","\u002Fapps\u002Fbuild-and-publish","4.apps\u002F8.build-and-publish","i-lucide-package",{"title":85,"icon":86,"path":87,"stem":88,"children":89,"page":24},"Themes","i-lucide-palette","\u002Fthemes","5.themes",[90,93,98,102,106,111,116,121],{"title":5,"path":91,"stem":92,"icon":50},"\u002Fthemes\u002Foverview","5.themes\u002F1.overview",{"title":94,"path":95,"stem":96,"icon":97},"Theme anatomy","\u002Fthemes\u002Ftheme-anatomy","5.themes\u002F2.theme-anatomy","i-lucide-component",{"title":99,"path":100,"stem":101},"Create From Scratch","\u002Fthemes\u002Fcreate-from-scratch","5.themes\u002F3.create-from-scratch",{"title":103,"path":104,"stem":105,"icon":68},"Theme plugins","\u002Fthemes\u002Fplugins","5.themes\u002F4.plugins",{"title":107,"path":108,"stem":109,"icon":110},"Styling and Tailwind","\u002Fthemes\u002Fstyling-and-tailwind","5.themes\u002F5.styling-and-tailwind","i-lucide-brush",{"title":112,"path":113,"stem":114,"icon":115},"Pages and boot flow","\u002Fthemes\u002Fpages-and-boot-flow","5.themes\u002F6.pages-and-boot-flow","i-lucide-power",{"title":117,"path":118,"stem":119,"icon":120},"Theme and optional modules","\u002Fthemes\u002Ftheme-and-optional-modules","5.themes\u002F7.theme-and-optional-modules","i-lucide-link",{"title":122,"path":123,"stem":124,"icon":125},"Window chrome and nav buttons","\u002Fthemes\u002Fwindow-chrome-and-nav-buttons","5.themes\u002F8.window-chrome-and-nav-buttons","i-lucide-square-mouse-pointer",{"title":127,"icon":128,"path":129,"stem":130,"children":131,"page":24},"Client & CLI","i-lucide-terminal","\u002Fsetup","6.setup",[132,136,141,146,151,156,161],{"title":133,"path":134,"stem":135,"icon":128},"desktop CLI","\u002Fsetup\u002Fdesktop-cli","6.setup\u002F1.desktop-cli",{"title":137,"path":138,"stem":139,"icon":140},"Package linking","\u002Fsetup\u002Fpackage-linking","6.setup\u002F2.package-linking","i-lucide-link-2",{"title":142,"path":143,"stem":144,"icon":145},"Monorepo and workspace","\u002Fsetup\u002Fmonorepo-workspace","6.setup\u002F3.monorepo-workspace","i-lucide-blocks",{"title":147,"path":148,"stem":149,"icon":150},"desktop.config.ts","\u002Fsetup\u002Fdesktop-config","6.setup\u002F4.desktop-config","i-lucide-file-code",{"title":152,"path":153,"stem":154,"icon":155},"Migrate themes, apps, and modules (3.3.2)","\u002Fsetup\u002Fmigrate-packages-3.3.2","6.setup\u002F5.migrate-packages-3.3.2","i-lucide-arrow-right-left",{"title":157,"path":158,"stem":159,"icon":160},"Migrate themes, apps, and modules (3.4)","\u002Fsetup\u002Fmigrate-packages-3.4","6.setup\u002F6.migrate-packages-3.4","i-lucide-arrow-up-right",{"title":162,"path":163,"stem":164},"Troubleshooting","\u002Fsetup\u002Ftroubleshooting","6.setup\u002F7.troubleshooting",{"title":166,"icon":167,"path":168,"stem":169,"children":170,"page":24},"Internals","i-lucide-book-open","\u002Finternals","7.internals",[171,176,181,186,191,196],{"title":172,"path":173,"stem":174,"icon":175},"Boot sequence","\u002Finternals\u002Fboot-sequence","7.internals\u002F1.boot-sequence","i-lucide-list-ordered",{"title":177,"path":178,"stem":179,"icon":180},"Stores and composables","\u002Finternals\u002Fstores-and-composables","7.internals\u002F2.stores-and-composables","i-lucide-database",{"title":182,"path":183,"stem":184,"icon":185},"Core components","\u002Finternals\u002Fcore-components","7.internals\u002F3.core-components","i-lucide-layout-grid",{"title":187,"path":188,"stem":189,"icon":190},"Dialog provider","\u002Finternals\u002Fdialog-provider","7.internals\u002F4.dialog-provider","i-lucide-message-square",{"title":192,"path":193,"stem":194,"icon":195},"Kernel contract","\u002Finternals\u002Fkernel-contract","7.internals\u002F5.kernel-contract","i-lucide-shield-check",{"title":197,"path":198,"stem":199,"icon":200},"Shell identity","\u002Finternals\u002Fshell-identity","7.internals\u002F6.shell-identity","i-lucide-user",{"title":202,"icon":203,"path":204,"stem":205,"children":206,"page":24},"Reference","i-lucide-book-marked","\u002Freference","8.reference",[207,212],{"title":208,"path":209,"stem":210,"icon":211},"Glossary","\u002Freference\u002Fglossary","8.reference\u002F1.glossary","i-lucide-book-a",{"title":213,"path":214,"stem":215,"icon":216},"Ecosystem","\u002Freference\u002Fuseful-links","8.reference\u002F2.useful-links","i-lucide-external-link",{"id":218,"title":112,"body":219,"description":448,"extension":449,"links":450,"meta":451,"navigation":452,"path":113,"seo":453,"stem":114,"__hash__":454},"docs\u002F5.themes\u002F6.pages-and-boot-flow.md",{"type":220,"value":221,"toc":438},"minimark",[222,227,239,259,281,290,294,303,329,352,355,376,383,411,424,428],[223,224,226],"h2",{"id":225},"dedicated-pages","Dedicated pages",[228,229,230,231,238],"p",{},"Many themes expose Nuxt pages under ",[232,233,234],"strong",{},[235,236,237],"code",{},"runtime\u002Fpages\u002F",", for example:",[240,241,242,251],"ul",{},[243,244,245,250],"li",{},[232,246,247],{},[235,248,249],{},"start",": initial \u002F “power on” screen;",[243,252,253,258],{},[232,254,255],{},[235,256,257],{},"boot",": sequence before the full desktop.",[228,260,261,272,273,276,277,280],{},[232,262,263],{},[264,265,269],"a",{"href":266,"rel":267},"https:\u002F\u002Fgithub.com\u002Fowdproject\u002Ftheme-win95",[268],"nofollow",[235,270,271],{},"theme-win95"," is the reference for boot\u002Fstart flow. The Nuxt ",[232,274,275],{},"router"," exposes them as normal routes; the theme controls navigation (",[235,278,279],{},"navigateTo",") and shortcuts.",[228,282,283,284,289],{},"Nova and Paper typically skip boot pages and land directly on ",[232,285,286],{},[235,287,288],{},"Desktop",".",[223,291,293],{"id":292},"theme-composables","Theme composables",[228,295,296,297,302],{},"Group logic under ",[232,298,299],{},[235,300,301],{},"runtime\u002Fcomposables\u002F",", e.g.:",[240,304,305,313,321],{},[243,306,307,312],{},[232,308,309],{},[235,310,311],{},"useSystemLifecycle",": transitions between off \u002F boot \u002F desktop;",[243,314,315,320],{},[232,316,317],{},[235,318,319],{},"useSystemBar",": taskbar state;",[243,322,323,328],{},[232,324,325],{},[235,326,327],{},"useFsController",": optional filesystem integration.",[228,330,331,332,335,336,339,340,343,344,347,348,351],{},"These names are ",[232,333,334],{},"examples",": for future shared patterns prefer ",[232,337,338],{},"neutral"," names (",[235,341,342],{},"usePrimaryBar",") when extracting a ",[232,345,346],{},"theme kit"," (see ",[264,349,350],{"href":33},"Architecture overview",").",[223,353,354],{"id":354},"i18n",[228,356,357,358,363,364,367,368,371,372,375],{},"Register theme strings with ",[232,359,360],{},[235,361,362],{},"i18n:registerModule"," in the module ",[235,365,366],{},"setup"," (",[235,369,370],{},"langDir"," resolved via ",[235,373,374],{},"createResolver","). Keep keys stable for boot and shell messages.",[223,377,379,380],{"id":378},"integration-with-desktop-appvue","Integration with desktop ",[235,381,382],{},"app.vue",[228,384,385,386,391,392,396,397,400,401,406,407,289],{},"The ",[232,387,388],{},[235,389,390],{},"desktop"," project has a minimal ",[232,393,394],{},[235,395,382],{}," that mounts the theme root (e.g. ",[235,398,399],{},"\u003CDesktop \u002F>","). The theme must expose that component via global registration from ",[232,402,403],{},[235,404,405],{},"addComponentsDir",". See ",[264,408,410],{"href":409},"\u002Fthemes\u002Ftheme-anatomy#desktopvue","Theme anatomy — Desktop.vue",[228,412,413,414,417,418,423],{},"Boot pages are ",[232,415,416],{},"routes",", not a replacement for ",[232,419,420],{},[235,421,422],{},"Desktop.vue"," — after boot completes, navigation typically reaches the main shell.",[223,425,427],{"id":426},"related","Related",[240,429,430,434],{},[243,431,432],{},[264,433,56],{"href":100},[243,435,436],{},[264,437,103],{"href":104},{"title":439,"searchDepth":440,"depth":440,"links":441},"",2,[442,443,444,445,447],{"id":225,"depth":440,"text":226},{"id":292,"depth":440,"text":293},{"id":354,"depth":440,"text":354},{"id":378,"depth":440,"text":446},"Integration with desktop app.vue",{"id":426,"depth":440,"text":427},"start\u002Fboot routes, desktop lifecycle, and system composables.","md",null,{},{"icon":115},{"title":112,"description":448},"JPZJbsBVe4jXftzLWeUBpiYBqpJQbzdtKy3geSfa6cY",[456,458],{"title":107,"path":108,"stem":109,"description":457,"icon":110,"children":-1},"SCSS, Tailwind, PrimeVue, and consistency across theme and apps.",{"title":117,"path":118,"stem":119,"description":459,"icon":120,"children":-1},"Conditionally loading filesystem, explorer kits, and bundled apps from a theme.",1782171656803]