rapid-render 1.0.27 → 1.0.29
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 +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/matrix-engine.d.ts +4 -0
- package/dist/rapid-render.js +203 -199
- package/dist/rapid-render.umd.cjs +8 -8
- package/dist/texture.d.ts +7 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -103,7 +103,7 @@ rapid.drawSprite(ui);
|
|
|
103
103
|
|
|
104
104
|
## Reuse MatrixStack Transforms
|
|
105
105
|
|
|
106
|
-
`save()` returns `parent`, `local`, and `world` matrix IDs. Saved world IDs can be used with `customMatrix` within the current frame. Use `retainMatrix()` to cache transforms across frames and reuse them with `save(cached)`:
|
|
106
|
+
`save()` returns `parent`, `local`, and `world` matrix IDs. Saved world IDs can be used with `customMatrix` within the current frame. Use `retainMatrix()` to cache transforms across frames and reuse them with `save(cached)` or `cached.world`:
|
|
107
107
|
|
|
108
108
|
```ts
|
|
109
109
|
const stack = rapid.matrixStack;
|
|
@@ -119,6 +119,7 @@ function drawFrame() {
|
|
|
119
119
|
stack.save(cached);
|
|
120
120
|
rapid.drawSprite({ texture });
|
|
121
121
|
stack.restore();
|
|
122
|
+
rapid.drawSprite({ texture, customMatrix: cached.world });
|
|
122
123
|
rapid.flush();
|
|
123
124
|
}
|
|
124
125
|
```
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './webgl/glshader';
|
|
|
5
5
|
export * from './math';
|
|
6
6
|
export * from './extensions/particle';
|
|
7
7
|
export * from './extensions/light';
|
|
8
|
-
export * from './line';
|
|
9
8
|
export * from './draw';
|
|
9
|
+
export * from './line';
|
|
10
10
|
export * from './viewport';
|
|
11
|
+
export * from './matrix-engine';
|
package/dist/matrix-engine.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export interface ITransformOptions {
|
|
|
20
20
|
* Matrices are stored flat in a dynamic Float32Array to improve memory locality and cache performance.
|
|
21
21
|
*/
|
|
22
22
|
export declare class MatrixStore {
|
|
23
|
+
private readonly transformValues;
|
|
23
24
|
/** Number of matrix slots created, including released slots available for reuse. */
|
|
24
25
|
matrixCount: number;
|
|
25
26
|
/** The dynamic buffer used to hold matrix data. */
|
|
@@ -212,6 +213,8 @@ export declare class MatrixStore {
|
|
|
212
213
|
multiplyAffine(indexIn: number, indexOut: number, a: number, b: number, c: number, dValue: number, tx: number, ty: number): void;
|
|
213
214
|
clampBounds(index: number, viewWidth: number, viewHeight: number, limitLeft?: number, limitRight?: number, limitTop?: number, limitBottom?: number): void;
|
|
214
215
|
applyTransform(transform: ITransformOptions, width?: number, height?: number): number[];
|
|
216
|
+
/** Numeric results reuse an internal array; consume them before the next call. */
|
|
217
|
+
applyTransform(x: number, y: number, scaleX?: number, scaleY?: number, rotation?: number, originX?: number, originY?: number, width?: number, height?: number, offsetX?: number, offsetY?: number): number[];
|
|
215
218
|
}
|
|
216
219
|
export interface MatrixSaveState {
|
|
217
220
|
world: number;
|
|
@@ -365,4 +368,5 @@ export declare class MatrixStack {
|
|
|
365
368
|
y: number;
|
|
366
369
|
};
|
|
367
370
|
applyTransform(transform: ITransformOptions, width?: number, height?: number, customMatrix?: number, worldMatrix?: number, localMatrix?: number): void;
|
|
371
|
+
applyTransform(x: number, y: number, scaleX?: number, scaleY?: number, rotation?: number, originX?: number, originY?: number, width?: number, height?: number, offsetX?: number, offsetY?: number, customMatrix?: number, worldMatrix?: number, localMatrix?: number): void;
|
|
368
372
|
}
|