Natiny 0.10.0
The rendering API now has one accurate name, while Vulkan stretch windows reach their first frame and remain responsive.
Natiny 0.10.0 gives the whole rendering API one name. The former draw
module is now render, covering not only shapes and text but also render state,
viewports, surfaces, and model submission. The release also fixes a Vulkan
stall that could leave a stretch-scaled window empty and unresponsive.
The rendering API now says what it does
Rendering calls now live under natiny.render, and Native entry points begin
with natiny_render_. The old draw name described calls such as
circle, but it was a poor fit for state changes
such as set_color, scissor regions, and
viewports. render now names the complete job of the module.
The function signatures and the four NATINY_SORT_* constants are unchanged.
Only the module and function prefixes move:
-- 0.9.0
natiny.draw.set_color(1, 1, 1, 1)
natiny.draw.circle(160, 120, 48)
-- 0.10.0
natiny.render.set_color(1, 1, 1, 1)
natiny.render.circle(160, 120, 48)
Existing projects need a mechanical rename
There is no compatibility alias. Lua projects must replace natiny.draw with
natiny.render, and Native projects must replace every natiny_draw_* call
with its natiny_render_* counterpart. Arguments and return behaviour stay the
same, so no rendering logic needs to change.
Vulkan stretch windows render normally
A Vulkan window using NATINY_SCALE_MODE_STRETCH can now draw its first frame
and continue processing events. Previously, rebinding an unchanged canvas could
wait for the very frame that had not yet been submitted, leaving the window
blank and preventing it from closing normally.
The fix requires no project changes. Direct3D 12, OpenGL, and Metal were not affected by this stall.
Natiny 0.10.0 bundles for every platform are on the download page.