GPU-Native Code Editor
Nimculus
An editor whose rendering talks straight to the GPU.
A GPU-native code editor built on NimNUI. Zed showed what an editor that moves at the speed of thought looks like with Rust and GPU rendering — Nimculus explores the same direction with Nim and Metal. Initial development targets Apple Silicon macOS.
A Zed-style GPU-native code editor built with NimNUI and Metal. In development, Apple Silicon first.
- Rendering
- Metal
- Initial target
- Apple Silicon
Key points
- A direct rendering pipeline via CAMetalLayer + Metal
- Retina display support
- Native integration with Cocoa / QuartzCore
Challenge
Editor responsiveness is decided by the UI foundation
Web-technology editors accumulate input latency and rendering jitter, while general-purpose GUI toolkits are not optimized for editor-specific rendering.
- Web-based editors accumulate latency between input and paint
- General-purpose GUI toolkits hit limits optimizing text rendering and scrolling
- Few editor foundations use the GPU directly — and almost none exist in Nim
Nimculus is a GPU-native code editor built on NimNUI. Zed demonstrated a fast editor experience with Rust and direct GPU rendering — Nimculus explores the same direction with Nim and Metal. The goal is not a clone, but a reinterpretation of that architecture through Nim’s language strengths.
It is currently developed as an Asopitech Labo incubation project, starting from the M1 minimal vertical slice and targeting Apple Silicon macOS first. Bug reports and feature requests are welcome on GitHub Issues.
A rendering pipeline wired to the GPU
Referencing Zed's GPU-accelerated editor architecture, Nimculus mounts a CAMetalLayer on a Cocoa window and renders directly with Metal, implemented in Nim. The goal is not a clone but a reinterpretation that fits Nim's strengths — C FFI, macros, and fast compilation.
- A minimal vertical slice implemented: macOS window + CAMetalLayer + Metal rendering
- Retina support and basic input event handling
- Architecture, design decisions, and roadmap published as documents
- UI foundation
- NimNUI
- Host language
- Nim 2.x
Capabilities
Three pillars
GPU rendering, native integration, and design transparency.
GPU rendering
Direct Metal
- Render surface management via CAMetalLayer
- Metal clear / rectangle rendering pipeline
- Retina display scaling
Native integration
macOS first
- Direct FFI to Cocoa / QuartzCore
- macOS window management
- Basic input event capture and handling
Design transparency
Public documents
- ARCHITECTURE / DESIGN_DECISIONS published
- ROADMAP and development guidelines published
- Verifiable via nimble build / test / benchmark
Milestone
M1: the minimal vertical slice
The first milestone implements the rendering and input slice the editor is built upon.
macOS window
Native window creation and management via Cocoa
Metal rendering
Clear / rectangle rendering on a CAMetalLayer
Retina support
Accurate scaling on high-DPI displays
Input event foundation
Basic keyboard and mouse event handling
Tech Stack
Technology stack
Nim combined with Apple's native frameworks.
UI / rendering
GPU-native
Platform
macOS first
Build
Nim toolchain
Status
Development status
A very early-stage project, developed from the M1 minimal vertical slice: macOS window, CAMetalLayer, Metal rendering, Retina support, and basic input events. As an Asopitech Labo incubation project, design decisions are developed in the open.
Public Resources
The latest documents, code, and community links in one place.
Get Involved
Join the development
Nimculus is developed in the open under the MIT License. Star it on GitHub to follow progress.