babylon.quarks 0.20.0 → 0.21.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/CHANGELOG.md +22 -0
- package/README.md +2 -0
- package/dist/babylon.quarks.cjs +1 -1
- package/dist/babylon.quarks.cjs.map +1 -1
- package/dist/babylon.quarks.esm.js +1 -1
- package/dist/babylon.quarks.esm.js.map +1 -1
- package/dist/babylon.quarks.umd.min.js +1 -1
- package/dist/babylon.quarks.umd.min.js.map +1 -1
- package/dist/types/index.d.ts +114 -16
- package/package.json +1 -1
- package/src/QuarksLoader.ts +356 -52
- package/src/index.ts +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,28 @@ All notable changes to the `babylon.quarks` package are documented here.
|
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
5
5
|
and the project follows the `quarks.core` 0.x version line.
|
|
6
6
|
|
|
7
|
+
## [0.21.0] — 2026-10-16
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- `QuarksResourceResolver` on `QuarksLoaderOptions` (`resolve` / `fetchJson`) so File pickers,
|
|
12
|
+
CDN layouts and virtual FS backends can resolve relative texture and geometry links without
|
|
13
|
+
calling `resolveExternalGeometries` by hand.
|
|
14
|
+
- `loadFromJSON(json, baseUrl?)` — same pipeline as `load(url)` when the effect document is
|
|
15
|
+
already in memory; `resolveResources` / static `resolveLinkedResources` for prepare-only.
|
|
16
|
+
- `loadAll(urls)` and `loadFromJSONAll(entries)` for battle / level preload: fetch effect docs
|
|
17
|
+
(optional `concurrency`), resolve every linked geometry/image across the pack so shared asset
|
|
18
|
+
urls hit a per-scene fetch cache once, then parse. `continueOnError` and `onProgress` (once per
|
|
19
|
+
settled effect) supported; without `continueOnError` the return type is `TransformNode[]`.
|
|
20
|
+
- `QuarksLoader.joinUrl` for portable baseUrl joining (data/blob/absolute urls left alone).
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- `load(url)` goes through `loadFromJSON` after fetching the effect JSON. Geometry JSON fetches
|
|
25
|
+
are deduped per scene; inlined array fields are copied so cached documents are not aliased
|
|
26
|
+
across effects. Prefer `load` / `loadFromJSON` / `resolveResources` over
|
|
27
|
+
`resolveExternalGeometries` (kept for compatibility).
|
|
28
|
+
|
|
7
29
|
## [0.20.0] — 2026-10-16
|
|
8
30
|
|
|
9
31
|
### Added
|
package/README.md
CHANGED
|
@@ -170,6 +170,8 @@ import {BatchedRenderer, QuarksLoader, QuarksUtil} from 'babylon.quarks';
|
|
|
170
170
|
const batchRenderer = new BatchedRenderer('particles', scene);
|
|
171
171
|
const loader = new QuarksLoader(scene);
|
|
172
172
|
const effect = await loader.load('effects/explosion.json');
|
|
173
|
+
// Or preload a battle pack — shared textures/geometries fetch once:
|
|
174
|
+
// const roots = await loader.loadAll(['fx/hit.json', 'fx/explosion.json'], { concurrency: 6 });
|
|
173
175
|
QuarksUtil.addToBatchRenderer(effect, batchRenderer);
|
|
174
176
|
QuarksUtil.play(effect);
|
|
175
177
|
```
|