auto-git:

[unlink] tests/domain/box-brush-face-editing.command.test.js
 [unlink] tests/domain/build-runtime-scene.test.js
 [unlink] tests/domain/create-box-brush.command.test.js
 [unlink] tests/domain/create-empty-scene-document.test.js
 [unlink] tests/domain/duplicate-selection.command.test.js
 [unlink] tests/domain/editor-store.test.js
 [unlink] tests/domain/entity.command.test.js
 [unlink] tests/domain/interaction-links.validation.test.js
 [unlink] tests/domain/model-import.test.js
 [unlink] tests/domain/model-instance.command.test.js
 [unlink] tests/domain/player-start.command.test.js
 [unlink] tests/domain/rapier-collision-world.test.js
 [unlink] tests/domain/runtime-audio-system.test.js
 [unlink] tests/domain/runtime-interaction-system.test.js
 [unlink] tests/domain/runtime-scene-validation.test.js
 [unlink] tests/domain/scene-document-validation.test.js
 [unlink] tests/domain/transform-session.command.test.js
 [unlink] tests/domain/world-settings.command.test.js
 [unlink] tests/domain/world-settings.test.js
 [unlink] tests/e2e/app-smoke.e2e.js
 [unlink] tests/e2e/box-brush-authoring.e2e.js
 [unlink] tests/e2e/entities-foundation.e2e.js
 [unlink] tests/e2e/face-material-authoring.e2e.js
 [unlink] tests/e2e/first-room-workflow.e2e.js
 [unlink] tests/e2e/import-draco-model-asset.e2e.js
 [unlink] tests/e2e/import-external-model-asset.e2e.js
 [unlink] tests/e2e/import-model-asset.e2e.js
 [unlink] tests/e2e/local-lights-and-background.e2e.js
 [unlink] tests/e2e/orthographic-views.e2e.js
 [unlink] tests/e2e/runner-v1.e2e.js
 [unlink] tests/e2e/runtime-click-interaction.e2e.js
 [unlink] tests/e2e/runtime-trigger-teleport.e2e.js
 [unlink] tests/e2e/viewport-quad-layout.e2e.js
 [unlink] tests/e2e/viewport-test-helpers.js
 [unlink] tests/e2e/whitebox-component-selection.e2e.js
 [unlink] tests/e2e/world-environment.e2e.js
 [unlink] tests/geometry/box-brush-geometry.test.js
 [unlink] tests/geometry/box-face-uvs.test.js
 [unlink] tests/geometry/model-instance-collider-generation.test.js
 [unlink] tests/helpers/model-collider-fixtures.js
 [unlink] tests/serialization/local-draft-storage.test.js
 [unlink] tests/serialization/project-asset-storage.test.js
 [unlink] tests/serialization/scene-document-json.test.js
 [unlink] tests/setup/vitest.setup.js
 [unlink] tests/unit/audio-assets.test.js
 [unlink] tests/unit/entity-instances.test.js
 [unlink] tests/unit/package-scripts.test.js
 [unlink] tests/unit/transform-foundation.integration.test.js
 [unlink] tests/unit/viewport-canvas.test.js
 [unlink] tests/unit/viewport-entity-markers.test.js
 [unlink] tests/unit/viewport-focus.test.js
 [unlink] tests/unit/viewport-layout.test.js
 [unlink] tests/unit/viewport-view-modes.test.js
This commit is contained in:
2026-04-11 15:48:58 +02:00
parent 9b7706bf5b
commit 27664d9074
53 changed files with 0 additions and 8606 deletions

View File

@@ -1,84 +0,0 @@
import { Box3, Group, Mesh, MeshBasicMaterial } from "three";
import { createProjectAssetStorageKey } from "../../src/assets/project-assets";
function countMeshes(group) {
let count = 0;
group.traverse((object) => {
if (object.isMesh === true) {
count += 1;
}
});
return count;
}
function countNodes(group) {
let count = 0;
group.traverse(() => {
count += 1;
});
return count;
}
function createBoundingBox(group) {
const bounds = new Box3().setFromObject(group);
if (bounds.isEmpty()) {
return null;
}
return {
min: {
x: bounds.min.x,
y: bounds.min.y,
z: bounds.min.z
},
max: {
x: bounds.max.x,
y: bounds.max.y,
z: bounds.max.z
},
size: {
x: bounds.max.x - bounds.min.x,
y: bounds.max.y - bounds.min.y,
z: bounds.max.z - bounds.min.z
}
};
}
export function createFixtureModelAssetRecord(id, template, sourceName = `${id}.glb`) {
template.updateMatrixWorld(true);
return {
id,
kind: "model",
sourceName,
mimeType: "model/gltf-binary",
storageKey: createProjectAssetStorageKey(id),
byteLength: 128,
metadata: {
kind: "model",
format: "glb",
sceneName: sourceName,
nodeCount: countNodes(template),
meshCount: countMeshes(template),
materialNames: [],
textureNames: [],
animationNames: [],
boundingBox: createBoundingBox(template),
warnings: []
}
};
}
export function createFixtureLoadedModelAsset(asset, template) {
template.updateMatrixWorld(true);
return {
assetId: asset.id,
storageKey: asset.storageKey,
metadata: asset.metadata,
template,
animations: []
};
}
export function createFixtureLoadedModelAssetFromGeometry(assetId, geometry) {
const template = new Group();
template.add(new Mesh(geometry, new MeshBasicMaterial()));
template.updateMatrixWorld(true);
const asset = createFixtureModelAssetRecord(assetId, template);
return {
asset,
loadedAsset: createFixtureLoadedModelAsset(asset, template)
};
}