Skip to content

fix: use scene spawn point when Events jump-in targets the scene base - #9611

Open
alejandro-jimenez-dcl wants to merge 1 commit into
devfrom
bugsweep/teleport-spawn-position-not-unified
Open

fix: use scene spawn point when Events jump-in targets the scene base#9611
alejandro-jimenez-dcl wants to merge 1 commit into
devfrom
bugsweep/teleport-spawn-position-not-unified

Conversation

@alejandro-jimenez-dcl

Copy link
Copy Markdown
Contributor

EventCardActionsController.JumpInEvent unconditionally passes landOnParcel: true, which targets the raw parcel center instead of the scene's authored scene.json spawn point. This was intentional for sub-parcel targeting in multi-parcel scenes (PR #8942, e.g. a Theatre inside Genesis Plaza), but it also fires when the event's coordinates equal the scene's own base parcel, where the sub-parcel rationale doesn't apply, causing map/chat and Events-page jump-ins to the same scene to land at different positions.

Clear landOnParcel in TeleportController.TeleportAsync when the requested parcel equals sceneDef.metadata.scene.DecodedBase, so the flow falls through to the same spawn-point resolution (including the cameraTarget look-at) used by every other teleport entry point. Sub-parcel jump-ins are untouched.

Fixes #9546
Related: #9368

Includes a regression test that fails without this fix.

Pull Request Description

What does this PR change?

Test Instructions

Steps (standard run):

metaforge explorer run XXXX  # ← replace with this PR number

Expected result:

Steps (fresh account):

metaforge account create --clear
metaforge explorer run XXXX  # ← replace with this PR number

Expected result:

Automation (if applicable):

metaforge explorer test XXXX

Prerequisites

  • List any required setup steps
  • Include environment/configuration requirements

Test Steps

  1. First step
  2. Second step
  3. Expected result after step 2
  4. ...

Additional Testing Notes

  • Note any edge cases to verify
  • Mention specific areas that need careful testing
  • List known limitations or potential issues

Quality Checklist

  • Changes have been tested locally
  • Documentation has been updated (if required)
  • Performance impact has been considered
  • For SDK features: Test scene is included

Code Review Reference

Please review our Branch & PR Standards before submitting. It explains the automated review flow, QA/DEV approval requirements, and what each label does — especially useful for first-time contributors.

EventCardActionsController.JumpInEvent unconditionally passes
landOnParcel: true, which targets the raw parcel center instead of
the scene's authored scene.json spawn point. This was intentional for
sub-parcel targeting in multi-parcel scenes (PR #8942, e.g. a Theatre
inside Genesis Plaza), but it also fires when the event's coordinates
equal the scene's own base parcel, where the sub-parcel rationale
doesn't apply, causing map/chat and Events-page jump-ins to the same
scene to land at different positions.

Clear landOnParcel in TeleportController.TeleportAsync when the
requested parcel equals sceneDef.metadata.scene.DecodedBase, so the
flow falls through to the same spawn-point resolution (including the
cameraTarget look-at) used by every other teleport entry point.
Sub-parcel jump-ins are untouched.

Fixes #9546
Related: #9368

Includes a regression test that fails without this fix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@alejandro-jimenez-dcl
alejandro-jimenez-dcl requested review from a team as code owners August 5, 2026 10:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unify landing position between map/chat teleport and Events page teleport

3 participants