Commit Graph
2 Commits
Author SHA1 Message Date
tbenandClaude Opus 5.5 c3514d2607 Add logo loading screen gated on animation readiness
- Full-screen loader whose only content is the logo animating: the "B"
  draws in and fills, the base facets trace in, then a wave runs along
  them until the page is ready (pure CSS, plays before JS)
- Loader gate holds the loader until GSAP + fonts and every 3D scene's
  first frame are ready, then waits 1s (min 1.4s total) before leaving;
  hard 8s limit, head-script fallback if JS never boots
- Scroll reveals, SplitText and scene entry animations start only once
  the loader leaves, so above-the-fold entries play in view
- Internal links fade the loader back in before navigating, so page
  changes are one seamless dark transition
- No loader for no-JS or reduced-motion visitors

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 07:17:54 +01:00
tbenandClaude Opus 5.5 6e7219d30b Replace vendored twui library with @moduletrace/twui package
- Import all twui layout/elements components and base.css from the
  @moduletrace/twui package instead of src/components/lib
- Move the site's own motion and three modules out of the old lib
  folder into src/components/motion and src/components/three
- Delete the vendored src/components/lib folder and its tsconfig excludes
- Type BlogPostsListCard's post prop with the DB blog post type,
  fixing the type error in BlogPostsList

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 12:30:16 +01:00