std-sprite
Level: Atom | Entity: Sprite | Persistence: runtime
1 states, 3 events, 3 transitions
Live Preview
schema.orb
{
"name": "SpriteOrbital",
"orbitals": [
{
"name": "SpriteOrbital",
"entity": {
"name": "Sprite",
"persistence": "runtime",
"fields": [
{
"name": "id",
"type": "string"
},
{
"name": "name",
"type": "string"
},
{
"name": "description",
"type": "string"
},
{
"name": "status",
"type": "string",
"default": "active",
"values": [
"active",
"inactive",
"pending"
]
},
{
"name": "createdAt",
"type": "string"
},
{
"name": "x",
"type": "number",
"default": 0
},
{
"name": "y",
"type": "number",
"default": 0
},
{
"name": "frame",
"type": "number",
"default": 0
},
{
"name": "spritesheet",
"type": "string",
"default": ""
}
]
},
"traits": [
{
"name": "SpriteSprite",
"linkedEntity": "Sprite",
"category": "interaction",
"stateMachine": {
"states": [
{
"name": "idle",
"isInitial": true
}
],
"events": [
{
"key": "INIT",
"name": "Initialize"
},
{
"key": "SET_FRAME",
"name": "Set Frame",
"payload": [
{
"name": "frame",
"type": "number",
"required": true
}
]
},
{
"key": "CLICK",
"name": "Click"
}
],
"transitions": [
{
"from": "idle",
"to": "idle",
"event": "INIT",
"effects": [
[
"fetch",
"Sprite"
],
[
"render-ui",
"main",
{
"type": "sprite",
"spritesheet": "@Sprite.spritesheet",
"frameWidth": 64,
"frameHeight": 64,
"frame": "@Sprite.frame",
"x": "@Sprite.x",
"y": "@Sprite.y",
"scale": 1
}
]
]
},
{
"from": "idle",
"to": "idle",
"event": "SET_FRAME",
"effects": [
[
"render-ui",
"main",
{
"type": "sprite",
"spritesheet": "@Sprite.spritesheet",
"frameWidth": 64,
"frameHeight": 64,
"frame": "@Sprite.frame",
"x": "@Sprite.x",
"y": "@Sprite.y",
"scale": 1
}
]
]
},
{
"from": "idle",
"to": "idle",
"event": "CLICK",
"effects": []
}
]
}
}
],
"pages": [
{
"name": "SpriteSpritePage",
"path": "/sprites",
"traits": [
{
"ref": "SpriteSprite"
}
]
}
]
}
],
"description": "Sprite renderer atom using the `sprite` pattern. Renders a single frame from a spritesheet with position and scale. Handles frame changes and click events."
}
Loading preview...
Orbital Visualization
Loading visualization...
Entity Fields
| Field | Type | Default |
|---|---|---|
| id | string | - |
| name | string | - |
| description | string | - |
| status | string | "active" |
| createdAt | string | - |
| x | number | 0 |
| y | number | 0 |
| frame | number | 0 |
| spritesheet | string | "" |
States
| State | Type |
|---|---|
| idle | Initial |
Events
| Event | Payload |
|---|---|
| INIT | - |
| SET_FRAME | frame: number |
| CLICK | - |
Transitions
| From | Event | To | Effects |
|---|---|---|---|
| idle | INIT | idle | 2 effects |
| idle | SET_FRAME | idle | 1 effect |
| idle | CLICK | idle | - |