feat: enhance new website experiment motion
This commit is contained in:
@@ -13,7 +13,7 @@ describe('website /new experimental page', () => {
|
||||
const routes = read('src/routes/mod.rs');
|
||||
|
||||
expect(page).toContain('export default function NewWebsiteExperiment()');
|
||||
expect(page).toContain('<AcidThreeField />');
|
||||
expect(page).toContain('<AcidExperience />');
|
||||
expect(page).toContain('BoosAPI');
|
||||
expect(page).toContain('acid control plane');
|
||||
expect(page).toContain('href="/"');
|
||||
@@ -26,18 +26,30 @@ describe('website /new experimental page', () => {
|
||||
});
|
||||
|
||||
it('uses Three.js as a client-only lightweight background with mobile and reduced-motion fallback', () => {
|
||||
const source = read('website/app/new/AcidThreeField.tsx');
|
||||
const source = read('website/app/new/AcidExperience.tsx');
|
||||
const css = read('website/app/globals.css');
|
||||
const pkg = read('website/package.json');
|
||||
|
||||
expect(pkg).toContain('"three"');
|
||||
expect(pkg).toContain('"lenis"');
|
||||
expect(pkg).not.toContain('"@react-three/fiber"');
|
||||
expect(source).toContain('"use client";');
|
||||
expect(source).toContain('import("three")');
|
||||
expect(source).toContain('import("gsap")');
|
||||
expect(source).toContain('import("gsap/ScrollTrigger")');
|
||||
expect(source).toContain('import("lenis")');
|
||||
expect(source).toContain('new THREE.WebGLRenderer');
|
||||
expect(source).toContain('powerPreference: "low-power"');
|
||||
expect(source).toContain('Math.min(window.devicePixelRatio || 1, 1.35)');
|
||||
expect(source).toContain('new THREE.PointsMaterial');
|
||||
expect(source).toContain('new THREE.TorusKnotGeometry');
|
||||
expect(source).toContain('new THREE.ShaderMaterial');
|
||||
expect(source).toContain('uScroll');
|
||||
expect(source).toContain('fragmentShader');
|
||||
expect(source).toContain('gsap.matchMedia()');
|
||||
expect(source).toContain('scrollTrigger');
|
||||
expect(source).toContain('Lenis');
|
||||
expect(source).toContain('ScrollTrigger.update');
|
||||
expect(source).toContain('prefers-reduced-motion: reduce');
|
||||
expect(source).toContain('max-width: 720px');
|
||||
expect(source).toContain('deviceMemory');
|
||||
|
||||
Reference in New Issue
Block a user