Luce
Luce BaseSourceLuciaOS

Projects

What's been written in Luce and Luce Base so far, all on GitHub. Everything here builds with the released compilers, and every binary links the standard library statically.

Written in Luce#

  • luce-http-server is a native HTTP server: REST handlers, static pages, uploads and downloads, WebSockets, and a few application workers. It sits on the luce-server library below.
  • luced is a small native code editor for Luce and Base, built with luce-ui. A file explorer, a source pane with highlighting and folding, tabs and resizable splits, and a pane for compiler output.
  • luce-demos is a handful of small apps using luce-ui and luce-3d: a counter with a button and stack layout, and some realtime 3D.

Written in Luce Base#

  • luce-server: a multithreaded server library. HTTP routing, REST responses, static content, bounded file transfers, WebSocket sessions, TCP streams. It runs its own network and application workers.
  • luce-ui: a UI framework with declarative widgets, drawn through the standard gpu and window modules. Metal on macOS, Vulkan on Windows.
  • luce-3d: scenes, geometry, materials, cameras and rendering through gpu. The names follow Three.js. Works on its own or inside a luce-ui widget.
  • luce-image: image codecs, threaded TIFF and OpenEXR decoding, and Cryptomatte.
  • luce-db: a transactional database.
  • luce-prism: Prism v4 typed document storage, serialization and asset packages.
  • luce-compress: compression primitives.
  • luce-pkg-server: a native package and Git registry, plus the plan for how dependencies will work.

Most of the Base libraries come with a Luce API, so you can use them from either side.

The compilers themselves#

  • luce: the Luce compiler, written in Base.
  • luce-base: the Base compiler, written in Base. It builds itself.
  • luce-seed: the C++ seed that started the whole thing, still kept around to prove the bootstrap.