genshin-engine 4.4.0 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,9 +5,17 @@
5
5
  [![NPM downloads][badge-npm-downloads]][url-npm]
6
6
  [![NPM Unpacked Size (with version)][badge-npm-unpacked-size]][url-npm]
7
7
 
8
- An anime-style open-world engine for the browser on three.js's WebGPU renderer: toon materials that step light from shade to lit across a narrow ramp, a sky-tinted rim on every silhouette, outlines, cascaded shadows, god rays, height fog, bloom, a colour grade and temporal anti-aliasing, procedural terrain and world kits, and a Web Audio synthesizer that plays a score through instruments of harmonics and an envelope, with recordings a host decodes layered over its voices, each section swelling and fading by its expression. Every module is plain TypeScript or a TSL node graph with one job, so a scene built with it runs in any framework, and the generators behind it are pure, seeded and tested without a GPU.
8
+ An anime-style open-world engine for the browser on three.js's WebGPU renderer. It includes:
9
9
 
10
- It is an unofficial, non-commercial fan engine, not affiliated with HoYoverse. It ships no asset from any game: every mesh, texture, shader and sound is generated by its own code.
10
+ - toon materials that step light from shade to lit across a narrow ramp, with a sky-tinted rim on every silhouette
11
+ - outlines, cascaded shadows, god rays, height fog, bloom, a colour grade and temporal anti-aliasing
12
+ - procedural terrain and world kits
13
+ - a Web Audio synthesizer that plays a score through instruments of harmonics and an envelope, where each section swells and fades by its expression
14
+ - recordings that a host decodes, layered over its voices
15
+
16
+ Each module is plain TypeScript or a TSL node graph with one job, so a scene built with it runs in any framework. The generators behind it are pure, seeded and tested without a GPU.
17
+
18
+ It is an unofficial, non-commercial fan engine. It is not affiliated with HoYoverse. It ships no asset from any game. Every mesh, texture, shader and sound is generated by its own code.
11
19
 
12
20
  Design notes live in [the specs](https://github.com/Esposter/Esposter/tree/main/openspec/specs/genshin).
13
21
 
@@ -69,24 +77,24 @@ const { renderPipeline } = createPostPipeline({
69
77
  renderer.setAnimationLoop(() => renderPipeline.render());
70
78
  ```
71
79
 
72
- A web worker generating the ground imports its generators from the `genshin-engine/terrainWorker` subpath instead, `computeTerrainTile` and the height, paint and scatter functions it runs over, which reach three's math and none of the renderer, so the worker starts without loading it.
80
+ A web worker that generates the ground imports its generators from the `genshin-engine/terrainWorker` subpath, not from the main entry. The subpath holds `computeTerrainTile` and the height, paint and scatter functions that the worker runs. They use three's math and do not use the renderer, so the worker starts without loading the renderer.
73
81
 
74
82
  ## <a name="key-exports">🧩 Key Exports</a>
75
83
 
76
- | Export | Kind | Purpose |
77
- | ------------------------ | -------- | --------------------------------------------------------------------------------------------------- |
78
- | `computeTerrainTile` | function | Samples one terrain tile's grid, normals and colours from the region's heights |
79
- | `createFogUniforms` | function | One set of fog uniforms per world, read by the fog pass |
80
- | `createGenshinRenderer` | function | A three.js WebGPU renderer, falling back to WebGL 2 where WebGPU is missing |
81
- | `createGodraysLight` | function | A second, unlit sun whose one shadow map covers the view for the god rays to march through |
82
- | `createGradeLutTexture` | function | The colour grade's cube as a 3D texture the LUT pass samples |
83
- | `createLightUniforms` | function | One set of light uniforms per world, shared by every material |
84
- | `createPostPipeline` | function | Builds the frame's post chain over a scene, from outlines to grade and anti-aliasing |
85
- | `createPostUniforms` | function | The post chain's uniforms: outline colour and thickness, god-ray colour, grade and white balance |
86
- | `createRampTexture` | function | A one-row texture of the irradiance the toon lighting steps between |
87
- | `createToonMaterial` | function | The environment's toon material, stepping from shade to lit on the world's ramp, with the sky's rim |
88
- | `QualityTier` | enum | The three quality tiers a renderer's cost is set by |
89
- | `QualityTierSettingsMap` | const | What each quality tier spends: shadow maps, cascades, god-ray steps, bloom and anti-aliasing |
84
+ | Export | Kind | Purpose |
85
+ | ------------------------ | -------- | ---------------------------------------------------------------------------------------------------------- |
86
+ | `computeTerrainTile` | function | Samples one terrain tile's grid, normals and colours from the region's heights |
87
+ | `createFogUniforms` | function | One set of fog uniforms for each world, read by the fog pass |
88
+ | `createGenshinRenderer` | function | A three.js WebGPU renderer, falling back to WebGL 2 when WebGPU is missing |
89
+ | `createGodraysLight` | function | A second, unlit sun, with one shadow map that covers the view the god rays march through |
90
+ | `createGradeLutTexture` | function | The colour grade cube, as a 3D texture that the LUT pass samples |
91
+ | `createLightUniforms` | function | One set of light uniforms for each world, shared by every material |
92
+ | `createPostPipeline` | function | Builds the frame's post chain over a scene, from outlines to grade and anti-aliasing |
93
+ | `createPostUniforms` | function | The post chain's uniforms: outline colour and thickness, god-ray colour, grade and white balance |
94
+ | `createRampTexture` | function | A one-row texture of the irradiance that the toon lighting steps between |
95
+ | `createToonMaterial` | function | The environment's toon material, stepping from shade to lit on the world's ramp, and drawing the sky's rim |
96
+ | `QualityTier` | enum | The three quality tiers that set a renderer's cost |
97
+ | `QualityTierSettingsMap` | const | What each quality tier spends: shadow maps, cascades, god-ray steps, bloom and anti-aliasing |
90
98
 
91
99
  ## <a name="license">⚖️ License</a>
92
100