Skip to content

Deprecate RenderingModifiers#27

Open
alexandercerutti wants to merge 14 commits into
developfrom
feature/deprecations/rendering-modifiers
Open

Deprecate RenderingModifiers#27
alexandercerutti wants to merge 14 commits into
developfrom
feature/deprecations/rendering-modifiers

Conversation

@alexandercerutti

Copy link
Copy Markdown
Owner

This PR deprecates RenderingModifiers BYO API and removes it from WebVTT implementation. There, it is replaced with Region derivation.

Closes #26.

@vercel

vercel Bot commented Jul 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sub37-sample Ready Ready Preview, Comment Jul 6, 2026 9:19pm

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR deprecates the RenderingModifiers BYO API and updates the WebVTT adapter to derive cue rendering geometry (position/size/align) via Regions instead of a dedicated RenderingModifiers implementation.

Changes:

  • Remove the WebVTT-specific WebVTTRenderingModifiers parser and store raw cue settings on parsed cues.
  • Add deriveRegionFromCueSettings() to convert WebVTT cue settings into a derived Region used by the adapter.
  • Deprecate remaining RenderingModifiers entry points and add renderer tests asserting region geometry and text alignment come from Regions/cue settings.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
packages/webvtt-adapter/src/Parser/RenderingModifiers.ts Removes WebVTT RenderingModifiers implementation.
packages/webvtt-adapter/src/Parser/parseRegion.ts Exports WebVTTRegion and adds region derivation from cue settings.
packages/webvtt-adapter/src/Parser/parseCue.ts Replaces renderingModifiers parsing with settings parsing.
packages/webvtt-adapter/src/Adapter.ts Uses derived regions for cues and injects cue align into line style entities.
packages/captions-renderer/src/TreeOrchestrator.ts Marks trackRenderingModifiers as deprecated in favor of region.
packages/captions-renderer/src/index.ts Deprecates region-modifier helper in favor of Regions.
packages/captions-renderer/specs/renderer.spec.pw.ts Adds Playwright tests asserting cue settings affect region geometry/text-align.
packages/adapter-utils/src/RenderingModifiers.ts Deprecates the RenderingModifiers interface.
packages/adapter-utils/src/CueNode.ts Deprecates CueNode.renderingModifiers in favor of Regions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/webvtt-adapter/src/Parser/parseRegion.ts Outdated
Comment thread packages/webvtt-adapter/src/Parser/parseRegion.ts Outdated
Comment thread packages/webvtt-adapter/src/Parser/parseRegion.ts Outdated
Comment thread packages/webvtt-adapter/src/Parser/parseRegion.ts
Comment thread packages/webvtt-adapter/src/Parser/parseCue.ts
Comment thread packages/webvtt-adapter/src/Adapter.ts

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

region?.viewportanchor?.[1] ?? DEFAULT_VIEWPORT_ANCHOR_Y,
];

derivedRegion.id = `derived:${region?.id ?? "default"}`;
Comment on lines +252 to +258
const integerPosition = (pos.endsWith("%") && parseInt(pos)) || NaN;

if (!Number.isNaN(integerPosition)) {
return [Math.min(Math.max(0, integerPosition), 100), positionAlignment];
}

return [0, positionAlignment];
Comment on lines 618 to 619
});

describe("RenderingModifiers", () => {
it("should return default values if no attributes string is provided", () => {
const modifier1 = WebVTTRenderingModifiers.fromString("");

expect(modifier1.leftOffset).toBe(0);
expect(modifier1.regionIdentifier).toBeUndefined();
expect(modifier1.textAlignment).toBe("center");
expect(modifier1.width).toBe(100);

const modifier2 = new WebVTTRenderingModifiers();

expect(modifier2.leftOffset).toBe(0);
expect(modifier2.regionIdentifier).toBeUndefined();
expect(modifier2.textAlignment).toBe("center");
expect(modifier2.width).toBe(100);
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deprecating RenderingModifiers and remove them from WebVTT

2 participants