Components: Difference between revisions

Add component survey page
 
Rewrite components hub in technical style
 
Line 1: Line 1:
= Components =
= Components =


'''Components''' surveys the major building blocks of PlexyDesk and the role each one plays in the overall desktop.
'''Components''' maps the major building blocks of PlexyDesk and the role each one plays in the runtime.


== System layers ==
== System layers ==
Line 19: Line 19:
|}
|}


== Source tree components ==
== Source tree map ==
=== Compositor and shell runtime ===
{| class="wikitable"
The runtime lives primarily under <code>src/</code>. This is where window presentation, rendering, shell behaviour, backend integration, and input flow are managed.
|-
 
! Path
=== Client libraries ===
! Component area
The supporting libraries under <code>lib/</code> provide application-facing helpers so client programs can participate in the PlexyDesk environment without duplicating shell responsibilities.
! Responsibility
 
|-
=== Public interface headers ===
| <code>src/</code>
The public headers under <code>include/plexy/</code> define the interface surface exposed to clients. The most visible reference is [[PlexyUI API]].
| Compositor and shell runtime
 
| Output composition, window presentation, backend integration, input routing, and shell-owned desktop behaviour
=== Examples and applications ===
|-
The <code>examples/</code> and <code>apps/</code> directories show how the runtime and toolkit are exercised in practice, from small UI samples to larger application experiments.
| <code>lib/</code>
| Client support libraries
| Application-facing runtime helpers, event loop code, and support functionality used by PlexyDesk clients
|-
| <code>include/plexy/</code>
| Public headers
| Exposed interface definitions for client code, including the current PlexyUI surface
|-
| <code>examples/</code>
| Reference examples
| Small programs that demonstrate application patterns and toolkit usage
|-
| <code>apps/</code>
| Application experiments
| Larger programs used to exercise the desktop, shell integration, and UI stack
|-
| <code>tasks/</code>
| Engineering notes
| Design notes, implementation summaries, and optimisation work
|}


== Further reading ==
== Related pages ==
* [[Architecture]]
* [[Architecture]]
* [[Developer Guide]]
* [[Developer Guide]]
* [[Examples]]
* [[PlexyUI API]]
* [[Development]]
* [[Development]]

Latest revision as of 04:53, 22 March 2026

Components

[edit | edit source]

Components maps the major building blocks of PlexyDesk and the role each one plays in the runtime.

System layers

[edit | edit source]
Layer Role in the desktop
Applications Create windows, controls, text, panels, lists, and other interface content
PlexyDesk client libraries Help applications describe UI, render it locally, and submit finished surfaces
PlexyDesk compositor and shell Combine application surfaces with shell elements such as the dock, menubar, wallpaper, chrome, and transitions

Source tree map

[edit | edit source]
Path Component area Responsibility
src/ Compositor and shell runtime Output composition, window presentation, backend integration, input routing, and shell-owned desktop behaviour
lib/ Client support libraries Application-facing runtime helpers, event loop code, and support functionality used by PlexyDesk clients
include/plexy/ Public headers Exposed interface definitions for client code, including the current PlexyUI surface
examples/ Reference examples Small programs that demonstrate application patterns and toolkit usage
apps/ Application experiments Larger programs used to exercise the desktop, shell integration, and UI stack
tasks/ Engineering notes Design notes, implementation summaries, and optimisation work
[edit | edit source]