@combos-fun/plugin-renderer-img 0.0.5 → 0.0.7
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 +25 -1
- package/agent-skill.md +56 -0
- package/combos-plugin.json +11 -0
- package/package.json +20 -6
package/README.md
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
1
|
# @combos-fun/plugin-renderer-img
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
@combos-fun/plugin-renderer-img — part of the Combos Fun engine monorepo.
|
|
4
|
+
|
|
5
|
+
Keywords: `image`, `sprite`, `static`, `2d`.
|
|
6
|
+
|
|
7
|
+
## Documentation
|
|
8
|
+
|
|
9
|
+
- Per-package agent / developer notes: [`agent-skill.md`](./agent-skill.md)
|
|
10
|
+
- Machine-readable manifest: [`combos-plugin.json`](./combos-plugin.json)
|
|
11
|
+
(validated against `schemas/combos-plugin.schema.json` in the repo
|
|
12
|
+
root)
|
|
13
|
+
- Entry skill (single source of truth for AI agents working with this
|
|
14
|
+
monorepo): `skills/combos-engine-development/SKILL.md`
|
|
15
|
+
|
|
16
|
+
When consumed from npm, the manifest and agent notes are exposed as
|
|
17
|
+
stable subpaths:
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
import manifest from '@combos-fun/plugin-renderer-img/plugin-manifest';
|
|
21
|
+
// or fetch the markdown directly:
|
|
22
|
+
// require.resolve('@combos-fun/plugin-renderer-img/agent-skill')
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## License
|
|
26
|
+
|
|
27
|
+
Internal workspace package, part of the Combos Fun engine monorepo.
|
package/agent-skill.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# `@combos-fun/plugin-renderer-img` — Agent notes
|
|
2
|
+
|
|
3
|
+
Static image rendering for the 2D pipeline. Loads an `IMAGE` resource and
|
|
4
|
+
draws it as a Pixi `Sprite` under the GameObject's `Container`.
|
|
5
|
+
|
|
6
|
+
## When to read
|
|
7
|
+
|
|
8
|
+
Read whenever you need a single static image: icons, backgrounds,
|
|
9
|
+
single-frame foregrounds.
|
|
10
|
+
|
|
11
|
+
## Public API
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { Img, ImgSystem, type ImgParams } from '@combos-fun/plugin-renderer-img';
|
|
15
|
+
import { resource, RESOURCE_TYPE } from '@combos-fun/engine';
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`componentName = 'Img'`, `systemName = 'ImgSystem'`.
|
|
19
|
+
|
|
20
|
+
### `ImgParams`
|
|
21
|
+
|
|
22
|
+
| Field | Type | Notes |
|
|
23
|
+
|-------|------|-------|
|
|
24
|
+
| `resource` | `string` | Engine resource name registered with `RESOURCE_TYPE.IMAGE` |
|
|
25
|
+
|
|
26
|
+
Side effect: importing the package registers `IMAGE` resource handlers
|
|
27
|
+
on the engine `resource` singleton.
|
|
28
|
+
|
|
29
|
+
## Required setup
|
|
30
|
+
|
|
31
|
+
1. `RendererSystem` and `ImgSystem` registered in that order.
|
|
32
|
+
2. `resource.addResource([{ name, src: '...png', preload: true }])` and
|
|
33
|
+
`name` matches the component's `resource`.
|
|
34
|
+
|
|
35
|
+
## Common pitfalls
|
|
36
|
+
|
|
37
|
+
| Symptom | Fix |
|
|
38
|
+
|---------|-----|
|
|
39
|
+
| Resource name not found | Ensure name matches `resource.addResource` and that loading completed (`preload: true` or wait `LOAD_EVENT.COMPLETE`) |
|
|
40
|
+
| Image at origin (0,0) | Set `Transform.position` |
|
|
41
|
+
| Wrong anchor | Set `Transform.origin: { x: 0.5, y: 0.5 }` for center anchoring |
|
|
42
|
+
| Multiple drawables on same GO | Don't stack `Img` + `Sprite` — split GOs |
|
|
43
|
+
|
|
44
|
+
## Minimal example
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
resource.addResource([{ name: 'logo', src: 'logo.png', preload: true }]);
|
|
48
|
+
|
|
49
|
+
const go = new GameObject('logo');
|
|
50
|
+
go.addComponent(new Transform({ position: { x: 100, y: 100 } }));
|
|
51
|
+
go.addComponent(new Img({ resource: 'logo' }));
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Verification
|
|
55
|
+
|
|
56
|
+
`pnpm --filter @combos-fun/plugin-renderer-img run build`.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@combos-fun/plugin-renderer-img",
|
|
3
|
+
"pluginId": "renderer-img",
|
|
4
|
+
"category": "rendering",
|
|
5
|
+
"dimension": "2d",
|
|
6
|
+
"isCore": false,
|
|
7
|
+
"keywords": ["image", "sprite", "static", "2d"],
|
|
8
|
+
"agentSkill": "./agent-skill.md",
|
|
9
|
+
"requires": ["@combos-fun/engine", "@combos-fun/plugin-renderer"],
|
|
10
|
+
"exports": ["Img", "ImgSystem"]
|
|
11
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@combos-fun/plugin-renderer-img",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "@combos-fun/plugin-renderer-img",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "dist/plugin-renderer-img.esm.js",
|
|
@@ -8,8 +8,22 @@
|
|
|
8
8
|
"unpkg": "dist/CombosFun.plugin.renderer.img.min.js",
|
|
9
9
|
"files": [
|
|
10
10
|
"index.js",
|
|
11
|
-
"dist"
|
|
11
|
+
"dist",
|
|
12
|
+
"agent-skill.md",
|
|
13
|
+
"combos-plugin.json"
|
|
12
14
|
],
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"import": "./dist/plugin-renderer-img.esm.js",
|
|
18
|
+
"require": "./index.js",
|
|
19
|
+
"types": "./dist/plugin-renderer-img.d.ts"
|
|
20
|
+
},
|
|
21
|
+
"./plugin-manifest": "./combos-plugin.json",
|
|
22
|
+
"./agent-skill": "./agent-skill.md"
|
|
23
|
+
},
|
|
24
|
+
"combos": {
|
|
25
|
+
"pluginManifest": "./combos-plugin.json"
|
|
26
|
+
},
|
|
13
27
|
"types": "dist/plugin-renderer-img.d.ts",
|
|
14
28
|
"keywords": [
|
|
15
29
|
"combos-fun",
|
|
@@ -18,10 +32,10 @@
|
|
|
18
32
|
"author": "sun668 <q947692259@gmail.com>",
|
|
19
33
|
"dependencies": {
|
|
20
34
|
"pixi.js": "^8.18.1",
|
|
21
|
-
"@combos-fun/
|
|
22
|
-
"@combos-fun/engine": "0.0.
|
|
23
|
-
"@combos-fun/
|
|
24
|
-
"@combos-fun/renderer-adapter": "0.0.
|
|
35
|
+
"@combos-fun/inspector-decorator": "0.0.7",
|
|
36
|
+
"@combos-fun/engine": "0.0.7",
|
|
37
|
+
"@combos-fun/plugin-renderer": "0.0.7",
|
|
38
|
+
"@combos-fun/renderer-adapter": "0.0.7"
|
|
25
39
|
},
|
|
26
40
|
"scripts": {
|
|
27
41
|
"build": "node ../../scripts/build-package.mjs"
|