feat: play moving-source acoustic timelines
This commit is contained in:
@@ -11,6 +11,24 @@ async function loadJson(path) {
|
||||
return response.json();
|
||||
}
|
||||
|
||||
test("moving-tone sample Scene and Experiment satisfy their linked contracts", async () => {
|
||||
const [arrayDefinition, scene, experiment] = await Promise.all([
|
||||
loadJson("/assets/array-geometries/rectangular-16x12.array.json"),
|
||||
loadJson("/assets/sample-scenes/moving-tone.scene.json"),
|
||||
loadJson("/assets/sample-scenes/moving-tone.experiment.json"),
|
||||
]);
|
||||
const sceneIssues = await validateScene(scene);
|
||||
const experimentIssues = await validateExperiment(experiment, { arrayDefinition, scene });
|
||||
|
||||
assertEqual(sceneIssues.length, 0, `moving Scene issues: ${JSON.stringify(sceneIssues)}`);
|
||||
assertEqual(experimentIssues.length, 0, `moving Experiment issues: ${JSON.stringify(experimentIssues)}`);
|
||||
assertEqual(experiment.sceneId, scene.id, "moving example linkage");
|
||||
assert(
|
||||
scene.sources.some((source) => Array.isArray(source.trajectory) && source.trajectory.length >= 2),
|
||||
"moving example contains a usable trajectory",
|
||||
);
|
||||
});
|
||||
|
||||
test("192채널 기준 배열이 계약을 통과한다", async () => {
|
||||
const arrayDefinition = await loadJson("/assets/array-geometries/rectangular-16x12.array.json");
|
||||
assertEqual(arrayDefinition.microphones.length, 192, "microphone count");
|
||||
|
||||
Reference in New Issue
Block a user