Files
AsterionWP2026/wp-content/themes/asterion-bricks
j.foucher eb4a13ec0f feat(industries): build 5-page Industries section
Implements the Industries hub + 4 detail pages (Police, Special Forces,
Military, Firefighters) following the same data + partial + custom
template pattern as Solutions.

- inc/industries-data.php: 4 industries keyed by slug, copy verbatim
  from PDF Strategie & Contenu D.7-D.10.
- template-parts/industry-detail.php: hero + section iterator + shared
  conversion banner. Hero differs from Solution's: eyebrow + tagline-as-H1
  (no trademark concat), no upsell block.
- templates/page-industry-detail.php: Custom Template assigned to the
  4 child pages, looks up slug in industries-data.
- templates/page-industries-overview.php: Hub /industries/ with 4 cards.

5 pages seeded by one-shot mu-plugin (asterion-seed-industries.php in
LocalWP) and verified HTTP 200:
  /industries/                  55 KB
  /industries/police/           63 KB
  /industries/special-forces/   62 KB
  /industries/military/         60 KB
  /industries/firefighters/     60 KB

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 12:27:25 +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.