Files
AsterionWP2026/wp-content/themes/asterion-bricks
j.foucher 026be81373 chore: session 2 snapshot — archive before Bricks-first restart
Snapshots the project at the end of session 2, just before resetting to a
Bricks-first orthodox architecture. RESTART-PLAN.md at the root explains
why this approach is being abandoned and what the next session will look like.

Why we restart
- Three architectures got stacked: Custom PHP Templates → Gutenberg blocks
  in post_content → Bricks data in post meta. Each layer fights the next.
- Bricks Builder UI does not load because our header.php / footer.php /
  page.php emit chrome that conflicts with Bricks' own template-parts.
- CSS overrides multiplied (Gutenberg + Bricks variants) and still don't
  pixel-match the original PHP-rendered visual.
- 8+ one-shot mu-plugins live in LocalWP to patch over inconsistencies.

What survives the restart (preserved here on main)
- BRIEF, both PDFs, .txt extracts (sources of truth)
- assets/css/tokens.css (full design system, untouched)
- assets/fonts/Inter-Variable*.woff2 (RGPD self-hosted)
- inc/<section>-data.php files (text copy from PDF strategie, will become
  /content-source/ on next session for reuse as translation dictionary
  and as input to programmatic page generation)
- The Git repo, remote, branch main
- LocalWP site, Bricks v2.3.4, WPML 4.9.3 with active licenses
- WPML EN + FR setup with directory URL strategy

What gets wiped at the start of next session
- wp-content/themes/asterion-bricks/header.php / footer.php / page.php /
  index.php / front-page.php / template-parts/ / templates/
- inc/render-blocks.php, inc/render-blocks-native.php, inc/render-bricks.php
- inc/shortcodes.php, inc/i18n.php, inc/form-handler.php
- 35+ WP pages created over the session
- All one-shot mu-plugins in LocalWP/wp-content/mu-plugins/

Restart approach (detailed in RESTART-PLAN.md)
- Minimalist child theme: style.css, functions.php, theme.json, tokens.css,
  trimmed utilities.css, fonts, inc/cpt.php — that's it.
- No header.php / footer.php / page.php in child theme — Bricks Templates
  (Header / Footer / Single — Page) take over via Bricks' Conditions.
- User builds 5-7 archetype Bricks templates visually (~1-2h each) then
  programmatic generation fills the variants from inc/*-data.php sources.
- WPML duplication after EN is validated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 14:30:51 +02:00
..

Asterion Bricks — Child theme

Custom WordPress child theme for asterionvr.com, built on top of Bricks Builder. Tactical-cinematic design system for the PROSERVE XR training platform.

Structure

asterion-bricks/
├── style.css            # WP theme metadata only (CSS lives in assets/css/)
├── functions.php        # enqueues, theme support, includes
├── theme.json           # Gutenberg color/typo palette
├── assets/
│   ├── css/
│   │   ├── tokens.css       # design tokens — source of truth
│   │   ├── utilities.css    # CSS reset + utility classes (.av-container, etc.)
│   │   └── components.css   # component styles (buttons, cards, header, footer…)
│   ├── js/
│   │   └── main.js          # vanilla JS, defer-loaded
│   ├── fonts/               # self-hosted Inter (RGPD)
│   └── img/                 # static visuals
├── templates/               # Bricks template JSON exports (versioned)
└── inc/
    ├── cpt.php              # custom post types: case_study, scenario
    └── seo.php              # Schema.org JSON-LD overrides

Conventions

  • CSS prefix : av- (asterion-vr) on every custom selector to avoid collision with Bricks classes.
  • BEM-light naming : .av-card, .av-card--feature, .av-card__icon, .av-card.is-loading.
  • Zero hardcoded values — every color, spacing, radius and duration goes through tokens.css.
  • JS : vanilla, defer-loaded, prefer IntersectionObserver over scroll listeners.
  • A11y : keyboard reachable, :focus-visible outline, ARIA where needed, contrast ≥ 4.5:1, prefers-reduced-motion respected.

Activation

  1. Ensure Bricks parent is installed at wp-content/themes/bricks/.
  2. WP Admin → Appearance → Themes → activate Asterion Bricks.

Performance budget (per BRIEF section 9)

Asset Budget
HTML initial < 100 KB gzipped
CSS total < 50 KB gzipped
JS initial < 200 KB gzipped
Hero video < 2 MB
Hero poster < 150 KB
LCP / CLS / TBT < 2.5s / < 0.1 / < 200ms

License

GPL v2 or later. Same as WordPress core.