# dvxshell -- DVX Shell Library

The DVX shell drives the GUI after the loader hands off.  It initializes
the GUI subsystem, loads application modules on demand, runs the
cooperative main loop, and provides crash recovery so one app's fault
does not bring down the whole system.

## Documentation

Full reference is in `dvxshell.dhs` (this directory), compiled into the
DVX System Reference.  Open via the Help Viewer app, or read
`docs/dvx_system_reference.html` after `make`.

Topics covered: `AppDescriptorT` / `DxeAppContextT` contracts, how apps
register (`appMain`, `appDescriptor`, `appShutdown`), callback-only vs
main-loop apps, shell event callbacks, and force-kill behavior.

## Source Files

- `shellApp.h`   -- application contract (AppDescriptorT, DxeAppContextT)
- `shellInf.h`   -- shell-internal interfaces exposed to apps
- `shellApp.c`   -- app registry, load, unload, lifecycle
- `shellInfo.c`  -- system info service
- `shellMain.c`  -- shell entry point, main loop, crash handler

## Build

`make -C src/libs/kpunch/dvxshell` (invoked by the top-level `make`).
