Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/codeql-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: Creative Launch Workspace CodeQL configuration

paths-ignore:
- docs/assets/launch-control-motion.js
- docs/assets/launch-control-chunks/**
- frontend/generated/**
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,5 @@ jobs:
QA_ASSETS_DIR: /tmp/creative-launch-workspace/assets
QA_EVIDENCE_DIR: /tmp/creative-launch-workspace/evidence
run: npm run qa:frontend
- name: Check committed landing bundles are current
run: git diff --exit-code -- frontend/generated docs/assets/launch-control-motion.js docs/assets/launch-control-motion.css docs/assets/launch-control-chunks
1 change: 1 addition & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ jobs:
with:
languages: ${{ matrix.language }}
build-mode: none
config-file: ./.github/codeql-config.yml
- uses: github/codeql-action/analyze@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
with:
category: "/language:${{ matrix.language }}"
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 4.0.0 — 2026-07-15

- Removed the unrelated industrial raster, its preload and every generated format from the landing and social preview.
- Added a real Astryx 0.1.6 React island with pinned dependencies, a compiled Launch Control theme and accessible Card, Badge, ProgressBar, StatusDot and Button primitives.
- Implemented the requested Three.js r128 faceted mesh as a semantic decision token moving through Detect, Route and Prove before stopping on the receipt.
- Added reduced-motion, save-data and WebGL fallbacks, viewport and tab pausing, deterministic replay controls and strict gzip budgets.
- Rebuilt the social card around the product decision trace and expanded browser contracts for the new motion surface.

## 3.0.0 — 2026-07-15

- Rebuilt the canonical product landing from a blank visual system with a neutral depth shell, Inter, restrained Instrument Serif accents, charcoal controls and one industrial-orange brand color.
Expand Down
8 changes: 5 additions & 3 deletions DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Launch Control is a B2B pre-launch QA product for Meta Ads. It must read as a re

The direction is Industrial AI Elegance, combining Apple-like hierarchy and material restraint with Linear-like product proof. The signature is the orange route from Detect to Route to Prove. The page never uses portfolio, personal-project or case-study framing.

The hero may use one abstract orange control sculpture as a secondary brand object on desktop. The native Queue, Review and Receipt interface is always the primary proof. The sculpture disappears on mobile so useful product state reaches the first viewport.
The hero demonstrates a recorded decision trace from Detect to Route to Prove. Astryx provides the accessible product controls and Three.js r128 renders a faceted orange decision token that moves once through the workflow and stops. No generated raster or decorative product sculpture is allowed.

## Foundations

Expand Down Expand Up @@ -68,12 +68,14 @@ Tabs use WAI-ARIA semantics, arrow-key navigation and a Transitions.dev sliding
## Motion

- Hero rise: 620ms with 60ms stagger.
- Recorded trace: 6600ms from Detect to Route to Prove, then a complete stop.
- Three.js token: `IcosahedronGeometry(3, 0)`, orange `#E34A32`, flat-shaded metal material, DPR capped at 1.5.
- Tab pill: 250ms cubic-bezier(.22,1,.36,1).
- Inspector entrance: 280ms, 12px horizontal travel.
- Receipt timeline: 260ms with 60ms stagger.
- Button press: scale .98 for 100ms.

No `transition: all`, ease-in entrance, autoplay carousel, permanent drift or decorative parallax. Reduced-motion mode removes translation and variable-weight behavior while keeping all content visible.
No `transition: all`, ease-in entrance, autoplay carousel, permanent drift or decorative parallax. Reduced-motion mode renders the final receipt in one static WebGL frame and runs no RAF loop.

## Content and conversion

Expand All @@ -92,7 +94,7 @@ Synthetic counts must always be labeled as a current synthetic run. Never add fa
- No horizontal overflow at 320px or 200% text zoom.
- Keyboard tabs and visible focus.
- Reduced motion, reduced transparency and increased contrast modes.
- Responsive AVIF and WebP for the brand sculpture. PNG is fallback only.
- No hero raster. Astryx and Three.js bundles are self-hosted, split and gzip-budgeted.
- Target Lighthouse: 90+ performance and 100 accessibility.

## No-go rules
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ Validate approvals, placements, destinations, naming and UTMs across every creat

**Mathieu Petroni** designed and built the review workflow, AI orchestration, evaluations, trust boundaries, deterministic validators and responsive interface.

[![Launch Control product](docs/assets/social-card-v3.png)](https://mattyu-dev.github.io/creative-launch-workspace/)
[![Launch Control product](docs/assets/social-card-v4.png)](https://mattyu-dev.github.io/creative-launch-workspace/)

The V3 public product is a from-scratch Apple and Linear inspired system built with Inter, Instrument Serif accents, a neutral depth shell, charcoal controls and one industrial-orange action color. Queue, Review and Receipt are native interactive states, not screenshots. The only raster image is a new abstract brand sculpture served as AVIF or WebP; it never replaces product proof.
The V4 public product is an Apple and Linear inspired system built with Inter, restrained Instrument Serif accents, a neutral depth shell, charcoal controls and one operational orange. The hero uses a real Astryx React island and an on-demand Three.js r128 decision trace; Queue, Review and Receipt remain native interactive states rather than screenshots.

## Why this exists

Expand Down
Binary file modified docs/assets/fix-lab.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/guided-receipt-mobile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/guided-receipt-mobile.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/guided-review-mobile-step-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/guided-review-step-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/assets/launch-control-chunks/Tooltip-2W65UMVO.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"use client";import{y as a}from"./chunk-Z74MQLWI.js";import"./chunk-FJBRNDM2.js";export{a as Tooltip};
1 change: 1 addition & 0 deletions docs/assets/launch-control-chunks/chunk-FJBRNDM2.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions docs/assets/launch-control-chunks/chunk-Z74MQLWI.js

Large diffs are not rendered by default.

2,832 changes: 2,832 additions & 0 deletions docs/assets/launch-control-chunks/hero-mesh-6FYDFJN6.js

Large diffs are not rendered by default.

Binary file removed docs/assets/launch-control-core-v3.avif
Binary file not shown.
Binary file removed docs/assets/launch-control-core-v3.png
Binary file not shown.
Binary file removed docs/assets/launch-control-core-v3.webp
Binary file not shown.
1 change: 1 addition & 0 deletions docs/assets/launch-control-motion.css

Large diffs are not rendered by default.

Loading