Axel Meyer fd90275e7e deps(camera): bump lib-core.input dep 0.3.0 → 0.4.0 (P.3.10 cascade)
No behavioral change. input v0.4.0 adds was_action_released;
camera does not use it. Bumping because only 0.4.0 is now available.
2026-05-15 22:14:07 +02:00

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-center
  • camera.set_zoom(z) — set zoom (positive number)
  • camera.target() → {x, y} — current target
  • camera.zoom() → number — current zoom
  • camera.begin() — push camera transform (must be inside render hook)
  • camera.finish() — pop camera transform (end is 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
P.0.lib.camera � 2D camera state + begin/finish wrapper
Readme 39 KiB
Languages
Lua 94.8%
Shell 5.2%