Skip to content

Preserve SaaS card text wrapper geometry#535

Merged
chubes4 merged 1 commit into
trunkfrom
cook/saas-geometry-fidelity
Jul 6, 2026
Merged

Preserve SaaS card text wrapper geometry#535
chubes4 merged 1 commit into
trunkfrom
cook/saas-geometry-fidelity

Conversation

@chubes4

@chubes4 chubes4 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Preserve class-owned SaaS/card text micro-wrappers as core/group wrappers instead of flattening them into paragraphs when their classes carry visual geometry semantics like badges, tags, prices, results, labels, names, and captions.
  • Preserve max-width through the existing dimensions support mapper/serializer alongside min-height.
  • Add PHP regression coverage for section/card max-width geometry and SaaS-style section/card label wrappers.

Root cause

SaaS sections and cards kept their outer grid/card classes, but text-only inner wrappers such as .tag, .tier-name, .tier-price, .use-case-result, and .featured-badge were flattened into paragraph/text shapes. The source CSS targets those wrapper classes for display, gap, padding, border radius, and card label geometry, so the transformed DOM lost selector addressability and produced high restyle_geometry / position_offset symptoms. Inline max-width was also not mapped through dimensions support, so section/card width constraints could be dropped when not class-owned.

Metrics

Static parity from php tools/static-parity/run.php --fixture <fixture> --top 1:

Fixture Baseline This PR Delta
15-saas score 0.7446 0.7968 +0.0522
15-saas prop-par 0.9435 0.9863 +0.0428
15-saas coverage 0.7893 0.8079 +0.0186
15-saas findings 150 107 -43
2-onepager-coffee score 0.7229 0.7229 0
3-artist-music score 0.7583 0.7995 +0.0412
31-personal-cv-academic score 0.9611 0.9611 0

Tests

  • php tests/unit/block-style-support-conversion.php
  • php tests/contract/run.php
  • php tests/parity/run.php
  • php tools/static-parity/run.php --fixture 15-saas --top 1
  • php tools/static-parity/run.php --fixture 2-onepager-coffee --top 1
  • php tools/static-parity/run.php --fixture 3-artist-music --top 1
  • php tools/static-parity/run.php --fixture 31-personal-cv-academic --top 1

Remaining SaaS Geometry Map

  • Still high: SVG/map mockup elements are materialized differently, leaving many unmatched source SVG/text/g nodes.
  • Still high: navigation/button anchors are intentionally out of scope for this pass.
  • Remaining section/card issues: hover-state border-color/style deltas on integration/use-case/pricing cards; some inline text wrappers inside SVG-adjacent/product-sidebar areas still unmatched.
  • Improved: section/card micro-wrapper geometry for badges/tags/labels/prices/results and max-width constraints.

AI assistance

  • AI assistance: Yes
  • Tool(s): openai/gpt-5.5 via OpenCode
  • Used for: Investigated SaaS static parity findings, implemented the PHP-only geometry preservation change, added regression tests, and ran verification/metric comparisons.

@chubes4 chubes4 merged commit 1b5da26 into trunk Jul 6, 2026
1 check passed
@chubes4 chubes4 deleted the cook/saas-geometry-fidelity branch July 6, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant