Plush

plupy type index#

plupy · Python guides

Every public type and function of the plupy package, filed by area under types/: Data, Scenes and uses, Components and inputs, Audio, Library, Context and operations, Session, Snapshots (external process). Live handles come from the API (plupy.data, plupy.context, a scene, an object); do not construct them. Members inherited from a base type are documented on that type.

Data#

types/data/ · 15 types

TypeKindSummary
Dataclassplupy.data: the project's datablocks by kind (objects, scenes, meshes, materials, sounds, …), each a collection to look up, c…
DataCollectionclassDatablocks of one kind (plupy.data.objects, .scenes, .materials, .libraries, .matter, or plupy.data.of_type(kind)): look up b…
CollectionclassIterate handles, look up stable IDs first, then exact unambiguous names. No integer indexing.
DataBlockclassBase interface shared by Object, Scene, Library and other datablock handles.
PropertiesclassA datablock's registered properties as a mapping (block.props): read props[key], write props[key] = value, inspect with schema().
EffectclassA particle/refraction effect obtained through plupy.data.of_type("effect"). Root values use props; elements use stable IDs. Look values…
MeshclassA mesh datablock. Its model file can be checked against, or replaced by, another GLB without changing its ID.
MeshCollectionclassplupy.data.meshes: primitive, generated and imported (.glb) meshes.
SpriteclassA sprite datablock (plupy.data.sprites[...]): an image for material maps and Sprite Renderer 2D, with its import settings.
SpriteCollectionclassplupy.data.sprites: images for material maps and 2D renderers, imported from files.
FontCollectionclassplupy.data.fonts: fonts for Text components, imported from .ttf or .otf files.
ShapeCollectionclassplupy.data.shapes: physics shapes, made fitted to an object's mesh or by kind and size.
PhysicsMaterialCollectionclassplupy.data.physics_materials: friction and restitution for Rigid Bodies.
ShaderclassA shader definition shared by materials: surface model, exposed parameter declarations and defaults. Create one through `plupy.data.shade…
ShaderCollectionclassplupy.data.shaders: look up shader handles, create built-in shaders or author Lit/Unlit Slang shaders. Materials reference these handle…

Scenes and uses#

types/scenes/ · 8 types

TypeKindSummary
SceneclassA scene datablock: its placed objects (objects, roots), its collections and a raycast against the authored meshes. Create one with `p…
UsesclassThe uses placed in a scene or under a parent use (scene.objects, scene.roots, use.children): look up by ID or unambiguous name, ite…
UseclassA placed object: an object datablock's use in a scene (a root) or under another use (a child), with its own name, transform and input val…
TransformclassWrite-through channel view; numeric vectors are immutable tuples. 3D rotation is XYZW quaternion.
SceneCollectionsclassA scene's collections (scene.collections): look up by ID or name, iterate, new(name).
SceneCollectionclassA named group of a scene's root uses (scene.collections[...]), with an active switch.
ObjectclassAn object datablock (plupy.data.objects[...]): reusable data with components, declared inputs and wireable pins. Place it with `s…
ComponentGroupclassShared component bundle; its components, inputs and pins edit the group definition.

Components and inputs#

types/components/ · 10 types

TypeKindSummary
ComponentsclassThe components stored on an object or component group (obj.components): look up by ID or unambiguous name, iterate, find(key), `choic…
ComponentclassA component stored on an object or component group (obj.components[...]): its catalog key, its props and its wireable pins.
ComponentPropertiesclassA component's fields as a mapping (component.props): read, write and reset the stored values, including script fields and datablock ref…
PinsclassThe wireable fields of a component or object as a mapping (component.pins, obj.pins): values by name, and typed Pin handles.
PinclassA wireable field of a component or object (pins.pin(key)): its authored value, and expose to declare an input for it.
InputsclassDeclared inputs as a mapping: on an object (obj.inputs) their defaults and wiring; on a use (use.inputs) that use's values.
Scriptsclassplupy.scripts: create a C# script file and attach compiled scripts to objects.
EvaluatedUseclassA use's resolved values after inputs, wires and group composition (use.evaluated): read-only props, inputs and transforms.
EvaluatedPropertiesclassRead-only object properties after inputs and wiring (use.evaluated.props).
EvaluatedInputsclassRead-only resolved input values, including values forwarded from outer uses (use.evaluated.inputs).

