[{"data":1,"prerenderedAt":930},["ShallowReactive",2],{"navigation_docs":3,"-internals-kernel-contract":217,"-internals-kernel-contract-surround":925},[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":192,"body":219,"description":918,"extension":919,"links":920,"meta":921,"navigation":922,"path":193,"seo":923,"stem":194,"__hash__":924},"docs\u002F7.internals\u002F5.kernel-contract.md",{"type":220,"value":221,"toc":905},"minimark",[222,244,253,258,328,332,402,443,447,491,495,572,591,594,679,700,704,712,754,767,771,846,850,883,891,895],[223,224,225,226,230,231,237,238,243],"p",{},"This page summarizes the ",[227,228,229],"strong",{},"stable contract"," between ",[227,232,233],{},[234,235,236],"code",{},"@owdproject\u002Fcore"," and themes\u002Fapps. Internal implementation under ",[227,239,240],{},[234,241,242],{},"runtime\u002Finternal\u002F"," is not part of the contract and may change in minor releases.",[223,245,246,247,252],{},"Source of truth in the repo: ",[227,248,249],{},[234,250,251],{},"packages\u002Fcore\u002FDESKTOP_KERNEL.md",".",[254,255,257],"h2",{"id":256},"bootstrap-order","Bootstrap order",[259,260,261,276,309,319],"ol",{},[262,263,264,265,269,270,275],"li",{},"Load ",[227,266,267],{},[234,268,147],{}," (or legacy ",[227,271,272],{},[234,273,274],{},"owd.config.ts",").",[262,277,278,279,291,292,297,298,284,303,308],{},"Validate and split: ",[227,280,281,284,285,284,288],{},[234,282,283],{},"theme"," \u002F ",[234,286,287],{},"apps",[234,289,290],{},"modules"," → ",[227,293,294],{},[234,295,296],{},"installModule","; other keys → ",[227,299,300],{},[234,301,302],{},"runtimeConfig.public.desktop",[227,304,305],{},[234,306,307],{},"appConfig.desktop"," only.",[262,310,311,312,315,316,252],{},"Install ",[227,313,314],{},"Pinia",", then ",[227,317,318],{},"theme → modules → apps",[262,320,321,322,327],{},"Client plugin flushes queued ",[227,323,324],{},[234,325,326],{},"defineDesktopApp"," calls after Pinia is active.",[254,329,331],{"id":330},"configuration-api","Configuration API",[333,334,335,348],"table",{},[336,337,338],"thead",{},[339,340,341,345],"tr",{},[342,343,344],"th",{},"Export",[342,346,347],{},"Use",[349,350,351,364,386],"tbody",{},[339,352,353,361],{},[354,355,356],"td",{},[227,357,358],{},[234,359,360],{},"defineDesktopConfig({ theme, apps, modules, … })",[354,362,363],{},"Root desktop config file",[339,365,366,372],{},[354,367,368],{},[227,369,370],{},[234,371,302],{},[354,373,374,375,378,379,378,382,385],{},"Shell flags (",[234,376,377],{},"workspaces",", ",[234,380,381],{},"systemBar",[234,383,384],{},"explorer",", …)",[339,387,388,395],{},[354,389,390],{},[227,391,392],{},[234,393,394],{},"useDesktopManager().setConfig()",[354,396,397,398,401],{},"Runtime shell overrides (",[227,399,400],{},"defu",": new props win)",[223,403,404,405,378,410,378,415,378,420,378,424,378,429,378,433,378,437,442],{},"Allowed shell keys include: ",[227,406,407],{},[234,408,409],{},"name",[227,411,412],{},[234,413,414],{},"defaultApps",[227,416,417],{},[234,418,419],{},"features",[227,421,422],{},[234,423,381],{},[227,425,426],{},[234,427,428],{},"dockBar",[227,430,431],{},[234,432,377],{},[227,434,435],{},[234,436,384],{},[227,438,439],{},[234,440,441],{},"docs",". Unknown keys: dev warning. Nuxt-like keys: rejected with hint.",[254,444,446],{"id":445},"applications","Applications",[333,448,449,457],{},[336,450,451],{},[339,452,453,455],{},[342,454,344],{},[342,456,347],{},[349,458,459,479],{},[339,460,461,468],{},[354,462,463],{},[227,464,465],{},[234,466,467],{},"defineDesktopApp(config)",[354,469,470,471,474,475,478],{},"App register plugin (",[234,472,473],{},"owd-*-register",", client-only, ",[234,476,477],{},"import.meta.server"," guard)",[339,480,481,488],{},[354,482,483],{},[227,484,485],{},[234,486,487],{},"useApplicationManager()",[354,489,490],{},"Launch, list running apps, resolve windows",[254,492,494],{"id":493},"kernel-vue-components","Kernel Vue components",[333,496,497,507],{},[336,498,499],{},[339,500,501,504],{},[342,502,503],{},"Component",[342,505,506],{},"Role",[349,508,509,521,533,555],{},[339,510,511,518],{},[354,512,513],{},[227,514,515],{},[234,516,517],{},"DesktopCore",[354,519,520],{},"Shell wrapper",[339,522,523,530],{},[354,524,525],{},[227,526,527],{},[234,528,529],{},"DesktopApplicationRender",[354,531,532],{},"Running app windows",[339,534,535,552],{},[354,536,537,284,542,284,547],{},[227,538,539],{},[234,540,541],{},"DesktopWindow",[227,543,544],{},[234,545,546],{},"DesktopWindowNav",[227,548,549],{},[234,550,551],{},"DesktopWindowContent",[354,553,554],{},"Window primitives",[339,556,557,569],{},[354,558,559,284,564],{},[227,560,561],{},[234,562,563],{},"DesktopBackground",[227,565,566],{},[234,567,568],{},"DesktopTime",[354,570,571],{},"Optional utilities",[223,573,574,575,291,580,585,586,252],{},"Themes expose ",[227,576,577],{},[234,578,579],{},"Desktop.vue",[227,581,582],{},[234,583,584],{},"app.vue"," uses ",[227,587,588],{},[234,589,590],{},"\u003CDesktop \u002F>",[254,592,177],{"id":593},"stores-and-composables",[333,595,596,605],{},[336,597,598],{},[339,599,600,603],{},[342,601,602],{},"Symbol",[342,604,506],{},[349,606,607,619,631,643,655,667],{},[339,608,609,616],{},[354,610,611],{},[227,612,613],{},[234,614,615],{},"useDesktopStore",[354,617,618],{},"Shell state, personalization, default apps",[339,620,621,628],{},[354,622,623],{},[227,624,625],{},[234,626,627],{},"useDesktopWorkspaceStore",[354,629,630],{},"Active workspace, overview mode",[339,632,633,640],{},[354,634,635],{},[227,636,637],{},[234,638,639],{},"useDesktopWindowStore",[354,641,642],{},"Global z-index",[339,644,645,652],{},[354,646,647],{},[227,648,649],{},[234,650,651],{},"useWorkspaceManager",[354,653,654],{},"Overview keyboard + HTML5 workspace drops",[339,656,657,664],{},[354,658,659],{},[227,660,661],{},[234,662,663],{},"useApplicationManager",[354,665,666],{},"App registry and launch",[339,668,669,676],{},[354,670,671],{},[227,672,673],{},[234,674,675],{},"useDesktopManager",[354,677,678],{},"Shell config merge",[223,680,681,682,687,688,693,694,699],{},"Explorer: ",[227,683,684],{},[234,685,686],{},"useExplorerStore"," from ",[227,689,690],{},[234,691,692],{},"@owdproject\u002Fmodule-fs"," (alias ",[227,695,696],{},[234,697,698],{},"useDesktopExplorerStore"," deprecated).",[254,701,703],{"id":702},"window-lifecycle-internal-contract","Window lifecycle (internal contract)",[223,705,706,711],{},[227,707,708],{},[234,709,710],{},"WindowController"," guarantees:",[713,714,715,728,746],"ul",{},[262,716,717,284,722,727],{},[227,718,719],{},[234,720,721],{},"focus()",[227,723,724],{},[234,725,726],{},"bringToFront()"," — exclusive focus + monotonic z-index",[262,729,730,284,735,740,741],{},[227,731,732],{},[234,733,734],{},"minimize()",[227,736,737],{},[234,738,739],{},"unminimize()"," — toggles ",[227,742,743],{},[234,744,745],{},"state.active",[262,747,748,753],{},[227,749,750],{},[234,751,752],{},"setWorkspace(id)"," — assigns workspace",[223,755,756,757,378,762,252],{},"Contract tests: ",[227,758,759],{},[234,760,761],{},"windowController.contract.test.ts",[227,763,764],{},[234,765,766],{},"useWorkspaceManager.contract.test.ts",[254,768,770],{"id":769},"extension-packages","Extension packages",[333,772,773,783],{},[336,774,775],{},[339,776,777,780],{},[342,778,779],{},"Package",[342,781,782],{},"Layer",[349,784,785,798,811,823,834],{},[339,786,787,792],{},[354,788,789],{},[227,790,791],{},"core shell composables",[354,793,794,795],{},"Shell identity, edge drop, overview — ",[796,797,197],"a",{"href":198},[339,799,800,808],{},[354,801,802],{},[227,803,804,805],{},"core ",[234,806,807],{},"runtime\u002Fexplorer\u002F",[354,809,810],{},"Explorer store, DnD, menu model",[339,812,813,820],{},[354,814,815],{},[227,816,817],{},[234,818,819],{},"@owdproject\u002Fkit-primevue",[354,821,822],{},"PrimeVue dialogs + PV explorer UI",[339,824,825,831],{},[354,826,827],{},[227,828,829],{},[234,830,692],{},[354,832,833],{},"ZenFS VFS",[339,835,836,843],{},[354,837,838],{},[227,839,840],{},[234,841,842],{},"@owdproject\u002Fmodule-persistence",[354,844,845],{},"Optional persistence",[254,847,849],{"id":848},"versioning","Versioning",[223,851,852,853,856,857,860,861,866,867,872,873,878,879,275],{},"Breaking contract changes require semver coordination with themes (separate repos). Current kernel release line: ",[227,854,855],{},"3.4.x"," (",[234,858,859],{},"Desktop*"," rename, explorer eviction from core, full ",[227,862,863],{},[234,864,865],{},"public.desktop"," merge, extension ",[227,868,869],{},[234,870,871],{},"defineDesktopModule"," + composables — see ",[227,874,875],{},[234,876,877],{},"DESKTOP_KERNEL.md"," in ",[227,880,881],{},[234,882,236],{},[223,884,885,886,890],{},"Package authors: ",[227,887,888],{},[796,889,157],{"href":158},". Stack changes (PrimeVue, shell in core): see migration guide.",[254,892,894],{"id":893},"related","Related",[713,896,897,901],{},[262,898,899],{},[796,900,197],{"href":198},[262,902,903],{},[796,904,187],{"href":188},{"title":906,"searchDepth":907,"depth":907,"links":908},"",2,[909,910,911,912,913,914,915,916,917],{"id":256,"depth":907,"text":257},{"id":330,"depth":907,"text":331},{"id":445,"depth":907,"text":446},{"id":493,"depth":907,"text":494},{"id":593,"depth":907,"text":177},{"id":702,"depth":907,"text":703},{"id":769,"depth":907,"text":770},{"id":848,"depth":907,"text":849},{"id":893,"depth":907,"text":894},"Public API surface of @owdproject\u002Fcore for themes, apps, and extension modules.","md",null,{},{"icon":195},{"title":192,"description":918},"bzAqYzAFCiZAoDIOzFGA-PKPzT5_mFuPqNXfdQdxisk",[926,928],{"title":187,"path":188,"stem":189,"description":927,"icon":190,"children":-1},"Shared alert, confirm, and prompt API in core; PrimeVue implementation in kit-primevue.",{"title":197,"path":198,"stem":199,"description":929,"icon":200,"children":-1},"Shared session user for shell UI and per-user VFS paths (useDesktopShellIdentity).",1782171657665]