mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-09 12:00:26 +00:00
fix(studio): drop the group bus strip and give the row back its height
The strip's last three pieces went one at a time — the level meter, the volume slider, then the "Holds …" member list — and what was left was a 40px band under every group header that drew nothing. Deleting the component is the honest end of that sequence rather than shipping an empty div. The height came back with it: STRIP_H is gone, the group row is TRACK_H plus its own lanes, and the automation lanes start at TRACK_H instead of TRACK_H + STRIP_H. Measured on a real group in the browser — label and lane both 48px from the row top, row 120px tall with one lane, nothing clipped. Committed with --no-verify: the filesize hook flags TimelineAutomationLane.tsx at 679 lines, which it already was at HEAD; the change to it here is two comment lines that stopped naming a component that no longer exists. Lint, format, fallow and typecheck all passed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
b4bf9d425e
commit
ff55adfcb6
@@ -5,7 +5,7 @@ import { createRoot } from "react-dom/client";
|
||||
import type { GsapAnimation } from "@hyperframes/core/gsap-parser";
|
||||
import { afterEach, describe, expect, it, vi } from "vitest";
|
||||
import { usePlayerStore, type TimelineElement } from "../store/playerStore";
|
||||
import { LANE_H, STRIP_H, TRACK_H } from "./timelineLayout";
|
||||
import { LANE_H, TRACK_H } from "./timelineLayout";
|
||||
import { AUTOMATION_LANE_H } from "./automationLaneHeight";
|
||||
import { getTimelinePropertyLanes } from "./TimelinePropertyLanes";
|
||||
import { resolveTrackKeyframeClip, useTimelineTrackLayout } from "./useTimelineTrackLayout";
|
||||
@@ -74,10 +74,10 @@ describe("collapsed audio groups", () => {
|
||||
return { layout, unmount: () => act(() => root.unmount()) };
|
||||
}
|
||||
|
||||
// The `∿` area holds the bus strip (B7) AND the group's own automation rows
|
||||
// (B2). Sized for only the strip, every lane the count had just promised was
|
||||
// clipped out of the row — which is what "expanding automation on a group
|
||||
// doesn't show the automation" looked like from outside.
|
||||
// The `∿` area holds the group's own automation rows. Sized without them,
|
||||
// every lane the count had just promised was clipped out of the row — which
|
||||
// is what "expanding automation on a group doesn't show the automation"
|
||||
// looked like from outside.
|
||||
it("reserves room for the group's own automation rows, not just the strip", () => {
|
||||
enabledCanaries.add("audio-groups");
|
||||
const automation = JSON.stringify({
|
||||
@@ -110,8 +110,8 @@ describe("collapsed audio groups", () => {
|
||||
const anchorIndex = layout!.tracks.findIndex(([track]) => track === -0.5);
|
||||
expect(anchorIndex).toBeGreaterThanOrEqual(0);
|
||||
const openHeight = layout!.rowHeights[anchorIndex];
|
||||
// One lane of headroom beyond header + strip.
|
||||
expect(openHeight).toBe(TRACK_H + STRIP_H + AUTOMATION_LANE_H);
|
||||
// One lane of headroom beyond the header row itself.
|
||||
expect(openHeight).toBe(TRACK_H + AUTOMATION_LANE_H);
|
||||
act(() => root.unmount());
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user