@combos-fun/engine 0.0.33 → 0.0.34
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/agent-skill.md +2 -5
- package/dist/engine.cjs.js +52 -15
- package/dist/engine.cjs.js.map +1 -1
- package/dist/engine.cjs.prod.js +1 -1
- package/dist/engine.d.ts +1 -1
- package/dist/engine.esm.js +53 -16
- package/dist/engine.esm.js.map +1 -1
- package/package.json +2 -2
package/agent-skill.md
CHANGED
|
@@ -120,11 +120,7 @@ A Component holds data + self-contained behaviour for one concern on one entity.
|
|
|
120
120
|
|
|
121
121
|
2D display objects must come through `plugin-renderer-`* systems or a custom `Renderer` subclass registered via `rendererManager.register(this)`. 3D objects must come through `plugin-renderer-3d-`* systems or a custom `Renderer3D` subclass. No raw `new PIXI.Sprite(...)` / `new THREE.Mesh(...)` in bootstrap or plain Components.
|
|
122
122
|
|
|
123
|
-
### Rule 6:
|
|
124
|
-
|
|
125
|
-
A GameObject may carry at most one visible render Component. Do not attach multiple render Components such as `Img` + `Text`, `Graphics` + `Sprite`, or multiple sprite renderers to the same GameObject. Create child or sibling GameObjects for additional visible elements and use the Transform hierarchy to compose them. This keeps renderer ownership, bounds, picking, ordering, and destruction deterministic.
|
|
126
|
-
|
|
127
|
-
### Rule 7: Component configuration via params, not imperative calls
|
|
123
|
+
### Rule 6: Component configuration via params, not imperative calls
|
|
128
124
|
|
|
129
125
|
Configure Components through constructor params (e.g. `autoPlay: true`). If behaviour must be triggered at runtime, do it from another Component's lifecycle hook, not from bootstrap code.
|
|
130
126
|
|
|
@@ -304,3 +300,4 @@ After modifying engine code:
|
|
|
304
300
|
## See also
|
|
305
301
|
|
|
306
302
|
- `@combos-fun/engine/plugin-authoring` — full spec for writing a new `@combos-fun/plugin-*` package, including Component / System / Renderer / Renderer3D subclassing, manifest format, and publish requirements.
|
|
303
|
+
|
package/dist/engine.cjs.js
CHANGED
|
@@ -380,32 +380,69 @@ class Transform extends Component {
|
|
|
380
380
|
}
|
|
381
381
|
}
|
|
382
382
|
tslib.__decorate([
|
|
383
|
-
inspectorDecorator.
|
|
384
|
-
|
|
383
|
+
inspectorDecorator.Field({
|
|
384
|
+
type: 'vector2',
|
|
385
|
+
step: 1,
|
|
386
|
+
group: 'Transform',
|
|
387
|
+
label: 'Position',
|
|
388
|
+
description: 'Position on the design canvas (x right, y down).',
|
|
389
|
+
})
|
|
385
390
|
], Transform.prototype, "position", void 0);
|
|
386
391
|
tslib.__decorate([
|
|
387
|
-
inspectorDecorator.
|
|
388
|
-
|
|
392
|
+
inspectorDecorator.Field({
|
|
393
|
+
type: 'size',
|
|
394
|
+
step: 1,
|
|
395
|
+
min: 0,
|
|
396
|
+
group: 'Transform',
|
|
397
|
+
label: 'Size',
|
|
398
|
+
description: 'Width and height of the object in design pixels.',
|
|
399
|
+
})
|
|
389
400
|
], Transform.prototype, "size", void 0);
|
|
390
401
|
tslib.__decorate([
|
|
391
|
-
inspectorDecorator.
|
|
392
|
-
|
|
402
|
+
inspectorDecorator.Field({
|
|
403
|
+
type: 'vector2',
|
|
404
|
+
step: 0.1,
|
|
405
|
+
group: 'Transform',
|
|
406
|
+
label: 'Origin',
|
|
407
|
+
description: 'Local origin used for layout math.',
|
|
408
|
+
})
|
|
393
409
|
], Transform.prototype, "origin", void 0);
|
|
394
410
|
tslib.__decorate([
|
|
395
|
-
inspectorDecorator.
|
|
396
|
-
|
|
411
|
+
inspectorDecorator.Field({
|
|
412
|
+
type: 'vector2',
|
|
413
|
+
step: 0.1,
|
|
414
|
+
group: 'Transform',
|
|
415
|
+
label: 'Anchor',
|
|
416
|
+
description: 'Anchor point (0–1) used when positioning and scaling.',
|
|
417
|
+
})
|
|
397
418
|
], Transform.prototype, "anchor", void 0);
|
|
398
419
|
tslib.__decorate([
|
|
399
|
-
inspectorDecorator.
|
|
400
|
-
|
|
420
|
+
inspectorDecorator.Field({
|
|
421
|
+
type: 'vector2',
|
|
422
|
+
step: 0.1,
|
|
423
|
+
group: 'Transform',
|
|
424
|
+
label: 'Scale',
|
|
425
|
+
description: 'Scale multipliers on X and Y (1 = original size).',
|
|
426
|
+
})
|
|
401
427
|
], Transform.prototype, "scale", void 0);
|
|
402
428
|
tslib.__decorate([
|
|
403
|
-
inspectorDecorator.
|
|
404
|
-
|
|
429
|
+
inspectorDecorator.Field({
|
|
430
|
+
type: 'vector2',
|
|
431
|
+
step: 0.1,
|
|
432
|
+
group: 'Transform',
|
|
433
|
+
label: 'Skew',
|
|
434
|
+
description: 'Skew amounts on X and Y.',
|
|
435
|
+
})
|
|
405
436
|
], Transform.prototype, "skew", void 0);
|
|
406
437
|
tslib.__decorate([
|
|
407
|
-
inspectorDecorator.
|
|
408
|
-
|
|
438
|
+
inspectorDecorator.Field({
|
|
439
|
+
type: 'number',
|
|
440
|
+
step: 0.1,
|
|
441
|
+
group: 'Transform',
|
|
442
|
+
label: 'Rotation',
|
|
443
|
+
description: 'Rotation in radians.',
|
|
444
|
+
editor: 'number-stepper',
|
|
445
|
+
})
|
|
409
446
|
], Transform.prototype, "rotation", void 0);
|
|
410
447
|
|
|
411
448
|
let _id = 0;
|
|
@@ -964,7 +1001,7 @@ class Scene extends GameObject {
|
|
|
964
1001
|
}
|
|
965
1002
|
|
|
966
1003
|
/** Generated at build from package.json */
|
|
967
|
-
const version = "0.0.
|
|
1004
|
+
const version = "0.0.34";
|
|
968
1005
|
|
|
969
1006
|
/**
|
|
970
1007
|
* Sent to `window.parent` after each `System.init` completes during `Game.addSystem`
|