Skip to content

Presets

The @strata-game-library/presets package provides ready-to-use configurations for all Strata systems, allowing you to quickly set up professional-quality scenes with sensible defaults.

Terminal window
npm install @strata-game-library/presets @strata-game-library/core
# or
pnpm add @strata-game-library/presets @strata-game-library/core
import { createTerrainPreset, TerrainBiomes } from '@strata-game-library/presets/terrain';
import { createWeatherPreset, WeatherPresets } from '@strata-game-library/presets/weather';
import { createWaterPreset, WaterTypes } from '@strata-game-library/presets/water';
// Create terrain with predefined biomes
const terrain = createTerrainPreset({
biomes: [TerrainBiomes.GRASSLAND, TerrainBiomes.MOUNTAIN],
resolution: 128,
});
// Apply weather preset
const weather = createWeatherPreset(WeatherPresets.RAIN);
// Create water body
const water = createWaterPreset(WaterTypes.OCEAN);
CategoryImportDescription
Terrain@strata-game-library/presets/terrainBiomes, heightmaps, texturing
Weather@strata-game-library/presets/weatherRain, snow, fog, storms
Water@strata-game-library/presets/waterOcean, lake, river, pool
Vegetation@strata-game-library/presets/vegetationForests, grasslands, gardens
Clouds@strata-game-library/presets/cloudsCumulus, stratus, stormy
Camera@strata-game-library/presets/cameraFirst-person, third-person, cinematic
Animation@strata-game-library/presets/animationWalk cycles, IK, gaits
Physics@strata-game-library/presets/physicsCollision, buoyancy, wind
Audio@strata-game-library/presets/audioAmbient, spatial, environment
import { Terrain, Water, ProceduralSky } from '@strata-game-library/core';
import { TerrainPresets, WaterPresets, SkyPresets } from '@strata-game-library/presets';
<Terrain {...TerrainPresets.ISLAND} />
<Water {...WaterPresets.TROPICAL_OCEAN} />
<ProceduralSky {...SkyPresets.SUNSET} />
import { createTerrainPreset, TerrainBiomes } from '@strata-game-library/presets/terrain';
// Start with a preset, then customize
const customTerrain = createTerrainPreset({
biomes: [TerrainBiomes.MOUNTAIN],
resolution: 128,
});
// Override specific values
customTerrain.amplitude = 150; // Taller mountains
customTerrain.snowHeight = 80; // Lower snow line
import { createScenePreset } from '@strata-game-library/presets';
const forestScene = createScenePreset({
terrain: 'FOREST_HILLS',
weather: 'LIGHT_RAIN',
water: 'STREAM',
vegetation: 'DENSE_FOREST',
sky: 'OVERCAST',
});
// Returns combined configuration for all systems
<Scene {...forestScene} />

All presets follow a consistent structure:

interface Preset<T> {
name: string;
description: string;
category: string;
settings: T;
variants?: Record<string, Partial<T>>;
}
import { registerPreset } from '@strata-game-library/presets';
// Register a custom terrain preset
registerPreset('terrain', 'ALIEN_PLANET', {
name: 'Alien Planet',
description: 'Purple terrain with crystal formations',
settings: {
biomes: ['alien'],
colors: {
low: '#7b2cbf',
mid: '#9d4edd',
high: '#c77dff',
},
amplitude: 80,
crystalFormations: true,
},
});
// Use it like any other preset
import { TerrainPresets } from '@strata-game-library/presets';
<Terrain {...TerrainPresets.ALIEN_PLANET} />