How the Projects Connect

dependency graph
MeshWorldApp           ← interactive viewer
  ├── MeshWorld         ← world generation library
  │     └── MeshCraft   ← MC3/MCB scene format
  ├── CNA               ← SDL3 app framework
  │     └── SDL3
  ├── EasyGL            ← OpenGL abstraction
  │     └── MetaGL      ← OpenGL ES abstraction
  └── SharpRuntime      ← C++23 .NET reimpl

Simple3D               ← 3D rendering + Lua API
  └── Nova3D            ← 3D engine

MobileEggbert          ← mobile game platform

MeshWorld sits at the centre of the world generation stack. The MeshCraft library defines the MC3/MCB scene format that MeshWorld writes. The CNA application framework provides the SDL3 window and event loop that MeshWorldApp runs inside. EasyGL and SharpRuntime fill in the rendering and utility layers.

Each project can be used independently. MeshWorld's core library has no GUI dependencies — only MeshWorldApp (the viewer) pulls in CNA, EasyGL, and SharpRuntime.

All repositories are under the openeggbert GitHub organisation and carry the MIT license.

All Projects

MeshWorld

Procedural 3D world generator. 20 C++ chunk generators, Lua scripting, MC3 validation, real-time streaming viewer, CLI tools.

C++23 · Lua 5.4 · SQLite

GitHub →

MeshCraft

MC3/MCB scene format library, validator, viewer, and compiler. Defines the 3D scene interchange format used by MeshWorld output.

C++23

GitHub →

SharpRuntime

C++23 reimplementation of .NET System.* APIs. Provides string, collections, math, and IO utilities with a familiar .NET-style API in native C++.

C++23

GitHub →

CNA

Cross-platform Native Application framework. Window management, event loop, input, and audio on top of SDL3. Used by MeshWorldApp for the OS layer.

C++23 · SDL3

GitHub →

EasyGL

OpenGL abstraction layer. Wraps shader compilation, buffer management, texture upload, and draw calls into a clean C++23 API.

C++23 · OpenGL

GitHub →

MetaGL

OpenGL ES abstraction. Sits below EasyGL in the rendering stack, providing a portable ES-compatible subset of OpenGL used for mobile and web targets.

C++23 · OpenGL ES

GitHub →

Simple3D

Simple 3D rendering library with a Lua scripting API. Targets beginner-friendly 3D development. Has its own Lua scene description format.

C++23 · Lua

GitHub →

Nova3D

Full 3D engine built on top of the lower-level rendering stack. Provides scene graph, entity system, and asset pipeline for game development.

C++23

GitHub →

MobileEggbert

Mobile game platform targeting Android and desktop. Uses the CNA/SDL3 stack for cross-platform deployment with a focus on classic 2D gameplay.

C++23 · SDL3 · Android

GitHub →

Shared Technologies

C++23

All projects target C++23. Requires GCC 13+ or Clang 17+. Modern features: ranges, modules (where supported), concepts, std::expected.

CMake 3.20+

All repositories use CMake as the build system. FetchContent is used for automatic dependency download (Lua, sol2, etc.) — no manual dependency management.

MIT License

Every project in the OpenEggbert ecosystem is published under the MIT license. No credits required, no CLAs, no billing.

SDL3

SDL3 is the cross-platform window, input, and audio layer used by CNA and all applications that need a GUI or game loop.

Lua 5.4

Lua 5.4 is the embedded scripting language used in MeshWorld (generators), Simple3D (scene API), and other projects that expose scripting surfaces.

GTest

GoogleTest is the test framework used across all C++ projects. CI runs on every push. MeshWorld: 119 tests. Zero warnings policy.

OpenEggbert on GitHub

All repositories are open-source, MIT-licensed, and actively developed under the openeggbert GitHub organisation.

RepositoryDescriptionLanguage
openeggbert/mesh-world Procedural 3D world generator and explorer C++23, Lua
openeggbert/mesh-craft MC3/MCB scene format tools and viewer C++23
openeggbert/sharp-runtime C++23 reimplementation of .NET System.* C++23
openeggbert/cna Cross-platform Native Application framework (SDL3) C++23
openeggbert/easy-gl OpenGL abstraction layer C++23
openeggbert/meta-gl OpenGL ES abstraction C++23
openeggbert/simple-3d Simple 3D rendering library with Lua API C++23, Lua
openeggbert/nova-3d 3D engine (scene graph, entity system, asset pipeline) C++23
openeggbert/mobile-eggbert Mobile game platform (Android + desktop, SDL3) C++23