MCPcopy Index your code
hub / github.com/17cupsofcoffee/nova

github.com/17cupsofcoffee/nova @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
218 symbols 331 edges 23 files 10 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Nova

Nova is a 2D game framework written in Rust.

This is a sort of spiritual successor to Tetra, a game engine I worked on between 2018 and 2022. It aims to be smaller and simpler, with less global state.

⚠️ Use at your own risk! This framework is still very experimental, and the API is constantly in flux. No support is offered, but you are welcome to use to the code as reference or fork it for your own needs.

Features

  • ldtk (enabled by default): enables a module to load ldtk files.
  • static_bundled_build: enables automatic SDL3 library building and linking. Building SDL3 can take a bit during that first build (usually 1 minute or more).

Notes

  • This framework is very heavily inspired by FNA, and NoelFB's lightweight game engines (Blah and Foster).
  • It depends on SDL3 for interacting with the underlying platform.

Extension points exported contracts — how you extend this code

EventHandler (Interface)
The generic event handler for the game. You should implement this yourself ## Call order: 1. `event`: 0 to n times base [1 …
src/app.rs
Target (Interface)
(no doc) [3 implementers]
src/graphics.rs

Core symbols most depended-on inside this repo

insert
called by 8
src/graphics/packer.rs
width
called by 6
src/graphics/canvas.rs
height
called by 6
src/graphics/canvas.rs
clear
called by 4
src/input.rs
bind_vertex_buffer
called by 4
src/graphics.rs
bind_index_buffer
called by 4
src/graphics.rs
bind_texture
called by 4
src/graphics.rs
bind_canvas
called by 4
src/graphics.rs

Shape

Method 154
Class 47
Function 9
Enum 6
Interface 2

Languages

Rust100%

Modules by API surface

src/input.rs32 symbols
src/ldtk.rs23 symbols
src/graphics/batch.rs21 symbols
src/graphics.rs16 symbols
src/graphics/text.rs14 symbols
src/graphics/texture.rs13 symbols
src/window.rs11 symbols
src/time.rs11 symbols
src/input/gamepad.rs11 symbols
src/graphics/canvas.rs9 symbols
src/graphics/scaling.rs8 symbols
src/app.rs8 symbols

For agents

$ claude mcp add nova \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact