furtka/website/assets/js/vendor/PROVENANCE.md

20 lines
1 KiB
Markdown
Raw Normal View History

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
# 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.