Audio#

types/audio/ · 8 types

TypeKindSummary
SoundclassA Sound. Its settings are props (sound.volumeDb, sound.loop, …); keyzones map other Sounds over ranges of notes (a drum kit: one zone per…
SoundCollectionclassplupy.data.sounds: Sounds imported from .wav files or SoundFont presets, or empty ones to fill with keyzones.
SoundSequenceclassA tracker sequence. Its settings are props (sequence.bpm, sequence.rowsPerBeat, sequence.beatsPerBar, sequence.loop); its instruments, tr…
SoundSequenceCollectionclassplupy.data.sound_sequences: tracker sequences, new or imported from MIDI.
EffectChainclassAudio effects every note of a Sound plays through, in order (assign with sound.props["sound.effects"] = chain). Kinds: "filter" (mode "Lo…
EffectChainCollectionclassplupy.data.effect_chains: audio effect chains (filter, gainer, delay, reverb).
ModulationChainclassEnvelopes every note of a Sound plays through (assign with sound.props["sound.modulation"] = chain). Modulators are AHDSR envelopes on "v…
ModulationChainCollectionclassplupy.data.modulation_chains: envelope chains that shape every note of a Sound.

Library#

types/library/ · 2 types

TypeKindSummary
LibraryclassA Library datablock (plupy.data.libraries[...]): folders of shelved datablocks, starting at folder().
LibraryFolderclassA folder of a Library (library.folder(path)): its shelved items, its child folders, and new, add and remove.

Context and operations#

types/context/ · 6 types

TypeKindSummary
Contextclassplupy.context: the scene, selection and area an operation works in. Each run starts empty; use(...) sets them for a block without cha…
Opsclassplupy.ops: editing operations; object holds the ones on scene uses.
ObjectOpsclassplupy.ops.object: operations on scene uses (move).
NodeclassA selected structural node in the Nodes area (plupy.context.selected). Shared custom-definition nodes are returned as ordinary `DataBlo…
FileSelectionclassA selected project file (plupy.context.selected in the Data area).
LibrarySelectionclassA selected Library entry or folder (plupy.context.selected in the Library area).

Session#

types/session/ · 4 types

TypeKindSummary
editfunctionGroup authoring writes into one commit and one editor Undo step: with plupy.edit("Place crates"):.
PlupyErrorexceptionAn authoring request was rejected by the owning session.
AmbiguousErrorexceptionA name matched several items; use a stable ID instead.
HandleclassThe base of every live handle: id, type and name; equal when they name the same item in one session.

Snapshots (external process)#

types/snapshots/ · 8 types

TypeKindSummary
ProjectclassA read-only project snapshot from an external process (plupy.Project.open(path, executable)).
inspect_scenefunctionRuns --inspect-scene for a scene ID, with the same 60-second timeout. Returns resolved values without loading gameplay.
Scene (snapshot)classA scene's resolved values from an external process (plupy.inspect_scene), without loading gameplay. The live scene handle is a differen…
OccurrenceclassA placed object in a scene snapshot with its effective property values.
EffectivePropertyclassOne resolved property of an occurrence with the chain of origins that produced its value.
ValueOriginclassWhere an effective value came from: the datablock, occurrence and input that supplied it.
DatablockclassA datablock in a project snapshot (project.datablocks): a copy of its identity, file, image size and references, not an editable handle.
PropertyclassA registered property of a datablock kind in a snapshot (project.properties_for(kind)).