Generated by python3 tools/api_plan.py build. Edit api/progress.json and api/milestones.json, not this page.
- 1884 declaration/support entries are catalogued across all six scoped headers.
- 931 C function declarations, representing 923 unique names.
- Jonlib (
raylib.hreference): 600 functions, 117 partial, 0 complete. - Jonmath (
raymath.hreference): 146 functions, 142 partial, 0 complete. - Catalog coverage is not implementation completeness. Operators, constants, types and configuration controls have separate rows.
- Conditional variants and duplicate declarations are retained. Related IDs can share work, but do not automatically inherit completion.
| Header | Entries | Checklist |
|---|---|---|
raylib.h |
1037 | raylib.h |
raymath.h |
254 | raymath.h |
rlgl.h |
403 | rlgl.h |
rcamera.h |
35 | rcamera.h |
rgestures.h |
39 | rgestures.h |
config.h |
116 | config.h |
Dependencies describe implementation prerequisites, not a requirement to finish every platform variant before starting a useful subset.
| Step | Phase | Work package | Entries | Partial | Complete | Prerequisites |
|---|---|---|---|---|---|---|
| 1 | 0 | types — Types, constants and language mappings |
549 | 18 | 0 | — |
| 2 | 1 | numerics — Numeric fidelity and scalar contracts |
14 | 6 | 0 | types |
| 3 | 1 | jonmath — Jonmath vectors, matrices and quaternions |
221 | 136 | 0 | numerics |
| 4 | 1 | memory — Buffers, memory and callback contracts |
12 | 0 | 0 | types |
| 5 | 1 | files — Files, paths, compression and data utilities |
49 | 8 | 0 | memory |
| 6 | 1 | random — Random-number and sequence contracts |
4 | 4 | 0 | numerics, memory |
| 7 | 1 | pixels — Colors and pixel formats |
46 | 19 | 0 | numerics, memory |
| 8 | 1 | images — Image creation, primitives and transformations |
54 | 52 | 0 | pixels, memory |
| 9 | 1 | resampling — Precision-correct crop, resize and composition |
7 | 7 | 0 | images, numerics |
| 10 | 1 | image-codecs — Image codecs and export |
8 | 8 | 0 | files, pixels, images |
| 11 | 1 | collision — 2D/3D collision and ray queries |
21 | 14 | 0 | jonmath |
| 12 | 2 | window — Window, monitor, clipboard and cursor runtime |
57 | 0 | 0 | types, memory |
| 13 | 2 | input — Keyboard, mouse, gamepad, touch and gestures |
57 | 0 | 0 | window, numerics |
| 14 | 2 | frame — Timing, frame control and automation |
17 | 0 | 0 | window, input |
| 15 | 6 | rlgl-core — rlgl state, matrices and immediate drawing |
187 | 0 | 0 | window, jonmath, memory |
| 16 | 2 | shapes — 2D drawing and splines |
62 | 4 | 0 | frame, rlgl-core, jonmath, pixels |
| 17 | 2 | textures — Textures, render targets and sampling |
27 | 0 | 0 | rlgl-core, pixels, image-codecs |
| 18 | 3 | text-utils — Byte strings and Unicode/codepoint utilities |
35 | 0 | 0 | memory, files |
| 19 | 3 | fonts — Fonts, glyphs and text drawing |
29 | 1 | 0 | text-utils, textures, image-codecs |
| 20 | 4 | audio-codecs — Wave and music formats |
11 | 0 | 0 | files, memory, numerics |
| 21 | 4 | audio-device — Audio devices and sound playback |
20 | 0 | 0 | audio-codecs, memory |
| 22 | 4 | audio-stream — Music streams and audio callbacks |
35 | 0 | 0 | audio-device |
| 23 | 6 | shaders — Shaders, uniforms and programmable effects |
12 | 0 | 0 | textures, rlgl-core |
| 24 | 5 | models — Meshes, model loading and 3D drawing |
54 | 0 | 0 | jonmath, textures, files, shaders |
| 25 | 5 | materials — Materials and texture maps |
6 | 0 | 0 | models, shaders |
| 26 | 5 | animation — Model animation and skinning |
5 | 0 | 0 | models, materials |
| 27 | 5 | camera — Camera controls and projection |
22 | 0 | 0 | jonmath, input, frame |
| 28 | 5 | vr — VR stereo configuration and rendering |
4 | 0 | 0 | camera, shaders |
| 29 | 6 | rlgl-advanced — rlgl buffers, compute and low-level interop |
52 | 0 | 0 | rlgl-core, shaders, textures |
| 30 | 7 | configuration — Build switches, limits and source-package compatibility |
207 | 0 | 0 | types |
| 31 | 7 | platforms — Complete platform/backend validation |
0 | 0 | 0 | window, input, frame, audio-stream, rlgl-advanced |
This is a priority queue with visible prerequisites, not a claim that every item is unblocked.
raylib:function:LoadImageFromMemory(partial,image-codecs): Close documented gaps and unverified gates for LoadImageFromMemory.raylib:function:ExportImage(partial,image-codecs): Close documented gaps and unverified gates for ExportImage.raylib:function:ImageFormat(partial,pixels): Close documented gaps and unverified gates for ImageFormat.raylib:function:GetSplinePointBezierCubic(blocked,shapes): Resolve: Native Apple powf(t,3) differs from a double-cube substitute: 6670/1048576 investigated inputs, with a retained actual GetSplinePointBezierCubic coordinate mismatch.raymath:function:QuaternionSlerp(blocked,jonmath): Resolve: Base and investigated inverse-trig models differ from the actual float libm; no verified acos profile is available yet.raymath:function:QuaternionToAxisAngle(blocked,jonmath): Resolve: Native acosf endpoint/tail values differ from Base and investigated numerical models.raymath:function:QuaternionToEuler(blocked,jonmath): Resolve: Native asinf endpoint/tail values differ from Base and investigated numerical models.raymath:function:MatrixPerspective(blocked,jonmath): Resolve: A one-ULP native binary64 tangent difference changes the final F32 m5 by two steps; the permitted published Sun/FreeBSD kernel does not match the exercised macOS implementation.raymath:function:Clamp(partial,numerics): Close documented gaps and unverified gates for Clamp.raymath:function:Lerp(partial,numerics): Close documented gaps and unverified gates for Lerp.raymath:function:Normalize(partial,numerics): Close documented gaps and unverified gates for Normalize.raymath:function:Remap(partial,numerics): Close documented gaps and unverified gates for Remap.raymath:function:Wrap(partial,numerics): Close documented gaps and unverified gates for Wrap.raymath:function:FloatEquals(partial,numerics): Close documented gaps and unverified gates for FloatEquals.raymath:function:Vector2Zero(partial,jonmath): Close documented gaps and unverified gates for Vector2Zero.raymath:function:Vector2One(partial,jonmath): Close documented gaps and unverified gates for Vector2One.raymath:function:Vector2Add(partial,jonmath): Close documented gaps and unverified gates for Vector2Add.raymath:function:Vector2AddValue(partial,jonmath): Close documented gaps and unverified gates for Vector2AddValue.raymath:function:Vector2Subtract(partial,jonmath): Close documented gaps and unverified gates for Vector2Subtract.raymath:function:Vector2SubtractValue(partial,jonmath): Close documented gaps and unverified gates for Vector2SubtractValue.
Mark complete only with all six gates verified, no remaining gaps, per-gate evidence and every target accounted for. A reference-not-supported target requires source evidence; it is not a way to discard difficult work.
Use python3 tools/api_plan.py show API_ID for an item and python3 tools/api_plan.py report --since GIT_REF for the actual progression delta.
Each complete item needs results for these target configurations. Split hardware/OS/backend combinations in the linked evidence; build-only results are insufficient.
| Target ID | Required scope |
|---|---|
windows-native |
Native Windows desktop |
linux-x11 |
Linux desktop X11 |
linux-wayland |
Linux desktop Wayland |
macos |
Native macOS desktop |
freebsd |
FreeBSD reference variant |
openbsd |
OpenBSD reference variant |
netbsd |
NetBSD reference variant |
dragonfly |
DragonFly reference variant |
raspberry-pi |
Raspberry Pi desktop/native variants |
linux-drm |
Linux native DRM |
android |
Android lifecycle/input/audio/graphics |
web |
WebAssembly/browser lifecycle and devices |
haiku |
Haiku reference platform |
memory-software |
Headless Memory/software renderer |
gl-1.1 |
OpenGL 1.1 supported configurations |
gl-2.1 |
OpenGL 2.1 supported configurations |
gl-3.3 |
OpenGL 3.3 supported configurations |
gl-4.3 |
OpenGL 4.3 supported configurations |
gles-2 |
OpenGL ES 2.0 supported configurations |
gles-3 |
OpenGL ES 3.0 supported configurations |
sdl |
SDL alternative platform configurations |
rgfw |
RGFW alternative platform configurations |
web-rgfw |
WebRGFW alternative platform configuration |