Refactor: position / size / speed leben jetzt auf einer Actor-Entity
(lib-core.actor + lib-core.composition); player_control hält nur noch
die Action-Bindings und das per-frame Update.
Removed surface (use actor.* / composition.* instead):
M.set_position / M.position / M.set_size / M.size /
M.set_speed / M.speed
Neuer Flow:
composition.define_template{id="player", properties={position,
movement_speed, sprite_w, sprite_h, ...}, ...}
local p = actor.create{template="player", properties={...}}
player_control.bind_movement(...)
player_control.update(p, dt) -- liest position/movement_speed/sprite_w/h
-- aus dem actor; AABB-Collision um center,
-- commit via actor.move oder no-op
position.x/.y wird als visual CENTER behandelt (Phase-A Konvention).
4-corner-AABB-Check verschiebt sich entsprechend.
DEPRECATED-MVP-Marker auf :99 entfernt (actor-integration realisiert).
Bumps: 0.1.0 → 0.2.0 (BREAKING, pre-1.0 minor); +actor v0.1.0 dep.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.8 KiB
3.8 KiB