furniture-3d-system-Wu/tests/lib/model-placement.test.ts

19 lines
641 B
TypeScript

import * as THREE from "three";
import { computeCenteredModelPlacement } from "@/lib/3d/model-placement";
describe("model-placement", () => {
it("应按模型中心归位,而不是按地面抬升整体", () => {
const box = new THREE.Box3(
new THREE.Vector3(-10, -100, -20),
new THREE.Vector3(10, 50, 20),
);
const placement = computeCenteredModelPlacement(box);
expect(placement.modelPosition.x).toBeCloseTo(0, 5);
expect(placement.modelPosition.y).toBeCloseTo(25, 5);
expect(placement.modelPosition.z).toBeCloseTo(0, 5);
expect(placement.cameraTarget.toArray()).toEqual([0, 0, 0]);
});
});