The theme was renamed Zibll/子比 → AKSRT → Jio, but upstream branding survived the sweeps in CSS classes, the SVG sprite prefix, a persisted widget field ID, JS events, admin Vue class names, test infrastructure and docblocks. Renames: - zib-widget / zib-widget-wrap / zib-slider → jio-widget-box / jio-widget-box-wrap / jio-slider-box (jio-widget is taken by the modern widget shell, jio-box-* by the card primitives) - zib-partners-scroll + zps-* → jio-partners-scroll + jps-* - zib-combo-info-card + zci-* → jio-combo-info-card + jci-* - zibsvg- → jiosvg-, including the exported picker helpers and the fa-zibsvg- family-prefix guard - zibpay_type → pay_type; the dual-read fallback in PostQuery collapses to a single key - [zibajax="submit"] dropped (no PHP emitter); zib_ajax.success → jio_ajax.success - aks-* admin Vue classes → jio-* - zib_palette() → palette() User-facing vendor traces are gone: the floating "more" button default no longer ships a zibll.com link or 子比主题 marketing copy, the notice widget ships no preset promo entries, and the four 官网教程 links are removed from the post-list admin schema. Test infrastructure renamed to neutral names (docker-compose.reference.yml, Caddyfile, article-baseline.json, modern-widgets-contract.test.cjs) with their DB/volume/env/slug identifiers following. Kept intentionally, documented in tests/fixtures/README.md: the golden fixture reference fingerprint (a SHA-256 record of an external directory, read by validate-widget-golden / generate-widget-golden-fixture / audit-widget-system), the doesNotMatch guards that prove the old tokens are gone, and the reference theme's own meta key in the visual fixtures. No backward-compat or data migration: saved widget configs holding old icon keys or the old field ID silently lose them, per the project's rewrite-over-compatibility rule. Verified: 132/132 node contract tests, php tests/widget-system/run.php (146 assertions), audit-admin-contracts, audit-psr4-paths and validate-widget-golden all green; tracked bundles regenerated and in sync. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2.5 KiB
Jio / reference visual comparison
The reference stack is isolated from the Jio site and exposes the reference theme at https://localhost:9443. The local reference source remains read-only.
$env:REFERENCE_THEME_PATH='C:\Users\Xing\Desktop\zibll'
docker compose -f tests/visual/docker-compose.reference.yml up -d
docker compose -f tests/visual/docker-compose.reference.yml run --rm wp core install --url=https://localhost:9443 --title='Reference' --admin_user=visual_admin --admin_password='Jio-Visual-2026!' --admin_email=visual@example.test --skip-email
docker compose -f tests/visual/docker-compose.reference.yml run --rm wp theme activate reference
docker compose -f tests/visual/docker-compose.reference.yml run --rm wp eval-file /visual-fixtures/article-fixtures.php create
Run the same theme-neutral article generator inside the Jio WordPress
container. Mount tests/visual/ read-only at /visual-fixtures in that stack:
wp eval-file /visual-fixtures/article-fixtures.php create
wp eval-file /visual-fixtures/article-fixtures.php cleanup
The shared generator creates the same authors, category, tag, dates, images, featured/no-image/multi-image/first-image/external-cover posts, slide and video metadata, pay/VIP states, sticky state, and interaction counters in both sites. Fixture-only metadata is written together so the rendered business state is identical without adding compatibility code to either theme.
Use tests/visual/article-visual-matrix-v1.json for the article-only captures.
Every reference/candidate pair must record the screenshot, DOM, computed styles,
bounding boxes, console messages, and failed network requests. The matrix pins
1440, 1024, 768, 767, 641, 640, and 390 widths across light/dark,
sidebar/no-sidebar, list/card modes, media states, and all pagination states.
The acceptance gate is at most 1 CSS px geometry delta and 1.5% pixel difference, with no visible mismatch, console error, unexpected failed request, or critical/serious accessibility issue.
Clean the reference fixture before removing its volumes:
docker compose -f tests/visual/docker-compose.reference.yml run --rm wp eval-file /visual-fixtures/article-fixtures.php cleanup
docker compose -f tests/visual/docker-compose.reference.yml down -v
The older tools/wp-cli-visual-fixtures.php, widget golden file, and broad page
matrix remain dedicated to non-article component regression tests and are not
the truth source for this replacement.