Refine type checks in scene-document-validation.ts

This commit is contained in:
2026-03-31 06:00:40 +02:00
parent 5de2a7195f
commit b2c3dc60ac

View File

@@ -1,5 +1,4 @@
import { import {
type EntityInstance,
type InteractableEntity, type InteractableEntity,
type PlayerStartEntity, type PlayerStartEntity,
type SoundEmitterEntity, type SoundEmitterEntity,
@@ -47,11 +46,11 @@ function isFiniteNumber(value: unknown): value is number {
return typeof value === "number" && Number.isFinite(value); return typeof value === "number" && Number.isFinite(value);
} }
function isFiniteVec3(vector: { x: unknown; y: unknown; z: unknown }): boolean { function isFiniteVec3(vector: { x: unknown; y: unknown; z: unknown }): vector is { x: number; y: number; z: number } {
return isFiniteNumber(vector.x) && isFiniteNumber(vector.y) && isFiniteNumber(vector.z); return isFiniteNumber(vector.x) && isFiniteNumber(vector.y) && isFiniteNumber(vector.z);
} }
function hasPositiveFiniteVec3(vector: { x: unknown; y: unknown; z: unknown }): boolean { function hasPositiveFiniteVec3(vector: { x: unknown; y: unknown; z: unknown }): vector is { x: number; y: number; z: number } {
return isFiniteVec3(vector) && vector.x > 0 && vector.y > 0 && vector.z > 0; return isFiniteVec3(vector) && vector.x > 0 && vector.y > 0 && vector.z > 0;
} }