Editor offset, global On click, Coin container in the jump-and-run seed
- SceneObject.editorOffset (x/y): shifts only where an object is drawn in the Scene tab, cascades to children, undo-able with a reset action. Never written into container templates. - On click without an owner now fires for any click inside the camera frame instead of hit-testing the (editor-only) behavior symbol. - seed-jumprun: coins are a "Coin" container (sprite + trigger), nested containers are expanded recursively, Destroy targets the coin's parent, and the clock uses a Ceil node instead of ToText. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2511483a67
commit
3234eb480f
14 files changed
+229
-53
No files matched your search
@@ -77,11 +77,14 @@ function normalizeObjects(raw: unknown, schemas: Map<string, PropertySchema>): S
|
||||
const schema = schemas.get(o.assetId);
|
||||
if (!schema || schema === schemaFor('scene')) continue; // dangling reference or illegal scene-in-scene
|
||||
const p = asRecord(o.position);
|
||||
const offset = asRecord(o.editorOffset);
|
||||
objects.push({
|
||||
id: o.id,
|
||||
assetId: o.assetId,
|
||||
name: typeof o.name === 'string' ? o.name : '',
|
||||
position: { x: toNumber(p.x), y: toNumber(p.y), z: toNumber(p.z) },
|
||||
// Editor-only view shift; absent in documents written before it existed.
|
||||
editorOffset: { x: toNumber(offset.x), y: toNumber(offset.y) },
|
||||
overrides: normalizeBag(o.overrides, schema, true),
|
||||
// `ownerId` is the pre-hierarchy name of the same link (documents saved before parenting).
|
||||
parentId: typeof o.parentId === 'string' ? o.parentId : typeof o.ownerId === 'string' ? o.ownerId : '',
|
||||
|
||||
Reference in new issue
Block a user