Skip to content

feat(pool): add guided camera aiming and power gauge - #141

Merged
dop42 merged 1 commit into
mainfrom
feat/pool-camera
Oct 24, 2026
Merged

dop42 merged 1 commit into
mainfrom
feat/pool-camera

Conversation

@dop42

@dop42 dop42 commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

Pool practice rendered the balls, but lining up a shot through the normal player view was difficult. Entering now opens a smooth camera behind the cue ball. Mouse movement aims, Shift provides fine control, V switches to a table view and the wheel adjusts camera height. A dashed straight guide ends at the first ball or cushion; a dedicated unfocused gauge shows charge before release. After a shot, the table camera follows authoritative playback and rearms when it settles.

Camera, guide, overlay and module-owned position/control leases are released on cancellation, UI capture, loss of ownership, leaving and stop. A refused/lost camera cancels practice with a friendly notice and keeps the native reason in operator diagnostics. The guide has a 20-line cap and native expiry; the gauge expires stale frames. Server physics, shot validation and economic behavior are unchanged.

Validation: 6,722 Lua checks, 65 audits, typecheck/build and UI lifecycle regressions pass. Camera/guide tests cover world framing, first contact, ownership/refusal cleanup and instruction budgets (enabled frame 1,800; guide 1,900 in native doubles). New natives were checked against Devkit 2.50.0+op77.148; VPS is op77.152. Actual camera framing and input feel still require the user's in-game test.

Stock decorations remain a separate tracked blocker: patches are present but the Cyberpunk 2.5 ArchiveXL loader is not in the verified core manifest or standalone stable index. No security downgrade or unverified executable was enabled by this PR. Documentation is updated in MANUAL and tracked in opx77-framework/opx77_doc#19.

Related: #140 (keep open until the cleanup dependency and live test are resolved).

@dop42 dop42 added the needs-in-game-test Written and tested offline; must be checked on a live Open77 client label Oct 24, 2026
@dop42
dop42 merged commit 5a7a9cf into main Oct 24, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-in-game-test Written and tested offline; must be checked on a live Open77 client

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant