feat: refine nightdrive world and authored car

Integrate the Blender grand tourer with a cohesive shader-driven road, terrain, atmosphere, lighting, and post-processing pass. Refine responsive drive dynamics and sign lifecycle behavior, and add durable visual, accessibility, and performance verification evidence.
This commit is contained in:
2026-09-02 23:16:25 +03:00
parent 7dae835ac5
commit bc18bc2043
73 changed files with 1555 additions and 293 deletions

View File

@@ -50,9 +50,7 @@ test("keeps the hero and navigation in paint layers above the world", async ({
navigationVisible:
navigation.getBoundingClientRect().width > 0 &&
navigation.getBoundingClientRect().height > 0,
heroOpacity: Number.parseFloat(
heroStyle.backgroundColor.match(/[\d.]+(?=\))/gu)?.at(-1) ?? "1",
),
heroUsesLocalizedScrim: heroStyle.backgroundImage.includes("linear-gradient"),
};
});
@@ -60,10 +58,10 @@ test("keeps the hero and navigation in paint layers above the world", async ({
navigationPosition: "fixed",
headingVisible: true,
navigationVisible: true,
heroUsesLocalizedScrim: true,
});
expect(layers.shellZ).toBeGreaterThan(layers.worldZ);
expect(layers.navigationZ).toBeGreaterThan(layers.worldZ);
expect(layers.heroOpacity).toBeGreaterThanOrEqual(0.94);
});
test("resets the navigation disclosure when crossing the compact breakpoint", async ({
@@ -136,7 +134,7 @@ test("keeps a scrolled content panel in a geometry-safe paint layer above the wo
mainPosition: "static",
headingVisible: true,
});
expect(layers.panelOpacity).toBeGreaterThanOrEqual(0.94);
expect(layers.panelOpacity).toBeGreaterThanOrEqual(0.86);
});
test("provides native motion and quality controls with visible state", async ({

View File

@@ -316,14 +316,14 @@ test.describe("production visual composition", () => {
expect(panel.widthRatio).toBeGreaterThanOrEqual(0.44);
expect(panel.widthRatio).toBeLessThanOrEqual(0.48);
} else if (["full-diagram", "toolkit-field"].includes(panel.layout)) {
expect(panel.widthRatio).toBeGreaterThanOrEqual(0.75);
expect(panel.widthRatio).toBeLessThanOrEqual(0.8);
expect(panel.widthRatio).toBeGreaterThanOrEqual(0.66);
expect(panel.widthRatio).toBeLessThanOrEqual(0.72);
} else if (panel.layout === "project-stage") {
expect(panel.widthRatio).toBeGreaterThanOrEqual(0.9);
expect(panel.widthRatio).toBeLessThanOrEqual(0.94);
} else if (panel.layout === "destination") {
expect(panel.width).toBeGreaterThanOrEqual(760);
expect(panel.width).toBeLessThanOrEqual(866);
expect(panel.width).toBeGreaterThanOrEqual(580);
expect(panel.width).toBeLessThanOrEqual(690);
}
}
} else if (viewport.width < 768) {