feat: Blender-authored roadside districts that rise per chapter

This commit is contained in:
2026-10-10 18:25:55 +03:00
parent 71959f7541
commit a170abc093
10 changed files with 693 additions and 1 deletions

View File

@@ -6,6 +6,7 @@ import type { SceneBuildContext, SceneGeneration } from '@/scene/types';
import { renderQualityFor } from '@/scene/render-quality';
import { createHorizonAir } from '@/scene/world/horizon-air';
import { createExpressway } from '@/scene/world/expressway';
import { createDistricts } from '@/scene/world/districts';
import { createSignStage } from '@/scene/world/sign-stage';
import { usesRoadsideSign } from '@/scene/world/sign-layout';
import { createSpeedWake } from '@/scene/world/speed-wake';
@@ -116,6 +117,7 @@ export async function createProceduralSceneGeneration(
const terrain = createTerrain(context.resources, quality);
const speedWake = createSpeedWake(context.resources);
const expressway = createExpressway(context.resources, quality);
const districts = createDistricts(context.resources, quality, context.signal);
const signStage = createSignStage(context.resources);
const sun = createSun(context.resources);
const horizonAir = createHorizonAir(context.resources);
@@ -132,6 +134,7 @@ export async function createProceduralSceneGeneration(
atmosphere.group,
road.group,
expressway.group,
districts.group,
terrain.group,
sun.group,
horizonAir.group,
@@ -306,6 +309,13 @@ export async function createProceduralSceneGeneration(
snapshot.activeSectionId,
deltaSeconds,
);
districts.update(
driveDistance,
response.roadEnergy,
snapshot.activeSectionId,
atmosphericTime,
deltaSeconds,
);
terrain.update(
driveDistance,
visualSpeed,