/work/nexenne-library
2026 → ongoing · Personal · open source · Software architect and developer

Nexenne Library · modular C++23 libraries

A ground-up rewrite of a C++23 library collection, organized around independent modules, standard-library-style APIs, composable CMake targets, tests, and documentation.

Why I rewrote it

Enne 2D began as an experimental engine and gradually accumulated components with very different responsibilities. I archived that project and started Nexenne as a complete rewrite, rebuilt as a set of independent libraries rather than a single framework.

The goal is to build modern C++ foundations with focused interfaces, explicit behavior, and controlled dependencies. The strongest ideas from the previous project are redesigned for this architecture instead of being carried over without critical review.

Modular architecture

Each area is packaged as a separate component and CMake target under the nexenne namespace. Consumers can link only the modules they need, keeping dependencies and integration costs explicit.

The modules currently available cover general utilities, containers, time, and random-number functionality. APIs follow standard-library conventions where practical, making types, iterators, and algorithms familiar without hiding how they behave.

Quality and maintenance

The library includes Doctest coverage, CMake presets, and configurations for AddressSanitizer and UndefinedBehaviorSanitizer. Examples and documentation are developed alongside the APIs because they help define each public contract precisely.

This approach allows internal implementations to evolve while behavior, compatibility, and memory assumptions remain verifiable.

Project status

Nexenne is under active development. The rewrite will take time because each component is redesigned and introduced only when its responsibilities are clear enough for it to remain a standalone library.