28fb3bf4e9df5b7dd064edf20d4dda65d67e4b7b
lib-core.camera
P.0 2D camera state + begin/finish wrapper. Holds target = {x, y} + zoom,
wraps engine.render.camera_2d_begin/end with current state.
- Lib-ID:
lib-core.camera - Version:
0.1.0 - Spec:
meta/docs/superpowers/specs/2026-05-09-p0-lib-camera-design.md
Forward-compat stubs (DEPRECATED-MVP) for follow, set_bounds, lerp_to, shake,
set_rotation. See meta/docs/architecture/render-pipeline.md and
meta/docs/architecture/map-topology.md §7.3 for full target context.
API
camera.set_target(x, y)— set world-coords for screen-centercamera.set_zoom(z)— set zoom (positive number)camera.target() → {x, y}— current targetcamera.zoom() → number— current zoomcamera.begin()— push camera transform (must be inside render hook)camera.finish()— pop camera transform (endis Lua keyword)
Consumer pattern
local camera = require("lib-core.camera")
camera.set_target(256, 256) -- world-coords
camera.set_zoom(1.0)
function render(ctx)
engine.render.clear_color(...)
camera.begin()
-- draw world here
camera.finish()
end
Description
Languages
Lua
94.8%
Shell
5.2%