Per-route transition-delay stagger and entrance evidence split header shell identity

Đang mở
#5,688 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

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
55/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
php, wordpress
Lĩnh vực
backend, web-dev

Hướng nghiên cứu

Start at ShellExtraction::normalizeNestedChromeMarkup and trace how navigation anchor styles and data-blocks-engine-capture-viewport-entrance affect shell identity. Build the described three-route fixture with varied transition delays and entrance evidence, then check that it yields one shared header part and no inline headers in post content.

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

Mô tả

Signature

  • Stage: WordPress materialization (shell extraction identity)
  • Check: block theme scorecard shared_shell: front-page, page, 404 and index carry no shared header part; 2 header variants
  • Code: ShellExtraction::normalizeNestedChromeMarkup

What happens

The source staggers header nav entrance animations with an inline transition-delay that depends on the page (the number of items it counts). The same header nav carries different delays on each route:

home     transition-delay: 0.0315789s / 0.0473684s / 0.0631579s
about    transition-delay: 0.0171429s / 0.0257143s / 0.0342857s
contact  transition-delay: 0.0333333s / 0.05s      / 0.0666667s

The delays survive into metadata.blocksEngineNavigationItems[].blocksEngineNavigationAnchor.style, which the normalizer does not strip, so every route's header gets its own identity. On this import, 15 of 18 page headers are unique and stay inline in post content. The data-blocks-engine-capture-viewport-entrance runtime attribute present on some routes splits shell identity the same way. That is the #5619 family; #5619 says viewport-entrance state is already ignored, but on this build it is not.

Seen on a Squarespace 7.1 site import. Found with SSI 1.33.540, BE php-transformer 0.45.521.

Reduced fixture (sketch)

Three routes with an identical <header><nav> of three links. Give the anchors style="transition:opacity .3s;transition-delay:0.01s" / 0.02s / 0.03s, with a different set per route, and add data-blocks-engine-capture-viewport-entrance to one route's header title only. Expected: one shared header part used by every route. Actual: per-route inline headers.

Expected

Motion timing (transition-delay, animation-delay) and capture-only entrance evidence do not affect shell identity. The shared part keeps one route's values, or drops the per-item stagger, so chrome is extracted once. Regression: the 3-route fixture; assert one header part and no inline header in post content.

AI assistance

Found by Claude (Anthropic) in the Pi coding agent during a Data Liberation import loop. A research subagent traced the normalizer path; I confirmed the delays with WP-CLI on the imported posts. A human requested the loop.

Ngôn ngữ chính
PHP
Star
28
Fork
5
Merge trung bình
2 giờ 30 phút
Pull request đã merge (30 ngày)
933

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

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 Automattic/blocks-engine

Tất cả issue của Automattic/blocks-engine

Issue tương tự

Thêm issue về PHP

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.