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

Move the keyframe property defaults table into @hyperframes/core

Đang mở Phù hợp với người mới
#5,387 1 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

@meghna810 đang làm issue này rồi.

Từ ngày 10/10/2026.

  • #5438 của @meghna810 — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
75/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
full-stack

Hướng nghiên cứu

Bảng bị trùng lặp là KEYFRAME_PROPERTY_DEFAULTS trong packages/sdk/src/engine/keyframeBackfill.ts và PROPERTY_DEFAULTS trong packages/studio/src/hooks/gsapShared.ts. Hãy đọc cả hai để xác nhận chúng khớp nhau, rồi kiểm tra cách mỗi nơi gọi xử lý một thuộc tính bị thiếu trong bảng: SDK bỏ qua thuộc tính đó, còn Studio dùng giá trị dự phòng là 0. Công việc được coi là xong khi một bảng được xuất duy nhất nằm trong @hyperframes/core, cả hai gói đều import nó, comment KEEP IN SYNC và TODO đã bị xóa, các bài kiểm thử hiện có của sdk và studio đều đạt, và một bài kiểm thử nhỏ trong core bao phủ phần xuất đó.

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

Mô tả

difficulty/easy enhancement help wanted triage/ready

Problem

The same table of keyframe property defaults is written out twice:

  • packages/sdk/src/engine/keyframeBackfill.ts (KEYFRAME_PROPERTY_DEFAULTS)
  • packages/studio/src/hooks/gsapShared.ts (PROPERTY_DEFAULTS)

The SDK copy carries a comment saying the two must stay in sync, or keyframes written by the SDK drift from ones written by Studio, plus a TODO to move the table into @hyperframes/core. Today the two tables are identical, but nothing enforces that.

Proposed solution

Move the table into @hyperframes/core (both packages already depend on it), export it, and import it from both places. Keep each caller's current behaviour, including how it treats a property that isn't in the table: the SDK skips it, while Studio's callers fall back to 0.

Acceptance criteria

  • One definition of the table, in @hyperframes/core, imported by the SDK and Studio.
  • The "KEEP IN SYNC" comment and the TODO are removed.
  • Existing tests in packages/sdk and packages/studio pass, and there's a small test in core covering the exported table.
Ngôn ngữ chính
TypeScript
Star
54.1k
Fork
4.9k
Merge trung bình
7 giờ 39 phút
Pull request đã merge (30 ngày)
724

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.