feat: report non-fatal translation diagnostics - #437
Merged
Merged
Conversation
webern
added this pull request to stack #438
September 16, 2026 08:40
webern
commented
Sep 16, 2026
webern
marked this pull request as ready for review
September 16, 2026 13:15
webern
force-pushed
the
m/mxdev-errwarn
branch
from
September 16, 2026 16:33
21f715c to
2e7b619
Compare
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an optional
Diagnosticscollector to thegetScore,intoScore, andfromScoretranslation APIs. Callers can inspect reports after a call or receive them synchronously through a handler while fatal failures remain inResult.The first reports cover two existing recoveries: an out-of-range time-signature staff number being applied to all staves, and an octave-shift stop with no matching start using the MusicXML default size of 8. Diagnostics carry score locations and have a canonical formatter. More than 16 concurrent numbered spanners remains fatal, but now returns a located
tooManyElementserror instead of an unlocated internal error.Testing
make api-test: 5580 assertions in 617 test casesmake api-roundtrip: 414 passed, 0 failedmake test-allmake wasm-testmake fmtReferences