Your own casts never cut away
Casting a door onto the wall you already faced tripped the blocked- sight cutaway: the camera leapt to film the wall from another vantage, reading as a spin that put your back to your own door. In the live cockpit your own deeds now only ever TURN the head, gently and never past a quarter-turn — cutaways remain for things done TO you. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015RCWSTnb1KYTPyL4GmhGnF
This commit is contained in:
co-authored by
Claude Fable 5
parent
e2dfbd14e3
commit
72f5df5bba
@@ -349,11 +349,17 @@
|
|||||||
} else if (aim && !aim.self) {
|
} else if (aim && !aim.self) {
|
||||||
const ax = aim.x + 0.5, ay = aim.y + 0.5;
|
const ax = aim.x + 0.5, ay = aim.y + 0.5;
|
||||||
const wantFacing = Math.atan2(ay - ty, ax - tx);
|
const wantFacing = Math.atan2(ay - ty, ax - tx);
|
||||||
// Your own magic turns your head — but never wrenches it: a deed
|
const arc = Math.abs(shortestArc(camF, wantFacing));
|
||||||
// you aimed BEHIND you via the keymap stays behind you. Things
|
if (actor === povId) {
|
||||||
// done TO you may still spin the world.
|
// Your own magic turns your head — but never wrenches it and
|
||||||
if (actor === povId && Math.abs(shortestArc(camF, wantFacing)) > Math.PI * 0.55) {
|
// NEVER cuts away: casting a door onto the wall you face must
|
||||||
// deliberately unaimed
|
// not fling the eyes to some other vantage. A gentle turn when
|
||||||
|
// the deed is off to the side; nothing when it is behind you
|
||||||
|
// or already in frame.
|
||||||
|
if (arc <= Math.PI * 0.55) {
|
||||||
|
targetFacing = wantFacing;
|
||||||
|
aimed = true;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
const toAim = Math.hypot(ax - tx, ay - ty);
|
const toAim = Math.hypot(ax - tx, ay - ty);
|
||||||
const sight = castRay(v, tx, ty, wantFacing);
|
const sight = castRay(v, tx, ty, wantFacing);
|
||||||
|
|||||||
Reference in New Issue
Block a user