@plasius/gpu-renderer 0.2.44 → 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 +43 -0
- package/README.md +53 -3
- 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
|
@@ -18,6 +18,47 @@ All notable changes to this project will be documented in this file.
|
|
|
18
18
|
- (placeholder)
|
|
19
19
|
|
|
20
20
|
- **Fixed**
|
|
21
|
+
- (placeholder)
|
|
22
|
+
|
|
23
|
+
- **Security**
|
|
24
|
+
- (placeholder)
|
|
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
|
+
|
|
47
|
+
## [0.2.45] - 2026-09-07
|
|
48
|
+
|
|
49
|
+
- **Added**
|
|
50
|
+
- (placeholder)
|
|
51
|
+
|
|
52
|
+
- **Changed**
|
|
53
|
+
- Refreshed compatible @plasius/* lockfile resolutions to the latest published releases.
|
|
54
|
+
- (placeholder)
|
|
55
|
+
|
|
56
|
+
- **Fixed**
|
|
57
|
+
- Documented verified locked-branch runner admission for trusted push checks,
|
|
58
|
+
including exact-commit verification and removal before branch updates.
|
|
59
|
+
- Restored trusted-push-only CI on explicit self-hosted runners, preserving
|
|
60
|
+
required check names and excluding external fork execution; bounded scheduled
|
|
61
|
+
dependency validation to self-hosted main runs.
|
|
21
62
|
- Preserved hosted pull-request isolation, bounded validation runtime, and
|
|
22
63
|
disabled package-manager cache finalization on self-hosted main validation.
|
|
23
64
|
- (placeholder)
|
|
@@ -1106,3 +1147,5 @@ All notable changes to this project will be documented in this file.
|
|
|
1106
1147
|
[0.2.42]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.42
|
|
1107
1148
|
[0.2.43]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.43
|
|
1108
1149
|
[0.2.44]: https://github.com/Plasius-LTD/gpu-renderer/releases/tag/v0.2.44
|
|
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
|
|
@@ -691,9 +727,23 @@ npm run pack:check
|
|
|
691
727
|
## Release integrity
|
|
692
728
|
|
|
693
729
|
CI keeps the administrative contributor registry outside Git and npm package
|
|
694
|
-
artifacts using exact, case-normalised path checks.
|
|
695
|
-
|
|
696
|
-
|
|
730
|
+
artifacts using exact, case-normalised path checks. CI runs only for pushes to
|
|
731
|
+
repository-owned branches on explicit `[self-hosted, Linux, X64]` runners.
|
|
732
|
+
External fork pull requests trigger no CI execution; a maintainer must review
|
|
733
|
+
and move a contribution to a repository-owned branch to produce required checks.
|
|
734
|
+
Before branch CI starts, an authorised maintainer reviews the exact commit and
|
|
735
|
+
locks its repository branch as read-only, enforcing the lock for administrators
|
|
736
|
+
and disabling force pushes, deletion, and fork syncing. After reading back the
|
|
737
|
+
lock and commit SHA, admit only that branch's fully qualified workflow ref for
|
|
738
|
+
`gpu-renderer/.github/workflows/ci.yml` in `Public CI - Quarantined`. Top-level
|
|
739
|
+
push jobs identify their workflow by branch ref; SHA-only admission did not
|
|
740
|
+
schedule the reviewed job. Remove the temporary workflow entry and verify its
|
|
741
|
+
removal before unlocking or updating the branch, and after delivery. Preserve all
|
|
742
|
+
other group restrictions. Never admit mutable branch or PR refs. See
|
|
743
|
+
[ADR-0028](docs/adrs/adr-0028-locked-branch-runner-admission.md) for the procedure.
|
|
744
|
+
The trusted admission, build-test, and artifact-integrity checks keep their
|
|
745
|
+
existing names for branch protection. Scheduled dependency validation also uses
|
|
746
|
+
bounded self-hosted capacity and accepts only `main`. Release preparation and
|
|
697
747
|
publication use a two-run exact-main protocol on GitHub-hosted Node.js 24.18.0
|
|
698
748
|
LTS. A read-only job seals the package tarball and SBOM before a dependency-free
|
|
699
749
|
production job publishes that exact artifact through npm OIDC with provenance;
|