Commit Graph

85 Commits

Author SHA1 Message Date
Clément SAILLANT a7fd9dbac2 feat: integrate real KiCad GLB models into WebGL PCB scene
- ICComponent: uses qfp32.glb (large) or soic8.glb (small) with fallback to procedural
- Capacitor: uses capacitor_0805.glb with scroll-reactive glow
- Resistor: uses resistor_0603.glb
- LED: uses led_0603.glb + dynamic PointLight for glow effect
- All models preloaded via useGLTF.preload()
- Fallback to procedural geometry if GLB fails to load
- Models from KiCad 10.0 official 3D library (STEP → GLB via cascadio)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 07:54:26 +00:00
Clément SAILLANT 0a0a6fdfa9 feat: real KiCad 3D component models (GLB) for WebGL PCB
7 GLB models converted from KiCad official STEP library via cascadio/trimesh:
- resistor_0603.glb (8KB) — SMD 0603 resistor
- capacitor_0805.glb (11KB) — SMD 0805 capacitor
- inductor_0805.glb (11KB) — SMD 0805 inductor
- led_0603.glb (11KB) — SMD 0603 LED
- soic8.glb (33KB) — SOIC-8 IC package
- qfp32.glb (118KB) — LQFP-32 IC package
- pcb-bmu-v2.glb (275KB) — KXKM BMU v2 PCB with copper traces

Source: KiCad 10.0 official 3D library (/usr/share/kicad/3dmodels/)
Conversion: cascadio (OpenCASCADE) + trimesh → GLB on KXKM-AI

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 07:44:27 +00:00
Clément SAILLANT 177458fd07 feat: 50+ transition components — STM32, FPGA, ARM NPU, DSP, selfs
Transition components between each section:
- HERO→ABOUT: STM32F030 (Cortex-M0) + 8 passives + LEDs
- ABOUT→CASES: 74HC595 shift register + 2 selfs (inductors) + passives
- CASES→MEDIA: XC7A35T FPGA Artix-7 + DONE/INIT LEDs + passives
- MEDIA→SPRINTS: STM32N6 ARM Neural Unit + self + decoupling
- SPRINTS→CONTACT: TMS320F DSP C2000 + PWM/ADC LEDs + self

All with silkscreen ref designators and component values.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 07:18:54 +00:00
Clément SAILLANT e3b202cde6 fix: dimmer hero background (10% opacity) + transition components between sections
- Hero panel image opacity 0.3 → 0.1 (much more subtle)
- Added ~20 transition components between each section:
  - HERO→ABOUT: caps, resistors, LED
  - ABOUT→CASES: 74HC595 shift register + passives
  - CASES→MEDIA: resistors, cap, LED
  - MEDIA→SPRINTS: AMS1117 regulator + decoupling caps
  - SPRINTS→CONTACT: caps, resistors, LED
- At least 2 components visible between each section stop

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 07:08:18 +00:00
Clément SAILLANT c4cfd63eb6 feat: space out PCB journey — 2.4x wider component spacing
- Board expanded from 38 to 90 units depth
- All component positions, vias, branches, labels rescaled
- Zoom stops recalibrated for wider travel
- Substrate expanded (35x110)
- More breathing room between sections
- Camera Z range updated to match

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 06:52:44 +00:00
Clément SAILLANT 582fee2e44 feat: silkscreen labels + zoom camera stops on PCB components
- Silkscreen text on all components (ref designators, values, section labels)
- SectionLabel component: glows when camera approaches (scroll proximity)
- Camera zoom stops: 8 waypoints, smooth interpolation between components
- FOV transitions (50→40→42 etc.) for cinematic zoom effect
- smoothstep easing between stops
- Mouse parallax on camera position and lookAt
- Board markings: "L'ELECTRON RARE REV 2026.1", "Made in France"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 23:50:35 +00:00
Clément SAILLANT 16341a9889 feat: PCB journey — 3D components + trace current + contact popup
WebGL Background:
- Camera follows copper trace path (CatmullRom curve) on scroll
- Green PCB substrate with solder mask grid
- Main copper trace tube + 10 secondary branch traces
- 15 vias (metallic rings with holes)
- Current flow: 60 cyan + 30 amber particles along traces
- 200 ambient dust particles

3D Electronic Components:
- IC/MCU (ESP32, LM358, IRFZ44, LM7805) with pins + silkscreen
- Capacitors (cylinders, electrolytic + ceramic)
- Resistors (SMD rectangles with solder pads)
- LEDs (glowing domes, intensity = scroll proximity)
- USB-C connector

Section mapping on PCB:
- Hero = ESP32 MCU area
- About = Op-amp + passives
- Cases = Power MOSFET stage
- Media = USB connector
- Sprints = Voltage regulator
- Contact = Energy storage capacitors

