Internal Objects
An internal object is a piece of art that lives inside the current file and is shown through copies. Move, rotate, scale, skew and flip a copy as often as you like: every render starts from the object's original pixels, so nothing wears down. Edit the object once and every copy shows the change.
Making an Object
Choose Convert to Object from the Layer menu, the layer's right-click menu, the right-click menu inside a selection, or the command palette. It works two ways:
- From a selection: the selected pixels are cut from every selected layer on the current keyframe and become the object. A moved selection has to be applied first.
- From layers: with no selection, the selected layers move into the object with all their frames.
A copy takes the place of what you converted, so the canvas looks the same as before. The whole conversion is one undo step. Objects are named Object 1, Object 2 and so on, and are listed under Internal Objects in the Library panel.
Copies
Every copy is a layer that shows the object. To add one:
- Alt-drag a copy with the Pointer tool, or copy and paste it with the Pointer active.
- Hold Ctrl as you drag a copy with the Transform tool, or use Duplicate Layer.
- Click or drag an object from the Library's Internal Objects section onto the canvas.
Each copy keeps its own transform, opacity, blend mode, effects and resampling, and its own playback: the gear button on its row opens Internal Object Properties with the same Playing, Starting Frame, Resampling and Loop Tag settings as an external object. Transforms are stored per keyframe, so copies can be tweened. A copy rotated and rotated back shows exactly the pixels it started with. Flip Layer and Rotate Layer turn the copy and leave the object alone.
Pasting a copy into another file with the Pointer brings the object along the first time and links to it on later pastes. Copy Layer and Paste Layer into another file paste the copy as plain pixels instead. Objects can't be pasted into or out of an indexed file.
The Pointer Tool
The Pointer ( A ) has its own toolbar button and works on objects, internal and external:
- Click a copy to select it; Shift+click adds or removes one.
- Drag on empty canvas to select every copy the box touches.
- Drag a selected copy to move the selection on the current keyframe, in one undo step. Hold Alt to drag out linked copies instead.
- Arrow keys nudge, Delete removes the selected copies and Escape clears the selection.
- Double-click an internal object's copy to edit it, or an external object to open its file. Right-click opens the object menu on the canvas.
Hovering outlines the copy under the cursor. The Pointer has no transform handles; use the Transform tool for those.
Editing in Place
Double-click a copy's row in the Layers panel (anywhere but its name), double-click the copy with the Pointer, or choose Edit Object from the Layer menu. The object opens right there in the scene:
- The Layers panel lists the object's own layers. Add, reorder, hide, lock and group them as in any file.
- The object has its own frames and tags. Adding or removing frames while it is open changes the object, not the file around it.
- A breadcrumb (file name, then object name) shows where you are. Click the object's name in it to rename the object.
- Other copies keep showing the frame they showed when you opened the object, and update as you draw.
- Pixels drawn past the object's edge grow it when you close it, and no copy moves on screen when it grows.
Press Done, Escape or the file's name in the breadcrumb to go back. Every edit inside the object is a normal step in the file's history, so undo works the same inside and outside.
Objects can hold copies of other objects. Inside an open object, a Pointer double-click on a copy opens that one next. An object can't hold a copy of itself, and copies nested more than four levels deep show empty.
Painting on a Copy
You can also draw on a copy without opening its object. With the copy as the active layer, the brush, eraser, spray, scatter, dither, shading, line, shapes, curve, polygon, contour and gradient tools paint into the object, and every copy shows the stroke. The Bucket fills inside the object's content. The stroke lands on the object's highest layer that is visible, unlocked and normal; if there is none, a message says so.
- The stroke has to start on the copy. A press outside it is refused with Press on the object to paint on it.
- On a rotated or scaled copy each pixel lands where you drew it. That is exact with Nearest resampling and close with CleanEdge or RotSprite. On a scaled-up copy each pixel you paint shows as a block.
- Painting past the edge grows the object. The stroke and the growth are one undo step.
External objects can't be painted on: open their file to draw on them.
Object Actions
Right-click a copy's row, or use the Layer menu or the Pointer's canvas menu:
- Make Object Unique: gives this copy an object of its own, so later edits stop reaching the other copies.
- Unpack Object: turns the copy into the object's layers, looking the same: one layer, or a group for an object with several layers. Any transform is baked in.
- Swap Object…: opens the Library and shows the item you pick in this copy's place, keeping its transform, opacity and effects.
- Make External: moves the object into a new workspace file, with its frames and tags, and turns its copies into external objects of that file. Undoing it brings the object back; the new file moves to Recently deleted if you have not changed it. An object holding copies of other objects can't be made external.
- Rasterize Object: turns the copy into a plain pixel layer.
Make Internal, on an external object, does the reverse: it copies the file it shows into this file as an internal object. It works on whole files, not slices.
Deleting the last copy keeps the object in the Library. To remove an object, right-click it in the Library and choose Delete Object: its copies become plain pixel layers, a message says how many, and one undo brings everything back.