https://github.com/alternative-intelligence-cp/ngui
A 100% native GUI library for Nitpick. Built for maximum safety without FFI compromises, scaling from raylib-like simplicity to full OpenGL/Vulkan support.
https://github.com/alternative-intelligence-cp/ngui
gui memory-safety native-gui nitpick opengl raylib sdl2 vulkan
Last synced: about 12 hours ago
JSON representation
A 100% native GUI library for Nitpick. Built for maximum safety without FFI compromises, scaling from raylib-like simplicity to full OpenGL/Vulkan support.
- Host: GitHub
- URL: https://github.com/alternative-intelligence-cp/ngui
- Owner: alternative-intelligence-cp
- License: apache-2.0
- Created: 2026-06-29T11:22:33.000Z (7 days ago)
- Default Branch: main
- Last Pushed: 2026-06-30T17:00:34.000Z (6 days ago)
- Last Synced: 2026-06-30T19:03:47.696Z (6 days ago)
- Topics: gui, memory-safety, native-gui, nitpick, opengl, raylib, sdl2, vulkan
- Language: Shell
- Size: 41 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NGUI — Nitpick Native GUI Library
**NGUI** is a 100% native GUI library for the Nitpick programming language.
The primary goal of NGUI is to provide developers with a powerful, fast, and feature-rich graphics and user interface framework without ever having to compromise on the safety and formal verification guarantees of Nitpick. By being 100% native, we completely bypass the FFI (Foreign Function Interface) gateway, ensuring that memory safety and error propagation hold true from the application logic all the way down to the pixel rendering.
**NO C/C++ code is allowed in this repository.**
## Roadmap
- **Phase 1: Raylib-style Simplicity**
Initial focus is on creating a straightforward, easy-to-use API similar to `raylib`, making it simple to open a window, draw shapes, handle input, and render text.
- **Phase 2: SDL2-level Features**
Expanding into more comprehensive windowing, event handling, audio, and hardware-accelerated 2D features.
- **Phase 3: Advanced Graphics APIs**
Full support for modern rendering backends such as OpenGL and Vulkan for maximum performance and 3D capabilities.
## Current Features
- **Rich Text Support:** Advanced text formatting with `RichTextWidget` and `TextSpan` providing independent styling (bold, italic, colors).
- **Gestures & Interaction:** Complete gesture recognition system (Tap, Pan, Swipe) built on a modular `GestureRecognizer` trait.
- **Drag & Drop:** Robust drag-and-drop architecture using `DragDropHook` for handling both internal UI drags and external OS file drops.
- **Interactive UI:** Input handling, state management, and declarative components (Buttons, Input Fields).
- **Layout Engine:** Flexbox-like layout engine supporting advanced alignment and wrapping constraints.
- **Hardware Acceleration:** Native GPU backend interface (in progress).
- **Resource Management:** Automatic GC-free lifecycle hooks for precise memory cleanup via `LifecycleHook`.
## Setup & Building
*Instructions coming soon.*
## License
See the `LICENSE` file for more details.