Contact 3D popup:
- Hidden by default, opens on #contact click or scroll >95%
- 3D perspective entry (rotateY -15deg → 0)
- Glassmorphism backdrop blur
- Close via backdrop click, X button, or Escape

CSS:
- Orbital card entry animations (left/right alternating)
- Atomic carousel with electron dot hover
- Dark tech design tokens

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 23:36:13 +00:00
Clément SAILLANT 96f4ca0f4e feat: 3D scroll tilt cards + atomic carousel for photos/videos
- Cards: perspective 3D enter animation (rotateX/Y from blur)
- Scroll tilt: cards subtly rotate based on viewport position
- Atomic carousel: orbital scroll container with electron dot animation on hover
- Navigation arrows with glow + orbital track indicator
- Video hover autoplay in carousel items
- Lightbox: click any photo/video for full-view with energy rings
- Carousel items: 3D perspective rotateY(-3deg) on hover + glow border

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 22:55:44 +00:00
Clément SAILLANT dab02bdfb8 feat: full dark tech WebGL refonte — atomic scroll cards + media lightbox
- WebGLBackground: fixed subtle atom + particles (dimmed, camera z=14)
- WebGLCards: scroll-triggered tile materialize with particle burst
- MediaLightbox: click photos/videos for full-view with orbital energy rings
- Dark design tokens in global.css (.dark-site variant)
- Glassmorphism cards, glow borders, staggered reveals
- Photo/video hover glow effects
- Each section wrapped in webgl-section for atomic reveal
- Each content block in webgl-card with per-section accent color
- Respects prefers-reduced-motion

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 22:36:08 +00:00
Clément SAILLANT 9b0cdd4dea feat: add WebGL atom background to preview Hero section
- AtomGlitch component integrated as Hero background (25% opacity)
- Respects prefers-reduced-motion
- Preview page now matches post-launch index.astro layout

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 21:58:04 +00:00
Clément SAILLANT acab730922 feat(seo): SOTA 2026 AI-ready SEO overhaul
- Schema.org: FAQPage, OfferCatalog, Occupation, EducationalOccupationalCredential, SearchAction, ContactPoint
- E-E-A-T signals: author, credentials (BTS SN), memberOf (KXKM), hasOccupation, priceRange
- AI crawling: llms.txt (llmstxt.org standard), robots.txt with GPTBot/Claude-Web/PerplexityBot/Google-Extended
- Meta: ai-content-declaration=human-created, generator-assisted, speakable, keywords, geo.region
- Auto date-switch: countdown (before May 1) / full site (after May 1) with Hero WebGL background
- Theme color updated to brand cyan #5bd1d8

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 21:49:04 +00:00
Clément SAILLANT d5f1ce84b4 feat: WebGL cinematic countdown — 3D atom with circular orbital text
- Three.js + React Three Fiber + postprocessing (bloom, chromatic aberration, glitch, scanlines)
- Nucleus with pulsing energy core, wireframe icosahedron shell
- 3 electron orbits with trail particles + energy arcs
- 600 particle cloud with organic movement
- Circular orbital text: title, countdown timer, subtitle curved on 3D rings
- Mouse interactions: camera parallax, atom speed boost, nucleus glow on proximity
- Camera smooth lerp follow with gentle auto-drift
- Font fix: woff2 → ttf for troika-three-text compatibility
- Logo: static mark instead of missing sprite frames

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 17:32:38 +00:00
Clément SAILLANT 666f05bf59 ci: harden monthly report branch-protection check 2026-03-28 14:12:56 +01:00
Clément SAILLANT fd9af8c2ba ci: add monthly cross-stack report workflow 2026-03-28 14:10:06 +01:00
L'électron rare 41389a88b7 feat: add CI E2E workflow with ntfy alerts
- Self-hosted runner on Tower
- Playwright E2E 23 tests
- ntfy notifications on pass/fail
- Runs on push to main + PRs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 22:38:11 +01:00
L'électron rare d97db3d918 fix: deploy workflow Photon -> Tower
- SCP + restart on Tower instead of unreachable Photon
- Node SSR container with mascarade-frontend network
- Requires TOWER_HOST, TOWER_USER, TOWER_SSH_KEY secrets

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 20:31:41 +01:00
L'électron rare dfee9a58d7 fix: enrich ops health display + API contracts + auth prep
- Health: parse agents count + providers from /health
- API contracts documented in script header
- Auth Bearer header prepared (token from data-attr/meta)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 12:34:30 +01:00
Clément SAILLANT 389b5ca6cd refactor: countdown + ops Apple SOTA 2026
- index.astro: white bg, Manrope font, Apple blue accent,
  clean timer (light weight, tabular-nums), gentle-float logo,
  fade-in stagger, no retro/glitch effects
