Fix VOLUMES/TIMBRE/FM placement: variation properties, not instrument-level
Per RFC §3.2.1.3, VOLUMES, TIMBRE and FM are variation properties. The previous exporter incorrectly appended them to the first ATTR variation; they now go into a synthetic root variation (no ATTR) as required. variationLines() handles these fields directly. Fix test-parser.mjs fixture paths for standalone execution from repo root.
This commit is contained in:
@@ -1,15 +1,12 @@
|
||||
#!/usr/bin/env node
|
||||
// Fixture-based compliance test for ast-parser.js + exporter.js
|
||||
// Run: node score_editors/vue3_neusik/test-parser.mjs
|
||||
// Run: node test-parser.mjs
|
||||
|
||||
import { readFileSync } from 'fs';
|
||||
import { parseAstLog, buildModel } from './static/ast-parser.js';
|
||||
import { exportInstrument, patchScore } from './static/exporter.js';
|
||||
|
||||
const FIXTURE = new URL(
|
||||
'../../PLAN/vue3js-app-proposal-for-sdk-claude/fixtures/ast.log',
|
||||
import.meta.url
|
||||
);
|
||||
const FIXTURE = new URL('./fixtures/ast.log', import.meta.url);
|
||||
const text = readFileSync(FIXTURE, 'utf8');
|
||||
|
||||
let pass = 0, fail = 0;
|
||||
@@ -191,10 +188,7 @@ if (alpha) {
|
||||
|
||||
// ── patchScore ─────────────────────────────────────────────────────────────
|
||||
section('patchScore');
|
||||
const SCORE_FIXTURE = new URL(
|
||||
'../../PLAN/vue3js-app-proposal-for-sdk-claude/fixtures/pathetique.spls',
|
||||
import.meta.url
|
||||
);
|
||||
const SCORE_FIXTURE = new URL('./fixtures/pathetique.spls', import.meta.url);
|
||||
const rawScore = readFileSync(SCORE_FIXTURE, 'utf8');
|
||||
|
||||
// pathetique.spls contains alpha and ki; dev/piano is a linked instrument not embedded.
|
||||
|
||||
Reference in New Issue
Block a user