furtka/website/assets/js/vendor/PROVENANCE.md
Daniel Maksymilian Syrnicki aa7dea0528
Some checks failed
CI / lint (push) Successful in 1m24s
CI / test (push) Successful in 2m24s
CI / validate-json (push) Successful in 57s
CI / markdown-links (push) Successful in 29s
Deploy site / deploy (push) Successful in 7s
Build ISO / build-iso (push) Failing after 14m59s
feat(site): pimp homepage with animated 3D background and scroll reveals
Adopts the visual feel of Pascal's prototype while keeping Furtka's
voice, brand palette, and bilingual structure intact.

What changed
- Three.js wireframe torus-knot behind the hero, color/opacity tied
  to the existing --accent / --scene-opacity CSS vars so light and
  dark modes both work without a scene re-init.
- Scroll-driven camera zoom + core scale + tilt; canvas opacity fades
  past hero so feature cards stay readable.
- GSAP + ScrollTrigger reveal hero on load and stagger feature cards
  in as they enter the viewport. Lenis smooths scroll.
- "What works today" / "What's coming next" lists move from markdown
  bullets into front-matter arrays and render as scroll-reveal cards
  (7 + 4 cards, EN/DE parallel; copy is 1:1 from the original lists).
- Hero scaled up: gradient text on the wordmark (fg → accent),
  drop-shadow glow in dark mode, brighter lede color.
- Primary CTA -> /releases listing on Forgejo (Forgejo has no
  /releases/latest), with a pulsing glow + arrow slide on hover.
- Version bump 26.8-alpha -> 26.15-alpha to match the actual release.

Performance / a11y
- Vendor JS (Three.js r128, GSAP 3.12.2 + ScrollTrigger, Lenis 1.0.33)
  vendored locally under assets/js/vendor/ - no third-party CDN at
  runtime. ~728 KB total, fingerprinted via Hugo's pipeline with SRI.
- Canvas + scripts gated to homepage only ({{ if .IsHome }}); the
  Impressum/Datenschutz pages stay plain.
- prefers-reduced-motion: scene + GSAP early-return, CSS forces cards
  to their resting state. No-JS users see all content.
- All scripts deferred so first paint isn't blocked.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 16:14:21 +02:00

1 KiB

Vendored JavaScript libraries

These minified bundles are checked into the repo so furtka.org has zero third-party-CDN dependencies at runtime. Pin date: 2026-04-27.

File Version Source
three.min.js r128 https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js
gsap.min.js 3.12.2 (core only) https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js
ScrollTrigger.min.js 3.12.2 https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/ScrollTrigger.min.js
lenis.min.js @studio-freight/lenis 1.0.33 https://unpkg.com/@studio-freight/lenis@1.0.33/dist/lenis.min.js

All four expose UMD globals (THREE, gsap, ScrollTrigger, Lenis). None are ES modules, so no js.Build step is needed — Hugo just fingerprints them.

GSAP "Club" plugins (SplitText, MorphSVG, etc.) are not free for commercial use. Only gsap core + ScrollTrigger (both standard MIT-style license) are bundled.

To refresh: re-run curl -sSfL -o <file> <url> and bump the pin date here.