Skip to content

Preserve responsive media overrides when carrying inline geometry #1075

Description

@chubes4

Problem

HTML-to-block conversion promotes source inline geometry such as min-height into generated carrier CSS with !important. This can defeat a preserved authored media-query override such as min-height:0, so responsive section heights regress after conversion even when the static artifact is correct.

Fisiostetic evidence at 1440px:

  • Static artifact document height: 6091px.
  • Materialized WordPress document height: 6976px.
  • Preserved figma-node-* nodes match; excess height is concentrated in section carriers.
  • StyleResolutionTrait::inlineGeometryClassName() emits non-layout geometry in the important tier, including min-height, while authored responsive rules remain non-important.

Owning contract

Inline declarations own the base cascade, but a source-authored responsive rule that supersedes that declaration at a matching viewport must continue to win after conversion. Geometry carriers need viewport-aware priority rather than unconditional dominance.

Acceptance

  • Base inline min-height remains effective outside matching media queries.
  • A preserved source media rule can override it inside its viewport.
  • ID-selector and ordinary author-rule precedence remains preserved outside responsive overrides.
  • Generated block markup remains parser-valid and Gutenberg-valid.
  • Add a high-signal conversion fixture proving computed responsive geometry, not only stylesheet shape.
  • Fisiostetic static and WordPress section heights converge at 1440px.

AI assistance

OpenAI GPT-5.6 Sol via OpenCode compared the static and materialized output, traced the geometry carrier cascade, and helped formulate the acceptance contract. Chris Huber remains responsible for the resulting change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions