Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

perf(producer): skip fully occluded leading DOM capture in HDR layered compositor

Đang mở
#5,004 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@Monster-GM đang làm issue này rồi.

Từ ngày 4/10/2026.

  • #5034 của @Monster-GM — đang mở

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
45/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript

Hướng nghiên cứu

Start by tracing the normal HDR layered compositor and its existing HDR video read/blit path on main; the issue does not name specific files or tests. Add regression coverage for the listed eligible and fallback layer plans, including preservation of the upper DOM layer. Done means the optimized and legacy paths are pixel-identical, with failures replaying once through the legacy path.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Summary

The normal HDR layered compositor can produce a layer plan such as:

DOM → HDR video → DOM

Both DOM groups are currently rasterized independently. When the first paintable layer above the leading DOM group is an opaque native HDR video that covers the complete output canvas, the lower DOM raster cannot contribute a pixel to the final frame.

Avoiding that capture removes one full-page screenshot, PNG decode, and RGBA-to-RGB48 blit per eligible frame.

Affected version

Observed in HyperFrames v0.8.114 (01c6f6004a00ecfa6e77ab4025b47a46a5e925fc). Please confirm the current compositor topology on main.

Safety requirements

Eligibility should be conservative and based on existing stacking and geometry state:

  • the first composite layer is DOM;
  • the first paintable layer above it is a native HDR video;
  • opacity is effectively 1 and the video is active;
  • x/y are the frame origin and paint/layout dimensions cover the full output;
  • the source frame dimensions and raw-frame size are compatible with a full-frame blit;
  • clip is absent or exactly full bounds;
  • border radius is zero;
  • transform is absent or identity.

HDR images, transitions, elementFilter captures, SDR capture, partial clips, non-identity transforms, and ambiguous geometry should remain on the legacy path.

Fail-safe behavior

Geometry alone is insufficient. The lower DOM capture should be deferred until the eligible HDR frame has actually been read and blitted successfully.

The HDR video blit can expose a small typed result such as blitted | skipped | failed. Only blitted permits dropping the deferred DOM layer. On skipped, failed, incomplete reads, or exceptions, clear the uncommitted canvas and replay that frame once through the existing path with the optimization disabled.

Validation

Regression tests should cover:

  • successful DOM → opaque full-frame HDR video → DOM;
  • opacity below the opaque threshold;
  • smaller dimensions or non-zero x/y;
  • border radius, non-identity transform, and partial clip;
  • an exact full-bounds clip;
  • HDR read/blit failure and one-pass legacy fallback;
  • transition/elementFilter exclusion;
  • preservation of the upper DOM layer.

Output should be pixel-identical to the legacy compositor for eligible and fallback cases.

Ngôn ngữ chính
TypeScript
Star
54.1k
Fork
4.9k
Merge trung bình
7 giờ 18 phút
Pull request đã merge (30 ngày)
784

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của heygen-com/hyperframes

Tất cả issue của heygen-com/hyperframes

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.