auto-git:

[change] tests/domain/foliage-scatter.test.ts
 [change] tests/domain/scene-document-validation.test.ts
This commit is contained in:
2026-05-12 21:42:27 +02:00
parent 47a411a743
commit 0984360b14
2 changed files with 30 additions and 1 deletions

View File

@@ -7,6 +7,7 @@ import {
type Terrain
} from "../../src/document/terrains";
import {
DEFAULT_MAX_FOLIAGE_SCATTER_INSTANCES_PER_CHUNK,
generateFoliageScatterForScene,
generateFoliageScatterForTerrain,
sampleFoliageScatterTerrainNormal,
@@ -258,6 +259,34 @@ describe("foliage scatter generation", () => {
);
});
it("keeps full-mask density above two meaningful with the default chunk cap", () => {
const densityTwo = generateForFixture({
terrain: createMaskedTerrain({ maskValue: 1 }),
layer: createTestLayer({ density: 2 })
});
const densityFour = generateForFixture({
terrain: createMaskedTerrain({ maskValue: 1 }),
layer: createTestLayer({ density: 4 })
});
expect(densityTwo.instanceCount).toBeGreaterThan(0);
expect(densityFour.instanceCount).toBeGreaterThan(
densityTwo.instanceCount
);
});
it("caps extremely high density at the default max instances per chunk", () => {
const result = generateForFixture({
terrain: createMaskedTerrain({ maskValue: 1 }),
layer: createTestLayer({ density: 100 })
});
expect(result.chunks).toHaveLength(1);
expect(result.instanceCount).toBe(
DEFAULT_MAX_FOLIAGE_SCATTER_INSTANCES_PER_CHUNK
);
});
it("filters samples by terrain slope", () => {
const flatExcluded = generateForFixture({
layer: createTestLayer({

View File

@@ -1780,7 +1780,7 @@ describe("validateSceneDocument", () => {
foliage: {
...document.world.advancedRendering.foliage,
enabled: "yes",
densityMultiplier: 3,
densityMultiplier: 9,
maxDistanceMultiplier: 0,
shadows: "close"
}