Internals

Core components

DesktopCore, DesktopWindow, and application rendering primitives.

Core Vue components (previously referred to as "kernel components") live under packages/core/runtime/components/ and register globally with pathPrefix: false. They are the structural building blocks of OWD.

Terminology update: All core components now follow the Desktop* naming convention. The main entry point is DesktopCore.

Shell

ComponentRole
DesktopCoreKernel shell wrapper: props, workspace init, default slot. Themes wrap this in Desktop.vue.
DesktopBackgroundOptional full-screen background slot helper.
DesktopContentMain desktop content region (apps + theme slots).
DesktopApplicationRenderRenders running application windows for a workspace filter.

Windows

ComponentRole
DesktopWindowDrag, resize, focus, z-order events — neutral chrome hooks.
DesktopWindowNavTitle bar / nav region.
DesktopWindowContentClient area for app UI.

Themes implement their own Window.vue that wraps DesktopWindow and supplies close/minimize/maximize visuals. Themes also register DesktopWindowNavButton for app title-bar actions — see Window chrome and nav buttons.

What is not in core

Explorer headless logic and VFS operations live in @owdproject/module-fs, while visual PrimeVue components live in @owdproject/kit-primevue. Dialog implementation providers are also registered by @owdproject/kit-primevue.

Theme obligations

  1. Provide Desktop.vue registered by the theme module.
  2. Wrap kernel components; do not reimplement focus/z-order/workspace logic.
  3. Use provide/inject for windowController only inside theme window wrappers.

Full contract: Kernel contract.