Objects
Objects are the visual and interactive elements in your project. This page covers the object hierarchy and types.
Hierarchy
Project
└── Cell
└── Layer (see Editor Guide)
└── Object (Prime or Component)
└── Component children (recursive)
Project
The Project is the root container - your entire game or experience.
- Contains all cells and global settings
- Has metadata: title, author, version
- Auto-saves to browser storage
- Exports as standalone HTML
Cell
A Cell is a screen, room, or scene - a self-contained view the player can be in.
- Has a background (color, image, gradient, pattern)
- Contains layers and objects
- Has cell-level scripts (onEnter, onExit)
- Can be marked as Start or Finish
- Positioned on the map for spatial organization
Players move between cells via doors or goto commands.
Component
A Component groups objects that form a single visual unit.
- Children have positions relative to the component
- Moving/resizing the component affects all children
- Double-click to edit children, Escape to exit
- Can be saved to Library for reuse
- Can be "exploded" back into individual objects
Use components when objects should move and scale together (e.g., a button with icon and label).
Prime Types
A Prime is an atomic visual element. Each has a type:
Shape
Visual element. Includes polygons (Rectangle, Square, Triangle, Pentagon, Hexagon, etc.) and curves (Circle, Ellipse, Heart, Arrow). Supports fill layers, stroke, corners, and shadow.
Tip: Shapes can display text via script: set MyShape.content "Hello". This creates a clickable button with text — no separate Text object needed.
Text
Display text content. Can be single or multi-line, styled, and made clickable.
Line
Connector between two points. Supports markers (arrows, circles, etc.), different stroke styles.
Grid
Spatial grid for tile-based layouts. Objects can snap to grid cells and move cell-by-cell.
Properties
Properties define an object's appearance:
| Property | Controls |
|---|---|
| Position | X, Y coordinates |
| Size | Width, Height |
| Fill | Background layers (color, gradient, image, pattern, noise) |
| Stroke | Border (width, color, style) |
| Corners | Border radius |
| Shadow | Drop shadow (offset, blur, color) |
| Opacity | Transparency (0-1) |
| Rotation | Angle in degrees |
| Perspective | Parallax depth (-1 to 1) |
Text objects also have: content, font, size, color, alignment.
Objects can also have capabilities (movable, jumpable, draggable, pageable), dynamics properties (blocking, mass, friction), and states (named property presets). See Dynamics and Scripting for details.
Tags
Tags group objects for batch operations, regardless of hierarchy.
- Add tags in the Properties panel (space-separated)
- An object can have multiple tags
- Reference in scripts with
#tagName - Works across layers and components
Example: Tag all enemies with enemy, all UI elements with ui. Then hide #enemy affects all tagged objects.
See Scripting for tag usage in scripts.