A lightweight C UI framework for embedded-style operating system interfaces.
TensorUI is being hardened into a durable UI framework for a self-built embedded OS. The current codebase already provides a working frame renderer, window stack, layout containers, text input controls, and a small widget set, with SDL2 used as the current desktop runtime.
The project goal is not to preserve a flashy demo, but to establish clear framework contracts around:
- input and gesture ownership
- focus and text input session behavior
- layout and safe-area behavior
- rendering and invalidation rules
- widget and system-surface contracts
- Frame-based rendering and composition
- Stack-based window manager
- Shared input session and gesture arbitration baseline
- Framework-owned focus and active text-input session baseline
- Layout containers such as
VStackandHStack - Common widgets including buttons, labels, sliders, cards, dialogs, keyboard, canvas, and text fields
- Safe-area helpers for round and rectangular displays
TensorUI/: framework widgets, containers, and window managementhal/: hardware abstraction for screen, input, memory, time, math, and fontsexamples/: current SDL demo app used as a framework integration surfacedocs/public/: GitHub-suitable public framework docsdocs/local/: local audit notes, repair logs, and milestone planningtools/: asset and font utilities
- C compiler with C99 support
- SDL2 development libraries
On macOS with Homebrew:
brew install sdl2make
make check
make runmake check is the current repeatable verification baseline and confirms that the framework plus demo integration surface still compile together.
- Usage guide: docs/public/usage-guide.md
- Architecture notes: docs/public/architecture.md
- Documentation index: docs/README.md
TensorUI has completed its first framework hardening pass through input, focus, layout, rendering, and component contract cleanup. The next priority is strengthening verification and publication quality so the repository stands on its own without local conversation context.
See fonts/SIL Open Font License.txt for font licensing details. Other project licensing should be clarified before external publication.
