@datamoc/mw_games 0.38.0 → 0.39.1
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 +55 -0
- package/api-surface.json +500 -2
- package/dist/assets/SvgParts.d.ts +31 -0
- package/dist/assets/SvgParts.d.ts.map +1 -0
- package/dist/assets/SvgParts.js +54 -0
- package/dist/assets/SvgParts.js.map +1 -0
- package/dist/assets/SvgSource.d.ts +3 -0
- package/dist/assets/SvgSource.d.ts.map +1 -0
- package/dist/assets/SvgSource.js +22 -0
- package/dist/assets/SvgSource.js.map +1 -0
- package/dist/assets/index.d.ts +2 -0
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +1 -0
- package/dist/assets/index.js.map +1 -1
- package/dist/assets/svg.d.ts.map +1 -1
- package/dist/assets/svg.js +9 -5
- package/dist/assets/svg.js.map +1 -1
- package/dist/mw_games.global.js +110 -110
- package/dist/mwl/presentation.d.ts.map +1 -1
- package/dist/mwl/presentation.js +25 -18
- package/dist/mwl/presentation.js.map +1 -1
- package/dist/physics/PhysicsWorld.d.ts +49 -17
- package/dist/physics/PhysicsWorld.d.ts.map +1 -1
- package/dist/physics/PhysicsWorld.js +297 -59
- package/dist/physics/PhysicsWorld.js.map +1 -1
- package/dist/physics/XpbdWorld.d.ts +1 -1
- package/dist/physics/XpbdWorld.js +1 -1
- package/dist/physics/cloth/index.d.ts +98 -0
- package/dist/physics/cloth/index.d.ts.map +1 -0
- package/dist/physics/cloth/index.js +207 -0
- package/dist/physics/cloth/index.js.map +1 -0
- package/dist/physics/index.d.ts +4 -0
- package/dist/physics/index.d.ts.map +1 -1
- package/dist/physics/index.js +2 -0
- package/dist/physics/index.js.map +1 -1
- package/dist/physics/spring/index.d.ts +90 -0
- package/dist/physics/spring/index.d.ts.map +1 -0
- package/dist/physics/spring/index.js +97 -0
- package/dist/physics/spring/index.js.map +1 -0
- package/dist/skeleton/index.d.ts +94 -13
- package/dist/skeleton/index.d.ts.map +1 -1
- package/dist/skeleton/index.js +192 -73
- package/dist/skeleton/index.js.map +1 -1
- package/dist/two-d/presentation/MwlPresentation.d.ts +12 -0
- package/dist/two-d/presentation/MwlPresentation.d.ts.map +1 -1
- package/dist/two-d/presentation/MwlPresentation.js +204 -153
- package/dist/two-d/presentation/MwlPresentation.js.map +1 -1
- package/dist/two-d/render/ClothSprite.d.ts +83 -0
- package/dist/two-d/render/ClothSprite.d.ts.map +1 -0
- package/dist/two-d/render/ClothSprite.js +105 -0
- package/dist/two-d/render/ClothSprite.js.map +1 -0
- package/dist/two-d/render/HazeLayer.d.ts +112 -0
- package/dist/two-d/render/HazeLayer.d.ts.map +1 -0
- package/dist/two-d/render/HazeLayer.js +185 -0
- package/dist/two-d/render/HazeLayer.js.map +1 -0
- package/dist/two-d/render/NeonGlow.d.ts +100 -0
- package/dist/two-d/render/NeonGlow.d.ts.map +1 -0
- package/dist/two-d/render/NeonGlow.js +183 -0
- package/dist/two-d/render/NeonGlow.js.map +1 -0
- package/dist/two-d/render/SkeletalSprite.d.ts +5 -2
- package/dist/two-d/render/SkeletalSprite.d.ts.map +1 -1
- package/dist/two-d/render/SkeletalSprite.js +27 -3
- package/dist/two-d/render/SkeletalSprite.js.map +1 -1
- package/dist/two-d/render/SpringSprite.d.ts +40 -0
- package/dist/two-d/render/SpringSprite.d.ts.map +1 -0
- package/dist/two-d/render/SpringSprite.js +39 -0
- package/dist/two-d/render/SpringSprite.js.map +1 -0
- package/dist/two-d/render/SpriteDeform.d.ts +156 -0
- package/dist/two-d/render/SpriteDeform.d.ts.map +1 -0
- package/dist/two-d/render/SpriteDeform.js +278 -0
- package/dist/two-d/render/SpriteDeform.js.map +1 -0
- package/dist/two-d/render/SvgSkeleton.d.ts +54 -0
- package/dist/two-d/render/SvgSkeleton.d.ts.map +1 -0
- package/dist/two-d/render/SvgSkeleton.js +112 -0
- package/dist/two-d/render/SvgSkeleton.js.map +1 -0
- package/dist/two-d/render/index.d.ts +12 -0
- package/dist/two-d/render/index.d.ts.map +1 -1
- package/dist/two-d/render/index.js +6 -0
- package/dist/two-d/render/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +9 -7
- package/sbom.cdx.json +6 -58
- package/tools/asset-report.d.mts +37 -0
- package/tools/asset-report.mjs +157 -0
- package/tools/compile-resources.d.mts +2 -0
- package/tools/compile-resources.mjs +23 -2
- package/tools/emit-page.d.mts +2 -0
- package/tools/emit-page.mjs +11 -1
- package/tools/vite.mjs +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,61 @@ the public API may still change between minor versions.
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.39.1] - 2026-10-15
|
|
11
|
+
|
|
12
|
+
Fixes the 0.39.0 publish gate on Linux: the WebP skip-shrink test asserted one
|
|
13
|
+
platform's encoder answer instead of the real guarantee, and failed where sharp
|
|
14
|
+
genuinely shrinks the noise fixture.
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- The WebP test embeds whichever encoding is smaller and asserts byte-exact output
|
|
19
|
+
with a lossless round-trip either way, instead of assuming the conversion always
|
|
20
|
+
loses on tiny noise.
|
|
21
|
+
|
|
22
|
+
## [0.39.0] - 2026-10-15
|
|
23
|
+
|
|
24
|
+
The skeleton cluster (two-bone IK, joint limits, full clip channels, diagnostics, SVG
|
|
25
|
+
parts loading), the asset and deformation cluster (pinned deformation, SVG skeletons,
|
|
26
|
+
asset filtering and the embedded assets report), and the effects cluster (cloth, spring,
|
|
27
|
+
haze and neon glow, each with a stated frame budget and reduced-motion handling).
|
|
28
|
+
`PhysicsWorld` leaves `matter-js` behind for an in-repo solver, so the dependency is gone.
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- Pinned sprite deformation with atomic vertex batches and one GPU upload per batch, checked
|
|
33
|
+
against a local Pontifex bird with fixed attachments and unchanged UVs.
|
|
34
|
+
- `loadSvgSkeleton`: SVG limb extraction, authored/manifest pivots, rest-angle normalization
|
|
35
|
+
and automatic `SkeletalSprite` binding, including nested parts without duplicate drawing.
|
|
36
|
+
- `assetFiles` on `mwgPage`, `emitPage` and `compileResources`: exact embedding lists with
|
|
37
|
+
named failures for unknown entries and unchanged defaults when omitted.
|
|
38
|
+
- `mwg-assets` (`assetReport`): per-file raw/gzip/brotli weights with each share of
|
|
39
|
+
the compressed page, plus the embedded source inventory with byte-identical
|
|
40
|
+
duplicates grouped by hash.
|
|
41
|
+
|
|
42
|
+
- Two-bone skeleton IK with named unreachable-target failures, absolute local joint limits,
|
|
43
|
+
and translation/scale clip channels through `sampleTransformPose` and `advancePose`.
|
|
44
|
+
- Explicit `SkeletalSprite.setDiagnostics` overlay for bones, pivots, joints and tips.
|
|
45
|
+
- `loadSvgParts` / `releaseSvgParts`: named SVG group textures with resolution-aware caching,
|
|
46
|
+
compiled local-file asset support and a browser check against a local Pontifex vehicle.
|
|
47
|
+
|
|
48
|
+
- Pinned-point cloth (`Cloth` Verlet mesh plus textured `ClothSprite` on the 414 mesh
|
|
49
|
+
path) with gravity, wind, damping and a browser drape check; a damped 2D chase
|
|
50
|
+
`Spring` for secondary motion with a stated O(1) frame budget, plus a `SpringSprite`
|
|
51
|
+
debug line.
|
|
52
|
+
- `HazeLayer` (with `hazeField` / `paintHazePixels`): drifting atmospheric sheets on
|
|
53
|
+
stacked depth planes, checked in the browser over a painted harbour; `NeonGlow`
|
|
54
|
+
(with `glowFalloff` / `paintGlowPixels`): additive neon light with colour, radius,
|
|
55
|
+
intensity and flicker, checked in the browser over a dark lane of signs.
|
|
56
|
+
|
|
57
|
+
### Removed
|
|
58
|
+
|
|
59
|
+
- The `matter-js` (and `@types/matter-js`) dependency: `PhysicsWorld` is recoded in TypeScript in this repo (semi-implicit Euler, impulse contacts, projected distance joints) with the same options, methods and signals. Bodies no longer spin: `angle` stays a display offset. The dropped `engine` field exposed the whole matter engine; nothing in this repo used it.
|
|
60
|
+
### Fixed
|
|
61
|
+
|
|
62
|
+
- SVG group splitting retains group transforms, shared definitions and styles, and handles
|
|
63
|
+
nested self-closing groups. Skeleton creation reports cycles instead of overflowing the stack.
|
|
64
|
+
|
|
10
65
|
## [0.38.0] - 2026-10-14
|
|
11
66
|
|
|
12
67
|
Optional MWL scene and UI composition with its bridge-editor example, the
|