@combos-fun/engine 0.0.32 → 0.0.33

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 CHANGED
@@ -120,7 +120,11 @@ 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: Component configuration via params, not imperative calls
123
+ ### Rule 6: One render Component per GameObject
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
124
128
 
125
129
  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.
126
130
 
@@ -300,4 +304,3 @@ After modifying engine code:
300
304
  ## See also
301
305
 
302
306
  - `@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
-
@@ -964,7 +964,7 @@ class Scene extends GameObject {
964
964
  }
965
965
 
966
966
  /** Generated at build from package.json */
967
- const version = "0.0.32";
967
+ const version = "0.0.33";
968
968
 
969
969
  /**
970
970
  * Sent to `window.parent` after each `System.init` completes during `Game.addSystem`