@plasius/gpu-renderer 0.2.45 → 0.2.46
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/CHANGELOG.md +22 -0
- package/README.md +36 -0
- package/dist/index.cjs +2386 -1709
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2385 -1709
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/src/index.d.ts +39 -0
- package/src/index.js +1 -0
- package/src/native-scene-renderer.js +550 -0
- package/src/native-scene-shader.js +178 -0
- package/src/renderer-webgpu-runtime.js +24 -19
- package/src/wavefront-adaptive-byte-constants.js +28 -0
- package/src/wavefront-adaptive-metadata.js +185 -0
- package/src/wavefront-adaptive-shader.js +28 -0
package/CHANGELOG.md
CHANGED
|
@@ -23,6 +23,27 @@ All notable changes to this project will be documented in this file.
|
|
|
23
23
|
- **Security**
|
|
24
24
|
- (placeholder)
|
|
25
25
|
|
|
26
|
+
## [0.2.46] - 2026-09-29
|
|
27
|
+
|
|
28
|
+
- Add native showcase surface drawing with filtered shadows, HDR planar water
|
|
29
|
+
reflections, analytic waves, four-sample antialiasing and bounded resource ownership.
|
|
30
|
+
- Add an optional multipass `encodeFrame` hook to the existing renderer lifecycle.
|
|
31
|
+
|
|
32
|
+
- **Added**
|
|
33
|
+
- Internal reflected adaptive budget/count metadata, optional bounded classifier
|
|
34
|
+
and packed-history buffers, and lazy allocation admission with a 128 MiB cap.
|
|
35
|
+
This is infrastructure only; per-pixel dispatch and site controls remain pending.
|
|
36
|
+
- (placeholder)
|
|
37
|
+
|
|
38
|
+
- **Changed**
|
|
39
|
+
- (placeholder)
|
|
40
|
+
|
|
41
|
+
- **Fixed**
|
|
42
|
+
- (placeholder)
|
|
43
|
+
|
|
44
|
+
- **Security**
|
|
45
|
+
- (placeholder)
|
|
46
|
+
|
|
26
47
|
## [0.2.45] - 2026-09-07
|
|
27
48
|
|
|
28
49
|
- **Added**
|
|
@@ -1127,3 +1148,4 @@ All notable changes to this project will be documented in this file.
|
|
|
1127
1148
|
[0.2.43]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.43
|
|
1128
1149
|
[0.2.44]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.44
|
|
1129
1150
|
[0.2.45]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.45
|
|
1151
|
+
[0.2.46]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.46
|
package/README.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @plasius/gpu-renderer
|
|
2
2
|
|
|
3
|
+
## Native animated showcase surfaces
|
|
4
|
+
|
|
5
|
+
`createNativeSceneRenderer({ canvas })` draws interleaved world-space triangles
|
|
6
|
+
with depth testing, four-sample antialiasing, filtered directional shadows and
|
|
7
|
+
animated water with a planar reflection. Call `render({ vertices, camera, time,
|
|
8
|
+
wakes })` from the caller's animation loop and `destroy()` on teardown. Each vertex
|
|
9
|
+
has twelve floats: position XYZ, normal XYZ, linear colour RGB, roughness,
|
|
10
|
+
metalness, and procedural detail kind (0 plain, 1 wood, 2 mineral/cloth, 3 terrain).
|
|
11
|
+
`camera` supplies `eye`, `target` and optional vertical `fov`. At most four wakes
|
|
12
|
+
contain `[x, z, headingRadians]`; water can be disabled with `water: false`.
|
|
13
|
+
|
|
14
|
+
The input limit defaults to 300,000 vertices. Colour/depth targets are reused and
|
|
15
|
+
render dimensions are capped at 3840 per axis and a 1080p pixel budget. Snapshots identify `webgpu-raster`
|
|
16
|
+
and count submitted frames; they do not claim ray tracing, GPU completion or
|
|
17
|
+
photorealism. Native initialization failures reject; device loss changes
|
|
18
|
+
`available` and calls `onUnavailable`. The existing wavefront APIs are unchanged.
|
|
19
|
+
|
|
20
|
+
Enable only through the consumer's remote `gpu-demo.scene-fidelity.enabled`
|
|
21
|
+
decision and existing access capability. See [design](docs/design/native-showcase-surfaces.md)
|
|
22
|
+
and [ADR-0030](docs/adrs/adr-0030-native-showcase-surfaces.md) for rollout and limits.
|
|
23
|
+
|
|
3
24
|
[](https://www.npmjs.com/package/@plasius/gpu-renderer)
|
|
4
25
|
[](https://github.com/Plasius-LTD/gpu-renderer/actions/workflows/ci.yml)
|
|
5
26
|
[](https://codecov.io/gh/Plasius-LTD/gpu-renderer)
|
|
@@ -58,6 +79,21 @@ diagnostic capture or network/storage operation, and never registers
|
|
|
58
79
|
`/player-system`. Disabling the flag preserves ordinary structured-only bug
|
|
59
80
|
reporting.
|
|
60
81
|
|
|
82
|
+
## Adaptive per-pixel implementation status
|
|
83
|
+
|
|
84
|
+
Per-pixel adaptive rendering is not yet exposed by the public renderer API.
|
|
85
|
+
The internal [metadata foundation](docs/design/adaptive-metadata.md) now provides
|
|
86
|
+
reflected requested/completed count storage and lazy, bounded allocation.
|
|
87
|
+
`@plasius/gpu-shader` validates the final initialization WGSL in development;
|
|
88
|
+
the reflector does not enter browser bundles. The normal `npm test` suite checks
|
|
89
|
+
generated byte constants, count packing, allocation admission and cleanup.
|
|
90
|
+
|
|
91
|
+
The fixed renderer and its whole-frame budget adjustment are unchanged. Actual
|
|
92
|
+
completed-count normalization, compact primary scheduling, foveation and shared
|
|
93
|
+
integration must land before a site comparison can claim per-pixel adaptation.
|
|
94
|
+
No image-quality, performance or net-memory-saving claim follows from the
|
|
95
|
+
metadata-only WebGPU execution fixture. See [ADR 0029](docs/adrs/adr-0029-reflected-adaptive-metadata-admission.md).
|
|
96
|
+
|
|
61
97
|
## Install
|
|
62
98
|
|
|
63
99
|
```sh
|