Refactor type analysis utilities and field collection logic using type stack management

This commit is contained in:
2026-04-27 16:01:34 +02:00
parent d5ba85b55f
commit 7eb475e7f1
2 changed files with 91 additions and 11 deletions

View File

@@ -576,8 +576,8 @@ describe("validateSceneDocument", () => {
navigationMode: "invalidMode" as unknown as "firstPerson",
interactionReachMeters: Number.NaN,
interactionAngleDegrees: Number.NaN,
allowLookInputTargetSwitch: true,
targetButtonCyclesActiveTarget: false,
allowLookInputTargetSwitch: "yes",
targetButtonCyclesActiveTarget: 1,
movementTemplate: {
kind: "invalidTemplate",
moveSpeed: 0,
@@ -612,6 +612,7 @@ describe("validateSceneDocument", () => {
sprint: "",
crouch: "",
interact: "",
clearTarget: "",
pauseTime: ""
},
gamepad: {
@@ -620,6 +621,7 @@ describe("validateSceneDocument", () => {
sprint: "invalidButton",
crouch: "invalidButton",
interact: "invalidButton",
clearTarget: "invalidButton",
pauseTime: "invalidButton"
}
} as unknown as ReturnType<
@@ -657,6 +659,12 @@ describe("validateSceneDocument", () => {
expect.objectContaining({
code: "invalid-player-start-interaction-angle"
}),
expect.objectContaining({
code: "invalid-player-start-look-input-target-switch"
}),
expect.objectContaining({
code: "invalid-player-start-target-button-cycles-active-target"
}),
expect.objectContaining({
code: "invalid-player-start-movement-template-kind"
}),
@@ -714,6 +722,9 @@ describe("validateSceneDocument", () => {
expect.objectContaining({
code: "invalid-player-start-interact-keyboard-binding"
}),
expect.objectContaining({
code: "invalid-player-start-clear-target-keyboard-binding"
}),
expect.objectContaining({
code: "invalid-player-start-pause-keyboard-binding"
}),
@@ -729,6 +740,9 @@ describe("validateSceneDocument", () => {
expect.objectContaining({
code: "invalid-player-start-interact-gamepad-binding"
}),
expect.objectContaining({
code: "invalid-player-start-clear-target-gamepad-binding"
}),
expect.objectContaining({
code: "invalid-player-start-pause-gamepad-binding"
}),