..
shaders
feat(render3d): the meadow's blades are culled on the GPU - under 1.5 ms of a MoltenVK frame for all the grass
2026-09-27 15:47:36 +03:00
actor.ludic
perf(render3d): an actor knows its row - removal swaps the last one in (O(1)) instead of building a new list of every other actor, never freed; actor_keep puts one back after a world swap; actor_clear_all clears in place
2026-09-27 23:08:02 +03:00
assets.manifest
feat(gl): OpenGL 4.1 and the ludic.render3d renderer
2026-09-10 03:31:12 +03:00
camera.ludic
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
2026-09-25 15:31:34 +03:00
daylight.ludic
packages: ludic.ui's render3d backend threads Render3dState; render3d's settable vars (r3d_dem_path, post_*, grass_*, wt_wade_*, ...) are Render3dState's fields again, not lets
2026-09-25 17:11:15 +03:00
drawstats.ludic
wip(0.S3): outside the runtime, its drawable size, scale, screen and tile size are read and set through its functions; a migration reports such a reference instead of threading the runtime's state
2026-09-25 15:47:21 +03:00
env.ludic
feat(render3d): 23.4 - model_release, shared textures counted, and scatter layers sized to what they hold
2026-09-27 23:34:14 +03:00
FEATURES.md
refactor(render3d): phase 16 - the collider store is gone; still things are bodies in ludic.physics
2026-09-27 00:08:36 +03:00
fmath.ludic
feat(lang): L7 memory is safe unless it says unsafe
2026-09-24 12:53:27 +03:00
gltf.ludic
feat(render3d): 23.4 - model_release, shared textures counted, and scatter layers sized to what they hold
2026-09-27 23:34:14 +03:00
gltf_release.ludic
feat(render3d): 23.4 - model_release, shared textures counted, and scatter layers sized to what they hold
2026-09-27 23:34:14 +03:00
gpu.ludic
fix(render3d): the Vulkan renderer stops leaking as it loads and draws
2026-09-27 23:03:38 +03:00
gpu_manifest.ludic
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
2026-09-25 15:31:34 +03:00
gpu_vk.ludic
fix(render3d): the Vulkan renderer stops leaking as it loads and draws
2026-09-27 23:03:38 +03:00
gpu_vk_draw.ludic
fix(render3d): a refused pipeline is not retried every draw, and an evicted chunk is freed whole
2026-09-27 23:34:13 +03:00
gpu_vk_res.ludic
feat(render3d): 23.4 - model_release, shared textures counted, and scatter layers sized to what they hold
2026-09-27 23:34:14 +03:00
grass.ludic
feat(render3d): the meadow's blades are culled on the GPU - under 1.5 ms of a MoltenVK frame for all the grass
2026-09-27 15:47:36 +03:00
grass_gpu.ludic
fix(render3d): the Vulkan renderer stops leaking as it loads and draws
2026-09-27 23:03:38 +03:00
hooks.ludic
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
2026-09-25 15:31:34 +03:00
mesh.ludic
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
2026-09-25 15:31:34 +03:00
overlay.ludic
wip(0.S3): outside the runtime, its drawable size, scale, screen and tile size are read and set through its functions; a migration reports such a reference instead of threading the runtime's state
2026-09-25 15:47:21 +03:00
package.ludic
feat(gl): OpenGL 4.1 and the ludic.render3d renderer
2026-09-10 03:31:12 +03:00
post.ludic
packages: ludic.ui's render3d backend threads Render3dState; render3d's settable vars (r3d_dem_path, post_*, grass_*, wt_wade_*, ...) are Render3dState's fields again, not lets
2026-09-25 17:11:15 +03:00
prof.ludic
wip(render3d): one frame recording while one draws on Vulkan (double-buffered ring and pools), R3D_VK_LABELS, grass measuring switches (R3D_NOGRASS, R3D_BLADES, R3D_GRASS_S0/D0)
2026-09-27 15:47:36 +03:00
programs.ludic
feat(render3d): the meadow's blades are culled on the GPU - under 1.5 ms of a MoltenVK frame for all the grass
2026-09-27 15:47:36 +03:00
quat.ludic
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
2026-09-25 15:31:34 +03:00
r3d.ludic
feat(render3d): 23.4 - model_release, shared textures counted, and scatter layers sized to what they hold
2026-09-27 23:34:14 +03:00
render.ludic
feat(render3d): the meadow's blades are culled on the GPU - under 1.5 ms of a MoltenVK frame for all the grass
2026-09-27 15:47:36 +03:00
safe_api.ludic
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
2026-09-25 15:31:34 +03:00
scatter.ludic
feat(render3d): 23.4 - model_release, shared textures counted, and scatter layers sized to what they hold
2026-09-27 23:34:14 +03:00
shadow.ludic
packages: ludic.ui's render3d backend threads Render3dState; render3d's settable vars (r3d_dem_path, post_*, grass_*, wt_wade_*, ...) are Render3dState's fields again, not lets
2026-09-25 17:11:15 +03:00
skin.ludic
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
2026-09-25 15:31:34 +03:00
sky.ludic
packages: ludic.ui's render3d backend threads Render3dState; render3d's settable vars (r3d_dem_path, post_*, grass_*, wt_wade_*, ...) are Render3dState's fields again, not lets
2026-09-25 17:11:15 +03:00
stream.ludic
feat(render3d): 23.4 - model_release, shared textures counted, and scatter layers sized to what they hold
2026-09-27 23:34:14 +03:00
streamline.ludic
wip(0.S3): outside the runtime, its drawable size, scale, screen and tile size are read and set through its functions; a migration reports such a reference instead of threading the runtime's state
2026-09-25 15:47:21 +03:00
terrain.ludic
fix(render3d): a map generated over another releases what it replaces
2026-09-27 23:34:13 +03:00
texture.ludic
wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
2026-09-25 15:31:34 +03:00
water.ludic
packages: ludic.ui's render3d backend threads Render3dState; render3d's settable vars (r3d_dem_path, post_*, grass_*, wt_wade_*, ...) are Render3dState's fields again, not lets
2026-09-25 17:11:15 +03:00