Automattic / Automattic/blocks-engine

Preserve structured enterprise mega navigation

Open
#1,398 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
14
Forks
2
Avg merge
2h 10m
Merged PRs (30d)
561

Description

## Problem

The post-#1396 signal for `28-enterprise-b2b` shows that the source desktop mega navigation exceeds the structure represented by core Navigation.

The source contains:

- mega-panel wrappers;
- a four-column grid;
- column headings;
- rich per-link descriptions;
- a featured region;
- desktop hover/focus behavior plus a separate mobile details navigation.

Blocks Engine currently emits a valid canonical `core/navigation` tree with all destinations and rich link labels, but `core/navigation-submenu` flattens the mega panel into one list. The panel, grid, columns, and headings are absent from the block tree.

## Current evidence

After dynamic navigation is represented by the static proxy:

```
score 0.7398
coverage 0.8104
matched 420 / 670
desktop presence 120
```

The signal also reports repeated caret and rich-description color/typography deltas. The generated rich-label markers and CSS are present, so those deltas must be checked against a real WordPress/browser render before changing projection code.

## Plan

1. Import `28-enterprise-b2b` into a disposable WordPress runtime using the current Static Site Importer and Blocks Engine candidates.
2. Capture the rendered desktop navigation and compare the caret/description computed styles with source.
3. Separate browser-confirmed projection defects from static-signal limitations.
4. Implement a structured companion mega-navigation block for source structure core Navigation cannot represent.
5. Preserve editability, URLs, labels, responsive behavior, and exact source geometry without falling back to opaque `core/html`.

## Acceptance

- Evidence identifies which rich-label deltas reproduce in the browser.
- The mega panel retains its authored grid, headings, descriptions, and featured region.
- Desktop and mobile behavior remain editable and deterministic.
- No `core/html` fallback is introduced.
- WordPress block validity, static parity, browser parity, packaging, and solved-site promotion gates pass.

---

*AI assistance disclosure: OpenAI GPT-5.6 Sol via OpenCode used the corrected static-parity signal to separate canonical navigation preservation from missing mega-menu structure, inspected the generated rich-label markers and WordPress core rendering contracts, searched for existing tracking, and drafted this evidence-first companion-block plan. Chris Huber directed the work and remains responsible for the issue.*

Contributor guide

Open the contributing guide

Research direction

Start by importing 28-enterprise-b2b into a disposable WordPress runtime with the current Static Site Importer and Blocks Engine candidates. Capture desktop navigation, compare caret and rich-description computed styles with the source, and separate browser-confirmed defects from static-signal limitations. Done means the authored grid, headings, descriptions, featured region, responsive behavior, editability, URLs, and labels are preserved without core/html, with all listed validity, parity, packaging, and promotion gates passing.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, wordpress
Domain
frontend, tooling, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.