- ops.astro: max-width 1200px (aligned with content grid),
  fluid padding clamp()

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 06:40:17 +01:00
Clément SAILLANT 193f2cc67d refactor: Apple SOTA 2026 design system
- Rewrite global.css: CSS Grid named columns layout (full-bleed sections
  with centered content), Apple color tokens, glassmorphism nav,
  fluid typography clamp(), generous whitespace
- Remove home-workbench.css v12 variant overrides (all in global.css)
- Contact.astro: clean labels, no terminal/minitel aesthetic
- ops.astro: Apple-style segmented tabs, cards, KPIs, agent grid
- Uniform responsive: all panels full-bleed with 1200px centered content
- Override Tailwind p-5/p-6/rounded-2xl/mt-* on circuit-board panels
- Alternate section backgrounds (bg-secondary / surface)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 06:25:26 +01:00
Clément SAILLANT 6a1c2f7383 refactor: ops IA-native 3 vues (547 lignes vs 1381) 2026-03-21 15:38:52 +01:00
Clément SAILLANT 857f69b9db feat: ops tasks from Frappe DB + CRUD + AI execute 2026-03-21 09:24:05 +01:00
Clément SAILLANT 60bd17bd1b feat: catalogue 14 formations (initiation, créatif, pro, enfants) 2026-03-20 22:55:02 +01:00
Clément SAILLANT 9085533265 fix: location Beaujolais/Lyon (not Marseille) 2026-03-20 18:38:34 +01:00
Clément SAILLANT e14c59d708 feat: ops with full collab tools integration 2026-03-20 17:15:09 +01:00
Clément SAILLANT 5ad9be9582 feat: ops with business plan + marketing + KPIs 2026-03-20 16:43:41 +01:00
Clément SAILLANT 7d49213fbb perf: optimize images + robots noindex 2026-03-20 16:05:12 +01:00
Clément SAILLANT 874224fdbb perf: optimize images + robots noindex 2026-03-20 16:05:11 +01:00
Clément SAILLANT 418cc06c17 feat: ops page synced with plan execution avril 2026-03-20 14:59:36 +01:00
Clément SAILLANT 3fcf089e92 feat: update robots.txt.ts 2026-03-20 14:53:51 +01:00
Clément SAILLANT 285d8e71a0 feat: update ops.astro 2026-03-20 14:53:49 +01:00
Clément SAILLANT 9e7a54c716 feat: update intranet.astro 2026-03-20 14:53:48 +01:00
Clément SAILLANT 4420f18eb0 feat: update portfolio.astro 2026-03-20 14:53:47 +01:00
Clément SAILLANT eb7de7f44d feat: update index.astro 2026-03-20 14:53:45 +01:00
Clément SAILLANT 1a07d17230 feat: countdown with new logo + hero-bg + aria-live 2026-03-20 08:54:54 +01:00
Clément SAILLANT 5b505b04f1 feat: update Contact.astro 2026-03-20 00:12:05 +01:00
Clément SAILLANT 6ed434c44d feat: update intranet.astro 2026-03-20 00:12:04 +01:00
Clément SAILLANT bada31c775 feat: update portfolio.astro 2026-03-20 00:12:03 +01:00
Clément SAILLANT 8ca257f4dd feat: update countdown.astro 2026-03-20 00:12:02 +01:00
Clément SAILLANT a5d9d2abe8 feat: update 404.astro 2026-03-20 00:12:01 +01:00
Clément SAILLANT 4139dea802 feat: update preview.astro 2026-03-20 00:12:01 +01:00
Clément SAILLANT b121cad8f2 feat: update index.astro 2026-03-20 00:12:00 +01:00
Clément SAILLANT e793f38bd3 feat: standalone countdown page 2026-03-19 22:07:34 +01:00
Clément SAILLANT bf487437a0 feat: quantum 404 page 2026-03-19 22:07:33 +01:00
Clément SAILLANT 3276adb866 feat: countdown homepage for pre-launch 2026-03-19 22:07:32 +01:00
Clément SAILLANT 3b7ad132c8 feat: add preview page with full site 2026-03-19 22:07:18 +01:00
Clément SAILLANT b699ff14a3 feat: contact form CRM only, remove mailto/LinkedIn tabs 2026-03-19 22:06:40 +01:00
Electron Rare Bot 3f677718c6 ci: replace OVH FTP deploy with Cloudflare tunnel deploy via Photon 2026-03-19 16:21:44 +00:00
Electron Rare Bot fd9026519c chore: restore lead integration docs and ops tooling 2026-03-19 14:37:45 +00:00
Clément SAILLANT afc8d51fb5 feat(site): route contact form to crm direct 2026-03-15 15:28:24 +00:00
Clément SAILLANT ea5864b791 docs: sync hero rollout context 2026-03-15 00:41:11 +00:00