Repository navigation
fix(lint): say the audio overlap warning is about a shared Studio lane - #7700
Merged
miguel-heygen merged 1 commit intoNov 14, 2026
Merged
Conversation
duplicate_audio_track said two overlapping clips on one data-track-index "cause layered audio playback" and suggested moving one to another track. The render's mixer never reads data-track-index (every audible clip is its own amix input) and the docs call the attribute a Studio lane only, so the two clips are layered whatever their tracks: rendering a whoosh and a hit on track 6, then with the hit on track 7, gives byte-identical audio. The message now says both play and that the overlap is two clips sharing one Studio lane; the hint says splitting tracks leaves the mix unchanged, and that a leftover duplicate should be removed or moved. lint-rules.mdx said the audio "doubles up"; it now says the same as the message. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Preview approval requiredThis pull request comes from a fork, so Mintlify won't build a preview until someone with write access approves commit |
miguel-heygen
approved these changes
Nov 14, 2026
miguel-heygen
left a comment
Collaborator
There was a problem hiding this comment.
Verified at eb98ff2: the bug reproduces on main, and the new tests fail without the fix and pass with it. Required CI is green.
Merged
1 of 2 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.
What
duplicate_audio_trackkeeps the same detection and severity, with new wording. The message now says that both clips play whatever their track, and that the overlap is two clips sharing one Studio lane. The hint says that giving one clip its owndata-track-indexdoes not change the mix, and that a leftover duplicate should be removed or moved.docs/reference/lint-rules.mdxsays the same.Why
I placed a whoosh that runs into a landing hit on the same SFX track, with the overlap on purpose. The warning said this "causes layered audio playback" and suggested a different track index. The docs say the opposite about the attribute.
html-schema.mdx: "browser editor timeline lane, display only. The render never reads it and it does not prevent overlap".data-attributes.mdx: "the render ignores it". The code agrees with the docs:engine/src/services/audioMixer.tsgives every audible clip its ownamixinput and never reads a track.core/src/runtime/timeline.tsusesdata-track-indexonly to place a clip on a Studio row ("Track index is display-only; render never reads it").Measured: I rendered the repro twice with
hyperframes render -q drafton main, once with both SFX on track 6 and once with the hit on track 7. The decoded audio is identical (ffmpeg … -f s16le | md5→0fd325c3f923bd7ae273e71779c15afcboth times), and lint is quiet on the second. So the old hint silences the warning without changing what is heard, and "causes layered audio" describes the time overlap, which happens on any track. What a same-lane overlap does cause is in Studio: clips in a row are positioned by start and duration (TimelineClip.tsx), so the two bars overlap in that lane. The rule's other purpose, catching a duplicated sound (the scaffold collision that #299 added it for), is still worth flagging, so detection and severity stay the same.Related work
fixHintfor clips withoutdata-duration. It touches the lines next to these and will conflict textually. Whichever lands second takes the other's wording, and the two do not overlap in intent.How
packages/lint/src/project.ts: newmessageandfixHintstrings. The windows are formatted as before.docs/reference/lint-rules.mdx: theduplicate_audio_trackentry says the same as the message.Test plan
packages/lint/src/project.test.ts):says both clips still play, since the track index only picks the Studio lanechecks the windows,Both play at once whatever their track, andgive one its own data-track-index; the mix does not change. On main (affa03b6) with the fix stashed it fails (expected 'Multiple audible <audio>/<video> elem…' to contain …). With the fix,packages/lintpasses 1310 tests andpackages/clilintProject.test.tspasses 78.hyperframes linton the repro (whoosh_a.wavat 5.13 s for 0.7 s andland_a.wavat 5.79 s for 0.34 s, bothdata-track-index="6"): the before and after output is shown above.Gates: oxlint and oxfmt are clean.
fallow audit --base origin/mainpasses in the lefthook pre-commit. The comment ratchet and comment citations pass, and the lefthook typecheck passes.