@bloopjs/toodle 0.0.103 → 0.0.104
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/dist/Toodle.d.ts +9 -1
- package/dist/Toodle.d.ts.map +1 -1
- package/dist/mod.js +34 -28
- package/dist/mod.js.map +7 -7
- package/dist/scene/QuadNode.d.ts.map +1 -1
- package/dist/scene/SceneNode.d.ts +2 -2
- package/dist/scene/SceneNode.d.ts.map +1 -1
- package/dist/textures/AssetManager.d.ts.map +1 -1
- package/dist/textures/types.d.ts +4 -2
- package/dist/textures/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Toodle.ts +31 -15
- package/src/scene/QuadNode.ts +1 -4
- package/src/scene/SceneNode.ts +11 -12
- package/src/text/TextNode.ts +2 -2
- package/src/textures/AssetManager.ts +2 -1
- package/src/textures/types.ts +4 -2
package/dist/Toodle.d.ts
CHANGED
|
@@ -211,7 +211,7 @@ export declare class Toodle {
|
|
|
211
211
|
Text(fontId: string, text: string, textOpts?: TextOptions): TextNode;
|
|
212
212
|
shapes: {
|
|
213
213
|
Rect: (options?: QuadOptions) => QuadNode;
|
|
214
|
-
Circle: (options?:
|
|
214
|
+
Circle: (options?: CircleOptions) => QuadNode;
|
|
215
215
|
Line: (options: LineOptions) => QuadNode;
|
|
216
216
|
};
|
|
217
217
|
/**
|
|
@@ -271,6 +271,14 @@ export type ToodleOptions = {
|
|
|
271
271
|
filter?: "nearest" | "linear";
|
|
272
272
|
limits?: LimitsOptions;
|
|
273
273
|
};
|
|
274
|
+
export type CircleOptions = Omit<QuadOptions, "size"> & {
|
|
275
|
+
/**
|
|
276
|
+
* The radius of the circle in pixels.
|
|
277
|
+
* The diameter will be radius * 2.
|
|
278
|
+
* @default 50
|
|
279
|
+
*/
|
|
280
|
+
radius?: number;
|
|
281
|
+
};
|
|
274
282
|
export type LineOptions = {
|
|
275
283
|
/**
|
|
276
284
|
* The start position of the line.
|
package/dist/Toodle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toodle.d.ts","sourceRoot":"","sources":["../src/Toodle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Toodle.d.ts","sourceRoot":"","sources":["../src/Toodle.ts"],"names":[],"mappings":"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"}
|
package/dist/mod.js
CHANGED
|
@@ -3611,7 +3611,7 @@ class SceneNode {
|
|
|
3611
3611
|
#transform;
|
|
3612
3612
|
#matrix = mat3.identity();
|
|
3613
3613
|
#renderComponent = null;
|
|
3614
|
-
#
|
|
3614
|
+
#size = null;
|
|
3615
3615
|
#positionProxy;
|
|
3616
3616
|
#scaleProxy;
|
|
3617
3617
|
#cache = null;
|
|
@@ -3623,7 +3623,7 @@ class SceneNode {
|
|
|
3623
3623
|
this.#transform = {
|
|
3624
3624
|
position: opts?.position ?? { x: 0, y: 0 },
|
|
3625
3625
|
scale: { x: 1, y: 1 },
|
|
3626
|
-
size: opts?.
|
|
3626
|
+
size: opts?.size ?? { width: 1, height: 1 },
|
|
3627
3627
|
rotation: opts?.rotationRadians ?? 0
|
|
3628
3628
|
};
|
|
3629
3629
|
if (opts?.scale)
|
|
@@ -3635,7 +3635,7 @@ class SceneNode {
|
|
|
3635
3635
|
this.#layer = opts?.layer ?? null;
|
|
3636
3636
|
this.#isActive = opts?.isActive ?? true;
|
|
3637
3637
|
this.label = opts?.label ?? undefined;
|
|
3638
|
-
this.#
|
|
3638
|
+
this.#size = opts?.size ?? null;
|
|
3639
3639
|
this.#key = opts?.key ?? null;
|
|
3640
3640
|
for (const kid of opts?.kids ?? []) {
|
|
3641
3641
|
this.add(kid);
|
|
@@ -3745,19 +3745,19 @@ class SceneNode {
|
|
|
3745
3745
|
}
|
|
3746
3746
|
this.setDirty();
|
|
3747
3747
|
}
|
|
3748
|
-
set
|
|
3749
|
-
this.#
|
|
3748
|
+
set size(value) {
|
|
3749
|
+
this.#size = value;
|
|
3750
3750
|
this.setDirty();
|
|
3751
3751
|
}
|
|
3752
3752
|
get size() {
|
|
3753
|
-
return this.#
|
|
3753
|
+
return this.#size;
|
|
3754
3754
|
}
|
|
3755
3755
|
get aspectRatio() {
|
|
3756
|
-
if (!this.#
|
|
3756
|
+
if (!this.#size) {
|
|
3757
3757
|
console.warn("Attempted to get aspect ratio of a node with no ideal size");
|
|
3758
3758
|
return 1;
|
|
3759
3759
|
}
|
|
3760
|
-
return this.#
|
|
3760
|
+
return this.#size.width / this.#size.height;
|
|
3761
3761
|
}
|
|
3762
3762
|
get isActive() {
|
|
3763
3763
|
if (!this.#cache?.isActive) {
|
|
@@ -3964,7 +3964,7 @@ class QuadNode extends SceneNode {
|
|
|
3964
3964
|
#writeInstance;
|
|
3965
3965
|
constructor(options, matrixPool) {
|
|
3966
3966
|
assert(options.shader, "QuadNode requires a shader to be explicitly provided");
|
|
3967
|
-
assert(options.
|
|
3967
|
+
assert(options.size, "QuadNode requires a size to be explicitly provided");
|
|
3968
3968
|
assert(options.atlasCoords, "QuadNode requires atlas coords to be explicitly provided");
|
|
3969
3969
|
options.render ??= {
|
|
3970
3970
|
shader: options.shader,
|
|
@@ -17570,8 +17570,8 @@ class TextNode extends SceneNode {
|
|
|
17570
17570
|
throw new Error(`Text: ${text} exceeds ${shader.maxCharCount} characters. Try using fewer characters or increase the limit in Toodle.attach.`);
|
|
17571
17571
|
}
|
|
17572
17572
|
const em2px = shader.font.lineHeight / (opts.fontSize ?? DEFAULT_FONT_SIZE);
|
|
17573
|
-
if (!opts.shrinkToFit && !opts.
|
|
17574
|
-
opts.
|
|
17573
|
+
if (!opts.shrinkToFit && !opts.size) {
|
|
17574
|
+
opts.size = { width: width / em2px, height: height / em2px };
|
|
17575
17575
|
}
|
|
17576
17576
|
super({
|
|
17577
17577
|
...opts,
|
|
@@ -19012,7 +19012,8 @@ class AssetManager {
|
|
|
19012
19012
|
} else {
|
|
19013
19013
|
await this.#registerBundleFromAtlases(bundleId, opts);
|
|
19014
19014
|
}
|
|
19015
|
-
|
|
19015
|
+
const autoLoad = opts.autoLoad ?? true;
|
|
19016
|
+
if (autoLoad) {
|
|
19016
19017
|
await this.loadBundle(bundleId);
|
|
19017
19018
|
}
|
|
19018
19019
|
return bundleId;
|
|
@@ -19401,7 +19402,7 @@ class Toodle {
|
|
|
19401
19402
|
}
|
|
19402
19403
|
Quad(assetId, options = {}) {
|
|
19403
19404
|
const assetManager = options.assetManager ?? this.assets;
|
|
19404
|
-
options.
|
|
19405
|
+
options.size ??= assetManager.getSize(assetId);
|
|
19405
19406
|
options.shader ??= this.#defaultQuadShader();
|
|
19406
19407
|
options.atlasCoords ??= assetManager.extra.getAtlasCoords(assetId)[0];
|
|
19407
19408
|
options.textureId ??= assetId;
|
|
@@ -19450,7 +19451,7 @@ class Toodle {
|
|
|
19450
19451
|
width: originalSize.width,
|
|
19451
19452
|
height: originalSize.height
|
|
19452
19453
|
};
|
|
19453
|
-
options.
|
|
19454
|
+
options.size ??= {
|
|
19454
19455
|
width: originalSize.width,
|
|
19455
19456
|
height: originalSize.height
|
|
19456
19457
|
};
|
|
@@ -19467,7 +19468,7 @@ class Toodle {
|
|
|
19467
19468
|
}
|
|
19468
19469
|
shapes = {
|
|
19469
19470
|
Rect: (options = {}) => {
|
|
19470
|
-
options.
|
|
19471
|
+
options.size ??= { width: 1, height: 1 };
|
|
19471
19472
|
options.shader ??= this.#defaultQuadShader();
|
|
19472
19473
|
options.atlasCoords ??= {
|
|
19473
19474
|
atlasIndex: 1000,
|
|
@@ -19489,18 +19490,23 @@ class Toodle {
|
|
|
19489
19490
|
}
|
|
19490
19491
|
return quad;
|
|
19491
19492
|
},
|
|
19492
|
-
Circle: (options = {}) => {
|
|
19493
|
-
|
|
19494
|
-
|
|
19495
|
-
|
|
19496
|
-
|
|
19497
|
-
|
|
19498
|
-
|
|
19499
|
-
|
|
19500
|
-
|
|
19493
|
+
Circle: (options = { radius: 50 }) => {
|
|
19494
|
+
const radius = options.radius ?? 50;
|
|
19495
|
+
const diameter = radius * 2;
|
|
19496
|
+
const quadOptions = {
|
|
19497
|
+
...options,
|
|
19498
|
+
size: { width: diameter, height: diameter },
|
|
19499
|
+
shader: options.shader ?? this.#defaultQuadShader(),
|
|
19500
|
+
atlasCoords: options.atlasCoords ?? {
|
|
19501
|
+
atlasIndex: 1001,
|
|
19502
|
+
uvOffset: { x: 0, y: 0 },
|
|
19503
|
+
uvScale: { width: 0, height: 0 },
|
|
19504
|
+
cropOffset: { x: 0, y: 0 },
|
|
19505
|
+
originalSize: { width: 1, height: 1 }
|
|
19506
|
+
},
|
|
19507
|
+
assetManager: this.assets
|
|
19501
19508
|
};
|
|
19502
|
-
|
|
19503
|
-
const quad = new QuadNode(options, this.#matrixPool);
|
|
19509
|
+
const quad = new QuadNode(quadOptions, this.#matrixPool);
|
|
19504
19510
|
if (options?.position) {
|
|
19505
19511
|
quad.position = options.position;
|
|
19506
19512
|
}
|
|
@@ -19529,7 +19535,7 @@ class Toodle {
|
|
|
19529
19535
|
originalSize: { width: 1, height: 1 }
|
|
19530
19536
|
},
|
|
19531
19537
|
shader: options.shader ?? this.#defaultQuadShader(),
|
|
19532
|
-
|
|
19538
|
+
size: { width: 1, height: 1 },
|
|
19533
19539
|
layer: options.layer,
|
|
19534
19540
|
key: options.key,
|
|
19535
19541
|
rotationRadians: angle,
|
|
@@ -19836,5 +19842,5 @@ export {
|
|
|
19836
19842
|
AssetManager
|
|
19837
19843
|
};
|
|
19838
19844
|
|
|
19839
|
-
//# debugId=
|
|
19845
|
+
//# debugId=70898D8E4A9F02C164756E2164756E21
|
|
19840
19846
|
//# sourceMappingURL=mod.js.map
|