[{"data":1,"prerenderedAt":501},["ShallowReactive",2],{"navigation_docs":3,"-internals-core-components":217,"-internals-core-components-surround":496},[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":182,"body":219,"description":489,"extension":490,"links":491,"meta":492,"navigation":493,"path":183,"seo":494,"stem":184,"__hash__":495},"docs\u002F7.internals\u002F3.core-components.md",{"type":220,"value":221,"toc":480},"minimark",[222,248,267,272,344,348,396,419,428,441,445,475],[223,224,225,226,233,234,237,238,243,244,247],"p",{},"Core Vue components (previously referred to as \"kernel components\") live under ",[227,228,229],"strong",{},[230,231,232],"code",{},"packages\u002Fcore\u002Fruntime\u002Fcomponents\u002F"," and register ",[227,235,236],{},"globally"," with ",[227,239,240],{},[230,241,242],{},"pathPrefix: false",". They are the ",[227,245,246],{},"structural"," building blocks of OWD.",[249,250,251,254,255,260,261,266],"callout",{"icon":50},[227,252,253],{},"Terminology update:"," All core components now follow the ",[227,256,257],{},[230,258,259],{},"Desktop*"," naming convention. The main entry point is ",[227,262,263],{},[230,264,265],{},"DesktopCore",".",[268,269,271],"h2",{"id":270},"shell","Shell",[273,274,275,288],"table",{},[276,277,278],"thead",{},[279,280,281,285],"tr",{},[282,283,284],"th",{},"Component",[282,286,287],{},"Role",[289,290,291,308,320,332],"tbody",{},[279,292,293,300],{},[294,295,296],"td",{},[227,297,298],{},[230,299,265],{},[294,301,302,303,266],{},"Kernel shell wrapper: props, workspace init, default slot. Themes wrap this in ",[227,304,305],{},[230,306,307],{},"Desktop.vue",[279,309,310,317],{},[294,311,312],{},[227,313,314],{},[230,315,316],{},"DesktopBackground",[294,318,319],{},"Optional full-screen background slot helper.",[279,321,322,329],{},[294,323,324],{},[227,325,326],{},[230,327,328],{},"DesktopContent",[294,330,331],{},"Main desktop content region (apps + theme slots).",[279,333,334,341],{},[294,335,336],{},[227,337,338],{},[230,339,340],{},"DesktopApplicationRender",[294,342,343],{},"Renders running application windows for a workspace filter.",[268,345,347],{"id":346},"windows","Windows",[273,349,350,358],{},[276,351,352],{},[279,353,354,356],{},[282,355,284],{},[282,357,287],{},[289,359,360,372,384],{},[279,361,362,369],{},[294,363,364],{},[227,365,366],{},[230,367,368],{},"DesktopWindow",[294,370,371],{},"Drag, resize, focus, z-order events — neutral chrome hooks.",[279,373,374,381],{},[294,375,376],{},[227,377,378],{},[230,379,380],{},"DesktopWindowNav",[294,382,383],{},"Title bar \u002F nav region.",[279,385,386,393],{},[294,387,388],{},[227,389,390],{},[230,391,392],{},"DesktopWindowContent",[294,394,395],{},"Client area for app UI.",[223,397,398,399,404,405,409,410,415,416,266],{},"Themes implement their own ",[227,400,401],{},[230,402,403],{},"Window.vue"," that wraps ",[227,406,407],{},[230,408,368],{}," and supplies close\u002Fminimize\u002Fmaximize visuals. Themes also register ",[227,411,412],{},[230,413,414],{},"DesktopWindowNavButton"," for app title-bar actions — see ",[417,418,122],"a",{"href":123},[268,420,422,423,427],{"id":421},"what-is-not-in-core","What is ",[424,425,426],"em",{},"not"," in core",[223,429,430,431,434,435,438,439,266],{},"Explorer headless logic and VFS operations live in ",[230,432,433],{},"@owdproject\u002Fmodule-fs",", while visual PrimeVue components live in ",[230,436,437],{},"@owdproject\u002Fkit-primevue",". Dialog implementation providers are also registered by ",[230,440,437],{},[268,442,444],{"id":443},"theme-obligations","Theme obligations",[446,447,448,457,460],"ol",{},[449,450,451,452,456],"li",{},"Provide ",[227,453,454],{},[230,455,307],{}," registered by the theme module.",[449,458,459],{},"Wrap kernel components; do not reimplement focus\u002Fz-order\u002Fworkspace logic.",[449,461,462,463,468,469,474],{},"Use ",[227,464,465],{},[230,466,467],{},"provide\u002Finject"," for ",[227,470,471],{},[230,472,473],{},"windowController"," only inside theme window wrappers.",[223,476,477,478,266],{},"Full contract: ",[417,479,192],{"href":193},{"title":481,"searchDepth":482,"depth":482,"links":483},"",2,[484,485,486,488],{"id":270,"depth":482,"text":271},{"id":346,"depth":482,"text":347},{"id":421,"depth":482,"text":487},"What is not in core",{"id":443,"depth":482,"text":444},"DesktopCore, DesktopWindow, and application rendering primitives.","md",null,{},{"icon":185},{"title":182,"description":489},"Jv_3ka-pbaZ-Gtlq2oDNzvvuvMdXA7N5lQYvQJPRhKQ",[497,499],{"title":177,"path":178,"stem":179,"description":498,"icon":180,"children":-1},"Where state lives and which APIs themes and apps should use.",{"title":187,"path":188,"stem":189,"description":500,"icon":190,"children":-1},"Shared alert, confirm, and prompt API in core; PrimeVue implementation in kit-primevue.",1782171657217]