Particle types
Import these public contracts with type from @pibbl/core/particles.
Particles2DProps
Section titled “Particles2DProps”Exactly one 2D effect or system plus shared interaction and parameter props.
Particles2DStyle
Section titled “Particles2DStyle”Declared Canvas box, layout-item, cursor, opacity, transform, and filter style.
PibblFlowField2D
Section titled “PibblFlowField2D”A component-owned field handle with a readonly revision signal and batched velocity sampling into caller-owned numerical buffers.
PibblFlowFieldOptions2D
Section titled “PibblFlowFieldOptions2D”Mount-only bounds and grid resolution, an optional obstacle source, and a
buoyancy acceleration coefficient (default -300).
PibblFlowObstacleBatch2D
Section titled “PibblFlowObstacleBatch2D”A revision, a borrowed Float64Array of packed boxes, and optional borrowed
ellipses and polygons arrays. Each box occupies ten
entries: center x/y, half width/height, rotation in radians, linear velocity x/y,
angular velocity in radians/second, and center of mass x/y. All quantities use
field-local logical coordinates. Ellipses use the same layout, with radii instead
of half extents. Each polygon record contains vertex count (at least three),
linear velocity x/y, angular velocity, center of mass x/y, then vertex x/y pairs.
Extents must be positive. Increment revision
whenever geometry or motion changes; unchanged revisions reuse the solid grid.
PibblFlowObstacleSource2D
Section titled “PibblFlowObstacleSource2D”A read() method returning the latest committed obstacle batch. A read must not
advance its upstream simulation. The field copies relevant data into its own
storage and does not retain the batch buffer or assume shared WASM memory.
PibblFlowSourceOptions2D
Section titled “PibblFlowSourceOptions2D”Signal-valued position, positive radius, optional acceleration, nonnegative heat injection rate, and enabled state. Sources drive flow independently of particle emission.
PibblParticleAppearance
Section titled “PibblParticleAppearance”Optional size, rotation, color, and opacity values sampled over normalized lifetime.
PibblParticleBounds2D
Section titled “PibblParticleBounds2D”A conservative local two-dimensional minimum and maximum used for coarse culling.
PibblParticleBurstAcceptedEvent
Section titled “PibblParticleBurstAcceptedEvent”Reports the requested and accepted counts for an admitted manual burst.
PibblParticleBurstOverrides
Section titled “PibblParticleBurstOverrides”Overrides count, local position, seed salt, or parameters for one manual birth request.
PibblParticleBurstRejectedEvent
Section titled “PibblParticleBurstRejectedEvent”Reports a capacity, pause, stop, or disposal rejection and its accepted count.
PibblParticleChoice
Section titled “PibblParticleChoice”An immutable weighted-selection descriptor created by particleChoice.
PibblParticleCommonProps
Section titled “PibblParticleCommonProps”Shared parameter, event, error, pointer, and keyboard props for particle components.
PibblParticleCurve
Section titled “PibblParticleCurve”An immutable scalar or two-dimensional curve over normalized lifetime.
PibblParticleCurveOptions
Section titled “PibblParticleCurveOptions”Optional Pibbl easing applied within curve or gradient key intervals.
PibblParticleCurveValue
Section titled “PibblParticleCurveValue”The scalar or two-dimensional value accepted by particleCurve.
PibblParticleDiagnostic
Section titled “PibblParticleDiagnostic”The closed definition, capability, asset, binding, capacity, execution, and disposal diagnostic union.
PibblParticleDrainStartEvent
Section titled “PibblParticleDrainStartEvent”Marks the committed transition that closes new emission while existing particles finish.
PibblParticleEffect2D
Section titled “PibblParticleEffect2D”A nominal immutable two-dimensional definition carrying emitter and parameter inference.
PibblParticleEffect2DInput
Section titled “PibblParticleEffect2DInput”The debug name, parameter definitions, and nonempty 2D emitter input.
PibblParticleEmission
Section titled “PibblParticleEmission”Rate, scheduled burst, or manual emission configuration.
PibblParticleEmitter2D
Section titled “PibblParticleEmitter2D”A fixed-capacity Canvas emitter with shape, initial state, motion, appearance, renderer, and bounds.
PibblParticleExecution
Section titled “PibblParticleExecution”The readonly selected backend state published by a particle system.
PibblParticleFinishEvent
Section titled “PibblParticleFinishEvent”Marks a drained finite population reaching its completed empty frame.
PibblParticleGradient
Section titled “PibblParticleGradient”An immutable color curve created by particleGradient.
PibblParticleInitial2D
Section titled “PibblParticleInitial2D”Lifetime, velocity, size, rotation, color, and opacity sampled at 2D birth.
PibblParticleIntegerRange
Section titled “PibblParticleIntegerRange”An inclusive safe-integer descriptor created by particleInteger.
PibblParticleMotion2D
Section titled “PibblParticleMotion2D”The closed two-dimensional acceleration, drag, drift, radial, orbit, sway, and angular module union.
PibblParticleOverflow
Section titled “PibblParticleOverflow”Either deterministic "reject-newest" or "recycle-oldest" capacity behavior.
PibblParticleParameterDefinition
Section titled “PibblParticleParameterDefinition”A typed number, vector, or color default with spawn, simulation, or render timing.
PibblParticleParameterDefinitions
Section titled “PibblParticleParameterDefinitions”The named parameter-definition record accepted by an effect.
PibblParticleParameterReference
Section titled “PibblParticleParameterReference”An immutable named reference created by particleParameter.
PibblParticleParameterTiming
Section titled “PibblParticleParameterTiming”The "spawn", "simulation", or "render" parameter adoption category.
PibblParticleParameterValue
Section titled “PibblParticleParameterValue”The number, color string, or two-dimensional vector value union.
PibblParticleParameterValues
Section titled “PibblParticleParameterValues”A readonly named parameter-value record.
PibblParticleRange
Section titled “PibblParticleRange”A continuous minimum/maximum descriptor created by particleRange.
PibblParticleRenderer2D
Section titled “PibblParticleRenderer2D”The circle, rectangle, path, or sprite Canvas renderer union and its blend intent.
PibblParticleScalar
Section titled “PibblParticleScalar”A fixed number or compiled range, integer, choice, or parameter descriptor.
PibblParticleShape2D
Section titled “PibblParticleShape2D”The point, line, rectangle, circle, or ring birth-shape union.
PibblParticleStartEvent
Section titled “PibblParticleStartEvent”Marks a committed system start.
PibblParticleSystem
Section titled “PibblParticleSystem”Stable controls plus readonly status and execution signals for one owned population.
PibblParticleSystemEvent
Section titled “PibblParticleSystemEvent”The start, burst acceptance/rejection, drain, and finish event union.
PibblParticleSystemOptions
Section titled “PibblParticleSystemOptions”Autoplay, seed, debug name, event, and error options for useParticleSystem.
PibblParticleSystemStatus
Section titled “PibblParticleSystemStatus”The idle, scheduled, running, paused, draining, finished, or disposed lifecycle state.
PibblParticleValueFor
Section titled “PibblParticleValueFor”Maps one parameter definition to its accepted runtime value type.
PibblParticleValuesOf
Section titled “PibblParticleValuesOf”Maps a named parameter-definition record to its inferred value record.
PibblParticleVector2
Section titled “PibblParticleVector2”A two-component scalar tuple or compatible named parameter reference.
API details from source
Section titled “API details from source”
PibblParticleAppearance
Section titled “PibblParticleAppearance”Size, rotation, color, and opacity changes over a particle’s lifetime.
interface PibblParticleAppearanceRelated API: PibblParticleAppearance.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:504
Properties and methods
Section titled “Properties and methods”
size (optional)
readonly size?: PibblParticleCurve<number | readonly [number, number]> | undefinedRelated API: PibblParticleCurve.
Scalar or two-component size curve evaluated over normalized particle lifetime. See PibblParticleCurve.
View source — packages/core/src/features/particles/lib/types.ts:509
rotationDegrees (optional)
readonly rotationDegrees?: PibblParticleCurve<number> | undefinedRelated API: PibblParticleCurve.
Rotation curve in degrees evaluated over normalized particle lifetime. See PibblParticleCurve.
View source — packages/core/src/features/particles/lib/types.ts:514
color (optional)
readonly color?: PibblParticleGradient | undefinedRelated API: PibblParticleGradient.
Color gradient evaluated over normalized particle lifetime. See PibblParticleGradient.
View source — packages/core/src/features/particles/lib/types.ts:518
opacity (optional)
readonly opacity?: PibblParticleCurve<number> | undefinedRelated API: opacity, PibblParticleCurve.
Opacity curve evaluated over normalized particle lifetime. See PibblParticleCurve.
View source — packages/core/src/features/particles/lib/types.ts:520
PibblParticleBounds2D
Section titled “PibblParticleBounds2D”Conservative minimum and maximum particle extents used for emitter culling.
interface PibblParticleBounds2DRelated API: PibblParticleBounds2D.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:571
Properties and methods
Section titled “Properties and methods”
min
readonly min: readonly [number, number]Lower bound of the coordinate or sampling interval. See PibblParticleBounds2D.
View source — packages/core/src/features/particles/lib/types.ts:573
max
readonly max: readonly [number, number]Upper bound of the coordinate or sampling interval. See PibblParticleBounds2D.
View source — packages/core/src/features/particles/lib/types.ts:575
PibblParticleBurstAcceptedEvent
Section titled “PibblParticleBurstAcceptedEvent”Reports the requested and accepted particle counts for an emitter burst.
interface PibblParticleBurstAcceptedEventRelated API: PibblParticleBurstAcceptedEvent.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:716
Properties and methods
Section titled “Properties and methods”
type
readonly type: "burst-accepted"The literal “burst-accepted” identifying this variant. See PibblParticleBurstAcceptedEvent.
View source — packages/core/src/features/particles/lib/types.ts:721
emitter
readonly emitter: stringName of the emitter associated with this notification. See PibblParticleBurstAcceptedEvent.
View source — packages/core/src/features/particles/lib/types.ts:726
requested
readonly requested: numberNumber of particles requested by the burst. See PibblParticleBurstAcceptedEvent.
View source — packages/core/src/features/particles/lib/types.ts:728
accepted
readonly accepted: numberNumber of particles admitted by the burst. See PibblParticleBurstAcceptedEvent.
View source — packages/core/src/features/particles/lib/types.ts:730
PibblParticleBurstOverrides
Section titled “PibblParticleBurstOverrides”Per-burst count, position, seed, and parameter overrides.
interface PibblParticleBurstOverridesRelated API: PibblParticleBurstOverrides.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:914
Properties and methods
Section titled “Properties and methods”
count (optional)
readonly count?: number | undefinedNumber of particles or sources requested by this configuration. See PibblParticleBurstOverrides.
View source — packages/core/src/features/particles/lib/types.ts:919
position (optional)
readonly position?: readonly [number, number] | undefinedPosition of the geometry, source, or selected resize handle. See PibblParticleBurstOverrides.
View source — packages/core/src/features/particles/lib/types.ts:924
seedSalt (optional)
readonly seedSalt?: number | undefinedAdditional seed input distinguishing this burst from otherwise identical requests. See PibblParticleBurstOverrides.
View source — packages/core/src/features/particles/lib/types.ts:929
parameters (optional)
readonly parameters?: Readonly<Record<string, string | number | readonly number[]>> | undefinedNamed parameter definitions or values for this effect instance. See PibblParticleBurstOverrides.
View source — packages/core/src/features/particles/lib/types.ts:934
PibblParticleBurstRejectedEvent
Section titled “PibblParticleBurstRejectedEvent”Reports a burst rejection and whether capacity or system state prevented admission.
interface PibblParticleBurstRejectedEventRelated API: PibblParticleBurstRejectedEvent.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:738
Properties and methods
Section titled “Properties and methods”
type
readonly type: "burst-rejected"The literal “burst-rejected” identifying this variant. See PibblParticleBurstRejectedEvent.
View source — packages/core/src/features/particles/lib/types.ts:743
emitter
readonly emitter: stringName of the emitter associated with this notification. See PibblParticleBurstRejectedEvent.
View source — packages/core/src/features/particles/lib/types.ts:748
requested
readonly requested: numberNumber of particles requested by the burst. See PibblParticleBurstRejectedEvent.
View source — packages/core/src/features/particles/lib/types.ts:750
accepted
readonly accepted: numberNumber of particles admitted by the burst. See PibblParticleBurstRejectedEvent.
View source — packages/core/src/features/particles/lib/types.ts:752
reason
readonly reason: "capacity" | "disposed" | "paused" | "stopped"Reason the operation could not produce its ordinary result. See PibblParticleBurstRejectedEvent.
View source — packages/core/src/features/particles/lib/types.ts:757
PibblParticleChoice
Section titled “PibblParticleChoice”A weighted collection of candidate values for particle sampling.
interface PibblParticleChoice<T>Related API: PibblParticleChoice.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:170
Properties and methods
Section titled “Properties and methods”
type
readonly type: "choice"The literal “choice” identifying this variant. See PibblParticleChoice.
View source — packages/core/src/features/particles/lib/types.ts:172
choices
readonly choices: readonly Readonly<{ value: T; weight: number; }>[]Weighted candidate values sampled by the effect. See PibblParticleChoice.
View source — packages/core/src/features/particles/lib/types.ts:174
PibblParticleCommonProps
Section titled “PibblParticleCommonProps”Shared parameter, interaction, focus, and lifecycle inputs for particle components.
interface PibblParticleCommonProps<Parameters extends PibblParticleParameterValues> extends PibblEventHandlers, PibblEventParticipationOptionsRelated API: PibblParticleCommonProps, PibblParticleParameterValues, PibblEventHandlers, PibblEventParticipationOptions.
See also
Section titled “See also”PibblEventParticipationOptions
View source — packages/core/src/features/particles/lib/types.ts:1016
Properties and methods
Section titled “Properties and methods”
parameters (optional)
readonly parameters?: Readonly<Partial<Parameters>> | undefinedNamed parameter definitions or values for this effect instance. See PibblParticleCommonProps.
View source — packages/core/src/features/particles/lib/types.ts:1022
keyboardFocusable (optional)
readonly keyboardFocusable?: boolean | undefinedWhether the target may receive keyboard focus. See PibblParticleCommonProps.
View source — packages/core/src/features/particles/lib/types.ts:1024
keyboardNavigationBounds (optional)
readonly keyboardNavigationBounds?: Readonly<LayoutBox> | undefinedRelated API: LayoutBox.
Logical rectangle used for directional keyboard navigation. See LayoutBox.
View source — packages/core/src/features/particles/lib/types.ts:1026
onEvent (optional)
readonly onEvent?: ((event: PibblParticleSystemEvent) => void) | undefinedRelated API: PibblParticleSystemEvent.
Receives lifecycle and milestone notifications. See PibblParticleSystemEvent.
Parameters
Section titled “Parameters”event— Particle playback or emission event. See PibblParticleSystemEvent.
View source — packages/core/src/features/particles/lib/types.ts:1031
onError (optional)
readonly onError?: ((error: unknown) => void) | undefinedReceives failures reported by the owning runtime resource. See PibblParticleCommonProps .
Parameters
Section titled “Parameters”error— Failure reported by the particle system.
View source — packages/core/src/features/particles/lib/types.ts:1037
pointerEvents (optional)
readonly pointerEvents?: PibblPointerEvents | undefinedRelated API: PibblPointerEvents.
Whether this content participates in pointer targeting. See PibblPointerEvents.
PibblParticleCurve
Section titled “PibblParticleCurve”Keyframes describing a numeric or two-component value over particle lifetime.
interface PibblParticleCurve<T extends PibblParticleCurveValue>Related API: PibblParticleCurve, PibblParticleCurveValue.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:258
Properties and methods
Section titled “Properties and methods”
type
readonly type: "curve"The literal “curve” identifying this variant. See PibblParticleCurve.
View source — packages/core/src/features/particles/lib/types.ts:260
keys
readonly keys: readonly (readonly [time: number, value: T])[]Ordered keyframes at normalized lifetime positions. See PibblParticleCurve.
View source — packages/core/src/features/particles/lib/types.ts:262
options (optional)
readonly options?: PibblParticleCurveOptions | undefinedRelated API: PibblParticleCurveOptions.
Interpolation options applied between keyframes. See PibblParticleCurveOptions.
View source — packages/core/src/features/particles/lib/types.ts:264
PibblParticleCurveOptions
Section titled “PibblParticleCurveOptions”Easing used to interpolate between particle keyframes.
interface PibblParticleCurveOptionsRelated API: PibblParticleCurveOptions.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:245
Properties and methods
Section titled “Properties and methods”
easing (optional)
readonly easing?: PibblEasing | undefinedRelated API: easing, PibblEasing.
Maps normalized progress before interpolation. See PibblParticleCurveOptions.
View source — packages/core/src/features/particles/lib/types.ts:247
PibblParticleCurveValue
Section titled “PibblParticleCurveValue”A scalar or two-component value supported by particle curves.
type PibblParticleCurveValue = number | readonly [number, number]Related API: PibblParticleCurveValue.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:235
PibblParticleDiagnostic
Section titled “PibblParticleDiagnostic”Structured validation, capability, asset, execution, or ownership failure from a particle system.
Full type declaration
type PibblParticleDiagnostic = | Readonly<{ /** * The literal "definition-invalid" identifying this variant. See * {@link PibblParticleDiagnostic}. */ type: "definition-invalid"; /** Human-readable diagnostic explanation. See {@link PibblParticleDiagnostic}. */ message: string; /** * Particle effect associated with this input or diagnostic. See * {@link PibblParticleDiagnostic}. */ effect?: string; /** Name of the emitter associated with this notification. See {@link PibblParticleDiagnostic}. */ emitter?: string; /** Name of the affected input property. See {@link PibblParticleDiagnostic}. */ property?: string; }> | Readonly<{ /** * The literal "capability-unsupported" identifying this variant. See * {@link PibblParticleDiagnostic}. */ type: "capability-unsupported"; /** Human-readable diagnostic explanation. See {@link PibblParticleDiagnostic}. */ message: string; /** Name of the unsupported runtime capability. See {@link PibblParticleDiagnostic}. */ capability: string; /** * Particle effect associated with this input or diagnostic. See * {@link PibblParticleDiagnostic}. */ effect?: string; /** Name of the emitter associated with this notification. See {@link PibblParticleDiagnostic}. */ emitter?: string; }> | Readonly<{ /** * Selects `"asset-invalid"` , `"binding-conflict"` , `"backend-mismatch"` for type. See * {@link PibblParticleDiagnostic}. */ type: "asset-invalid" | "binding-conflict" | "backend-mismatch"; /** Human-readable diagnostic explanation. See {@link PibblParticleDiagnostic}. */ message: string; /** * Particle effect associated with this input or diagnostic. See * {@link PibblParticleDiagnostic}. */ effect?: string; /** Name of the emitter associated with this notification. See {@link PibblParticleDiagnostic}. */ emitter?: string; }> | Readonly<{ /** * Selects `"capacity-rejected"` , `"execution-failed"` , `"disposed"` for type. See * {@link PibblParticleDiagnostic}. */ type: "capacity-rejected" | "execution-failed" | "disposed"; /** Human-readable diagnostic explanation. See {@link PibblParticleDiagnostic}. */ message: string; /** * Particle effect associated with this input or diagnostic. See * {@link PibblParticleDiagnostic}. */ effect?: string; /** Name of the emitter associated with this notification. See {@link PibblParticleDiagnostic}. */ emitter?: string; }>Related API: PibblParticleDiagnostic.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:803
Properties and methods
Section titled “Properties and methods”
type
type: "asset-invalid" | "backend-mismatch" | "binding-conflict" | "capability-unsupported" | "capacity-rejected" | "definition-invalid" | "disposed" | "execution-failed"The literal “definition-invalid” identifying this variant. See
PibblParticleDiagnostic.
The literal “capability-unsupported” identifying this variant. See
PibblParticleDiagnostic.
Selects "asset-invalid" , "binding-conflict" , "backend-mismatch" for type. See
PibblParticleDiagnostic.
Selects "capacity-rejected" , "execution-failed" , "disposed" for type. See
PibblParticleDiagnostic.
View source — packages/core/src/features/particles/lib/types.ts:809
message
message: stringHuman-readable diagnostic explanation. See PibblParticleDiagnostic.
View source — packages/core/src/features/particles/lib/types.ts:811
effect (optional)
effect?: string | undefinedParticle effect associated with this input or diagnostic. See PibblParticleDiagnostic.
View source — packages/core/src/features/particles/lib/types.ts:816
emitter (optional)
emitter?: string | undefinedName of the emitter associated with this notification. See PibblParticleDiagnostic.
View source — packages/core/src/features/particles/lib/types.ts:818
PibblParticleDrainStartEvent
Section titled “PibblParticleDrainStartEvent”Notifies that emission has stopped while existing particles finish their lifetimes.
interface PibblParticleDrainStartEventRelated API: PibblParticleDrainStartEvent.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:765
Properties and methods
Section titled “Properties and methods”
type
readonly type: "drain-start"The literal “drain-start” identifying this variant. See PibblParticleDrainStartEvent.
View source — packages/core/src/features/particles/lib/types.ts:767
PibblParticleEffect2D
Section titled “PibblParticleEffect2D”A validated, branded 2D effect carrying its emitter-name and parameter types.
interface PibblParticleEffect2D<EmitterName extends string = string, Parameters extends PibblParticleParameterValues = PibblParticleParameterValues>Related API: PibblParticleEffect2D, PibblParticleParameterValues.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:665
Properties and methods
Section titled “Properties and methods”
dimension
readonly dimension: 2The literal 2 identifying this variant. See PibblParticleEffect2D.
View source — packages/core/src/features/particles/lib/types.ts:670
PibblParticleEffect2DInput
Section titled “PibblParticleEffect2DInput”Authored parameters and nonempty emitter definitions used to create a 2D effect.
interface PibblParticleEffect2DInputRelated API: PibblParticleEffect2DInput.
See also
Section titled “See also”PibblParticleParameterDefinitions
View source — packages/core/src/features/particles/lib/types.ts:643
Properties and methods
Section titled “Properties and methods”
debugName (optional)
readonly debugName?: string | undefinedOptional label used in diagnostics. See PibblParticleEffect2DInput.
View source — packages/core/src/features/particles/lib/types.ts:645
parameters (optional)
readonly parameters?: Readonly<Record<string, PibblParticleParameterDefinition>> | undefinedRelated API: PibblParticleParameterDefinition.
Named parameter definitions or values for this effect instance. See PibblParticleParameterDefinitions.
View source — packages/core/src/features/particles/lib/types.ts:650
emitters
readonly emitters: readonly [PibblParticleEmitter2D, ...PibblParticleEmitter2D[]]Related API: PibblParticleEmitter2D.
Named emitters forming the reusable effect. See PibblParticleEmitter2D.
View source — packages/core/src/features/particles/lib/types.ts:652
PibblParticleEmission
Section titled “PibblParticleEmission”A timed rate, scheduled burst, or manually triggered particle emission rule.
Full type declaration
type PibblParticleEmission = | Readonly<{ /** The literal "rate" identifying this variant. See {@link PibblParticleEmission}. */ type: "rate"; /** Continuous emission rate in particles per second. See {@link PibblParticleEmission}. */ particlesPerSecond: number; /** Delay before the emission rule becomes active. See {@link PibblParticleEmission}. */ startMilliseconds?: number; /** Duration for which the emission rule remains active. See {@link PibblParticleEmission}. */ durationMilliseconds?: number; /** * Probability that an eligible emission is accepted by this rule. See * {@link PibblParticleEmission}. */ probability?: number; /** Whether the browser reported an auto-repeated key press. See {@link PibblParticleEmission}. */ repeat?: Readonly<{ /** Interval between repeated emissions. See {@link PibblParticleEmission}. */ everyMilliseconds: number; /** * Number of particles or sources requested by this configuration. See * {@link PibblParticleEmission}. */ count: number; }>; }> | Readonly<{ /** The literal "burst" identifying this variant. See {@link PibblParticleEmission}. */ type: "burst"; /** Logical time at which a scheduled burst occurs. See {@link PibblParticleEmission}. */ atMilliseconds: number; /** * Number of particles or sources requested by this configuration. See * {@link PibblParticleIntegerRange}. */ count: number | PibblParticleIntegerRange; /** * Probability that an eligible emission is accepted by this rule. See * {@link PibblParticleEmission}. */ probability?: number; /** Whether the browser reported an auto-repeated key press. See {@link PibblParticleEmission}. */ repeat?: Readonly<{ /** Interval between repeated emissions. See {@link PibblParticleEmission}. */ everyMilliseconds: number; /** * Number of particles or sources requested by this configuration. See * {@link PibblParticleEmission}. */ count: number; }>; }> | Readonly<{ /** The literal "manual" identifying this variant. See {@link PibblParticleEmission}. */ type: "manual"; /** * Number of particles or sources requested by this configuration. See * {@link PibblParticleIntegerRange}. */ count?: number | PibblParticleIntegerRange; }>Related API: PibblParticleEmission, repeat, PibblParticleIntegerRange.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:289
Properties and methods
Section titled “Properties and methods”
type
type: "burst" | "manual" | "rate"The literal “rate” identifying this variant. See PibblParticleEmission. The literal “burst” identifying this variant. See PibblParticleEmission. The literal “manual” identifying this variant. See PibblParticleEmission.
View source — packages/core/src/features/particles/lib/types.ts:292
PibblParticleEmitter2D
Section titled “PibblParticleEmitter2D”Capacity, emission, spawn geometry, motion, appearance, and rendering of one named emitter.
interface PibblParticleEmitter2DRelated API: PibblParticleEmitter2D.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:598
Properties and methods
Section titled “Properties and methods”
name
readonly name: stringName identifying this backend, emitter, or parameter. See PibblParticleEmitter2D.
View source — packages/core/src/features/particles/lib/types.ts:600
capacity
readonly capacity: numberMaximum number of particles retained by this emitter. See PibblParticleEmitter2D.
View source — packages/core/src/features/particles/lib/types.ts:602
overflow (optional)
readonly overflow?: PibblParticleOverflow | undefinedRelated API: PibblParticleOverflow.
Rejects newly emitted particles or recycles the oldest particles when capacity is exhausted. See PibblParticleOverflow.
View source — packages/core/src/features/particles/lib/types.ts:607
space (optional)
readonly space?: "local" | undefinedThe literal “local” identifying this variant. See PibblParticleEmitter2D.
View source — packages/core/src/features/particles/lib/types.ts:609
emission
readonly emission: readonly PibblParticleEmission[]Related API: PibblParticleEmission.
Timed and manual emission rules for the emitter. See PibblParticleEmission.
View source — packages/core/src/features/particles/lib/types.ts:611
shape
readonly shape: PibblParticleShape2DRelated API: PibblParticleShape2D.
Immutable collision geometry or particle spawn shape. See PibblParticleShape2D.
View source — packages/core/src/features/particles/lib/types.ts:613
initial
readonly initial: PibblParticleInitial2DRelated API: PibblParticleInitial2D.
Distributions and parameters sampled when a particle is born. See PibblParticleInitial2D .
View source — packages/core/src/features/particles/lib/types.ts:618
motion (optional)
readonly motion?: readonly PibblParticleMotion2D[] | undefinedRelated API: PibblParticleMotion2D.
Motion rules applied over particle lifetime. See PibblParticleMotion2D.
View source — packages/core/src/features/particles/lib/types.ts:620
appearance (optional)
readonly appearance?: PibblParticleAppearance | undefinedRelated API: PibblParticleAppearance.
Lifetime-dependent visual properties of the particles. See PibblParticleAppearance.
View source — packages/core/src/features/particles/lib/types.ts:622
renderer
readonly renderer: PibblParticleRenderer2DRelated API: PibblParticleRenderer2D.
Canvas mark or sprite configuration used to paint this emitter’s particles. See PibblParticleRenderer2D.
View source — packages/core/src/features/particles/lib/types.ts:627
bounds (optional)
readonly bounds?: PibblParticleBounds2D | undefinedRelated API: PibblParticleBounds2D.
Conservative emitter bounds used for culling; required when they cannot be derived. See PibblParticleBounds2D.
View source — packages/core/src/features/particles/lib/types.ts:632
PibblParticleExecution
Section titled “PibblParticleExecution”The selected particle execution path, or unbound before a renderer is attached.
type PibblParticleExecution = | "unbound" | "stateless-canvas" | "flow-canvas"Related API: PibblParticleExecution.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:696
PibblParticleFinishEvent
Section titled “PibblParticleFinishEvent”Notifies that a particle system has finished its active run.
interface PibblParticleFinishEventRelated API: PibblParticleFinishEvent.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:775
Properties and methods
Section titled “Properties and methods”
type
readonly type: "finish"The literal “finish” identifying this variant. See PibblParticleFinishEvent.
View source — packages/core/src/features/particles/lib/types.ts:777
PibblParticleGradient
Section titled “PibblParticleGradient”Color keyframes interpolated across normalized particle lifetime.
interface PibblParticleGradientRelated API: PibblParticleGradient.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:274
Properties and methods
Section titled “Properties and methods”
type
readonly type: "gradient"The literal “gradient” identifying this variant. See PibblParticleGradient.
View source — packages/core/src/features/particles/lib/types.ts:276
keys
readonly keys: readonly (readonly [time: number, color: string])[]Ordered keyframes at normalized lifetime positions. See PibblParticleGradient.
View source — packages/core/src/features/particles/lib/types.ts:278
options (optional)
readonly options?: PibblParticleCurveOptions | undefinedRelated API: PibblParticleCurveOptions.
Interpolation options applied between keyframes. See PibblParticleCurveOptions.
View source — packages/core/src/features/particles/lib/types.ts:280
PibblParticleInitial2D
Section titled “PibblParticleInitial2D”Particle birth values for lifetime, velocity, size, rotation, color, and opacity.
interface PibblParticleInitial2DRelated API: PibblParticleInitial2D.
See also
Section titled “See also”PibblParticleParameterReference
View source — packages/core/src/features/particles/lib/types.ts:416
Properties and methods
Section titled “Properties and methods”
lifetimeMilliseconds
readonly lifetimeMilliseconds: PibblParticleScalarRelated API: PibblParticleScalar.
Particle lifetime sampled at birth, in milliseconds. See PibblParticleScalar.
View source — packages/core/src/features/particles/lib/types.ts:418
velocity (optional)
readonly velocity?: PibblParticleVector2 | undefinedRelated API: PibblParticleVector2.
Linear velocity used by the particle motion rule. See PibblParticleVector2.
View source — packages/core/src/features/particles/lib/types.ts:420
size (optional)
readonly size?: number | PibblParticleChoice<number> | PibblParticleIntegerRange | PibblParticleParameterReference<string> | PibblParticleRange | readonly [PibblParticleScalar, PibblParticleScalar] | undefinedRelated API: PibblParticleChoice, PibblParticleIntegerRange, PibblParticleParameterReference, PibblParticleRange, PibblParticleScalar.
Scalar or two-component size sampled at particle birth. See PibblParticleScalar, PibblParticleVector2.
View source — packages/core/src/features/particles/lib/types.ts:425
rotationDegrees (optional)
readonly rotationDegrees?: PibblParticleScalar | undefinedRelated API: PibblParticleScalar.
Rotation in degrees sampled at particle birth. See PibblParticleScalar.
View source — packages/core/src/features/particles/lib/types.ts:427
angularVelocityDegreesPerSecond (optional)
readonly angularVelocityDegreesPerSecond?: PibblParticleScalar | undefinedRelated API: PibblParticleScalar.
Angular velocity in degrees per second. See PibblParticleScalar.
View source — packages/core/src/features/particles/lib/types.ts:429
color (optional)
readonly color?: string | PibblParticleChoice<string> | PibblParticleParameterReference<string> | undefinedRelated API: PibblParticleChoice, PibblParticleParameterReference.
Color sampled at particle birth. See PibblParticleChoice, PibblParticleParameterReference.
View source — packages/core/src/features/particles/lib/types.ts:434
opacity (optional)
readonly opacity?: PibblParticleScalar | undefinedRelated API: opacity, PibblParticleScalar.
Opacity sampled at particle birth. See PibblParticleScalar.
View source — packages/core/src/features/particles/lib/types.ts:437
PibblParticleIntegerRange
Section titled “PibblParticleIntegerRange”An integer-valued random sampling interval.
interface PibblParticleIntegerRangeRelated API: PibblParticleIntegerRange.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:154
Properties and methods
Section titled “Properties and methods”
type
readonly type: "integer"The literal “integer” identifying this variant. See PibblParticleIntegerRange.
View source — packages/core/src/features/particles/lib/types.ts:156
min
readonly min: numberLower bound of the coordinate or sampling interval. See PibblParticleIntegerRange.
View source — packages/core/src/features/particles/lib/types.ts:158
max
readonly max: numberUpper bound of the coordinate or sampling interval. See PibblParticleIntegerRange.
View source — packages/core/src/features/particles/lib/types.ts:160
PibblParticleMotion2D
Section titled “PibblParticleMotion2D”An analytic 2D motion rule such as gravity, drag, drift, orbit, or sway.
Full type declaration
type PibblParticleMotion2D = | Readonly<{ /** Selects `"acceleration"`, `"gravity"` for type. See {@link PibblParticleMotion2D}. */ type: "acceleration" | "gravity"; /** Value associated with this sample, input, or result. See {@link PibblParticleVector2}. */ value: PibblParticleVector2; }> | Readonly<{ /** The literal "drag" identifying this variant. See {@link PibblParticleMotion2D}. */ type: "drag"; /** Magnitude of the filter or motion adjustment. See {@link PibblParticleScalar}. */ amount: PibblParticleScalar; }> | Readonly<{ /** The literal "drift" identifying this variant. See {@link PibblParticleMotion2D}. */ type: "drift"; /** Linear velocity used by the particle motion rule. See {@link PibblParticleVector2}. */ velocity: PibblParticleVector2; }> | Readonly<{ /** The literal "radialAcceleration" identifying this variant. See {@link PibblParticleMotion2D}. */ type: "radialAcceleration"; /** Center of radial acceleration or orbital motion. See {@link PibblParticleMotion2D}. */ center: readonly [number, number]; /** Magnitude of the filter or motion adjustment. See {@link PibblParticleScalar}. */ amount: PibblParticleScalar; }> | Readonly<{ /** The literal "orbit" identifying this variant. See {@link PibblParticleMotion2D}. */ type: "orbit"; /** Center of radial acceleration or orbital motion. See {@link PibblParticleMotion2D}. */ center: readonly [number, number]; /** Angular motion rate in degrees per second. See {@link PibblParticleScalar}. */ degreesPerSecond: PibblParticleScalar; }> | Readonly<{ /** The literal "sway" identifying this variant. See {@link PibblParticleMotion2D}. */ type: "sway"; /** Maximum excursion of the oscillating motion. See {@link PibblParticleScalar}. */ amplitude: PibblParticleScalar; /** Rate at which the pattern or motion repeats. See {@link PibblParticleScalar}. */ frequency: PibblParticleScalar | readonly [number, number]; }> | Readonly<{ /** The literal "angularVelocity" identifying this variant. See {@link PibblParticleMotion2D}. */ type: "angularVelocity"; /** Angular motion rate in degrees per second. See {@link PibblParticleScalar}. */ degreesPerSecond: PibblParticleScalar; }>Related API: PibblParticleMotion2D, PibblParticleVector2, PibblParticleScalar, degrees.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:447
Properties and methods
Section titled “Properties and methods”
type
type: "acceleration" | "angularVelocity" | "drag" | "drift" | "gravity" | "orbit" | "radialAcceleration" | "sway"Selects "acceleration", "gravity" for type. See PibblParticleMotion2D.
The literal “drag” identifying this variant. See PibblParticleMotion2D.
The literal “drift” identifying this variant. See PibblParticleMotion2D.
The literal “radialAcceleration” identifying this variant. See PibblParticleMotion2D.
The literal “orbit” identifying this variant. See PibblParticleMotion2D.
The literal “sway” identifying this variant. See PibblParticleMotion2D.
The literal “angularVelocity” identifying this variant. See PibblParticleMotion2D.
View source — packages/core/src/features/particles/lib/types.ts:450
PibblParticleOverflow
Section titled “PibblParticleOverflow”Whether a full emitter rejects new particles or recycles its oldest particles.
type PibblParticleOverflow = "reject-newest" | "recycle-oldest"Related API: PibblParticleOverflow.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:583
PibblParticleParameterDefinition
Section titled “PibblParticleParameterDefinition”A typed default value and sampling phase for a named particle parameter.
Full type declaration
type PibblParticleParameterDefinition = | Readonly<{ /** The literal "number" identifying this variant. See {@link PibblParticleParameterDefinition}. */ type: "number"; /** * Value used when no parameter override is supplied. See * {@link PibblParticleParameterDefinition}. */ default: number; /** Phase at which the parameter value is sampled. See {@link PibblParticleParameterTiming}. */ timing: PibblParticleParameterTiming; }> | Readonly<{ /** The literal "vector2" identifying this variant. See {@link PibblParticleParameterDefinition}. */ type: "vector2"; /** * Value used when no parameter override is supplied. See * {@link PibblParticleParameterDefinition}. */ default: readonly [number, number]; /** Phase at which the parameter value is sampled. See {@link PibblParticleParameterTiming}. */ timing: PibblParticleParameterTiming; }> | Readonly<{ /** The literal "color" identifying this variant. See {@link PibblParticleParameterDefinition}. */ type: "color"; /** * Value used when no parameter override is supplied. See * {@link PibblParticleParameterDefinition}. */ default: string; /** Phase at which the parameter value is sampled. See {@link PibblParticleParameterTiming}. */ timing: PibblParticleParameterTiming; }>Related API: PibblParticleParameterDefinition, PibblParticleParameterTiming.
See also
Section titled “See also”PibblParticleParameterDefinitions
View source — packages/core/src/features/particles/lib/types.ts:34
Properties and methods
Section titled “Properties and methods”
type
type: "color" | "number" | "vector2"The literal “number” identifying this variant. See PibblParticleParameterDefinition. The literal “vector2” identifying this variant. See PibblParticleParameterDefinition. The literal “color” identifying this variant. See PibblParticleParameterDefinition.
View source — packages/core/src/features/particles/lib/types.ts:37
default
default: string | number | readonly [number, number]Value used when no parameter override is supplied. See PibblParticleParameterDefinition.
View source — packages/core/src/features/particles/lib/types.ts:42
timing
timing: PibblParticleParameterTimingRelated API: PibblParticleParameterTiming.
Phase at which the parameter value is sampled. See PibblParticleParameterTiming.
View source — packages/core/src/features/particles/lib/types.ts:44
PibblParticleParameterDefinitions
Section titled “PibblParticleParameterDefinitions”Named parameter declarations belonging to a particle effect.
type PibblParticleParameterDefinitions = Readonly< Record<string, PibblParticleParameterDefinition>>Related API: PibblParticleParameterDefinitions, PibblParticleParameterDefinition.
See also
Section titled “See also”PibblParticleParameterDefinition
View source — packages/core/src/features/particles/lib/types.ts:76
PibblParticleParameterReference
Section titled “PibblParticleParameterReference”A symbolic reference resolved against the owning effect’s parameter definitions.
interface PibblParticleParameterReference<Name extends string>Related API: PibblParticleParameterReference.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:189
Properties and methods
Section titled “Properties and methods”
type
readonly type: "parameter"The literal “parameter” identifying this variant. See PibblParticleParameterReference.
View source — packages/core/src/features/particles/lib/types.ts:193
name
readonly name: NameName identifying this backend, emitter, or parameter. See PibblParticleParameterReference.
View source — packages/core/src/features/particles/lib/types.ts:198
PibblParticleParameterTiming
Section titled “PibblParticleParameterTiming”Whether a parameter is sampled at spawn, simulation, or rendering time.
type PibblParticleParameterTiming = "spawn" | "simulation" | "render"Related API: PibblParticleParameterTiming.
See also
Section titled “See also”PibblParticleParameterDefinition
View source — packages/core/src/features/particles/lib/types.ts:25
PibblParticleParameterValue
Section titled “PibblParticleParameterValue”A numeric, color, or two-component particle parameter value.
type PibblParticleParameterValue = | number | string | readonly [number, number]Related API: PibblParticleParameterValue.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:116
PibblParticleParameterValues
Section titled “PibblParticleParameterValues”Values keyed by a particle effect’s parameter names.
type PibblParticleParameterValues = Readonly< Record<string, PibblParticleParameterValue>>Related API: PibblParticleParameterValues, PibblParticleParameterValue.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:128
PibblParticleRange
Section titled “PibblParticleRange”A continuous numeric interval for particle sampling.
interface PibblParticleRangeRelated API: PibblParticleRange.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:138
Properties and methods
Section titled “Properties and methods”
type
readonly type: "between"The literal “between” identifying this variant. See PibblParticleRange.
View source — packages/core/src/features/particles/lib/types.ts:140
min
readonly min: numberLower bound of the coordinate or sampling interval. See PibblParticleRange.
View source — packages/core/src/features/particles/lib/types.ts:142
max
readonly max: numberUpper bound of the coordinate or sampling interval. See PibblParticleRange.
View source — packages/core/src/features/particles/lib/types.ts:144
PibblParticleRenderer2D
Section titled “PibblParticleRenderer2D”Canvas rendering configuration for circles, rectangles, paths, or sprites.
Full type declaration
type PibblParticleRenderer2D = | Readonly<{ /** The literal "circle" identifying this variant. See {@link PibblParticleRenderer2D}. */ type: "circle"; /** Selects `"source-over"`, `"additive"` for blend. See {@link PibblParticleRenderer2D}. */ blend?: "source-over" | "additive"; }> | Readonly<{ /** The literal "rectangle" identifying this variant. See {@link PibblParticleRenderer2D}. */ type: "rectangle"; /** Width-to-height ratio of the particle rectangle. See {@link PibblParticleRenderer2D}. */ aspectRatio?: number; /** Selects `"source-over"`, `"additive"` for blend. See {@link PibblParticleRenderer2D}. */ blend?: "source-over" | "additive"; }> | Readonly<{ /** The literal "path" identifying this variant. See {@link PibblParticleRenderer2D}. */ type: "path"; /** Path geometry used by this operation. See {@link PathGeometry}. */ path: Path2D | PathGeometry; /** Selects `"source-over"`, `"additive"` for blend. See {@link PibblParticleRenderer2D}. */ blend?: "source-over" | "additive"; }> | Readonly<{ /** The literal "sprite" identifying this variant. See {@link PibblParticleRenderer2D}. */ type: "sprite"; /** Image used to paint each sprite particle. See {@link PibblParticleRenderer2D}. */ source: CanvasImageSource; /** * Logical point to which the content or result is anchored. See * {@link PibblParticleRenderer2D}. */ anchor?: readonly [number, number]; /** Selects `"source-over"`, `"additive"` for blend. See {@link PibblParticleRenderer2D}. */ blend?: "source-over" | "additive"; }>Related API: PibblParticleRenderer2D, Path, PathGeometry, Image.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:529
Properties and methods
Section titled “Properties and methods”
type
type: "circle" | "path" | "rectangle" | "sprite"The literal “circle” identifying this variant. See PibblParticleRenderer2D. The literal “rectangle” identifying this variant. See PibblParticleRenderer2D. The literal “path” identifying this variant. See PibblParticleRenderer2D. The literal “sprite” identifying this variant. See PibblParticleRenderer2D.
View source — packages/core/src/features/particles/lib/types.ts:532
blend (optional)
blend?: "additive" | "source-over" | undefinedSelects "source-over", "additive" for blend. See PibblParticleRenderer2D.
View source — packages/core/src/features/particles/lib/types.ts:534
PibblParticleScalar
Section titled “PibblParticleScalar”A literal, random distribution, weighted choice, or parameter reference yielding a number.
type PibblParticleScalar = | number | PibblParticleRange | PibblParticleIntegerRange | PibblParticleChoice<number> | PibblParticleParameterReference<string>Related API: PibblParticleScalar, PibblParticleRange, PibblParticleIntegerRange, PibblParticleChoice, PibblParticleParameterReference.
See also
Section titled “See also”PibblParticleParameterReference
View source — packages/core/src/features/particles/lib/types.ts:210
PibblParticleShape2D
Section titled “PibblParticleShape2D”The point, line, rectangle, circle, or ring used to sample particle birth positions.
Full type declaration
type PibblParticleShape2D = | Readonly<{ /** The literal "point" identifying this variant. See {@link PibblParticleShape2D}. */ type: "point"; /** * Position of the geometry, source, or selected resize handle. See * {@link PibblParticleShape2D}. */ position?: readonly [number, number]; }> | Readonly<{ /** The literal "line" identifying this variant. See {@link PibblParticleShape2D}. */ type: "line"; /** Starting endpoint or value. See {@link PibblParticleShape2D}. */ from: readonly [number, number]; /** Destination endpoint or value. See {@link PibblParticleShape2D}. */ to: readonly [number, number]; }> | Readonly<{ /** The literal "rectangle" identifying this variant. See {@link PibblParticleShape2D}. */ type: "rectangle"; /** * Horizontal extent in the units of the containing geometry or surface. See * {@link PibblParticleShape2D}. */ width: number; /** * Vertical extent in the units of the containing geometry or surface. See * {@link PibblParticleShape2D}. */ height: number; /** Selects `"interior"`, `"edge"` for sample. See {@link PibblParticleShape2D}. */ sample: "interior" | "edge"; }> | Readonly<{ /** The literal "circle" identifying this variant. See {@link PibblParticleShape2D}. */ type: "circle"; /** Radius in the coordinate system of this geometry or effect. See {@link PibblParticleShape2D}. */ radius: number; /** Selects `"interior"`, `"circumference"` for sample. See {@link PibblParticleShape2D}. */ sample: "interior" | "circumference"; }> | Readonly<{ /** The literal "ring" identifying this variant. See {@link PibblParticleShape2D}. */ type: "ring"; /** Radius of the inner boundary. See {@link PibblParticleShape2D}. */ innerRadius: number; /** Radius of the outer boundary. See {@link PibblParticleShape2D}. */ outerRadius: number; }>Related API: PibblParticleShape2D, extent.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:356
Properties and methods
Section titled “Properties and methods”
type
type: "circle" | "line" | "point" | "rectangle" | "ring"The literal “point” identifying this variant. See PibblParticleShape2D. The literal “line” identifying this variant. See PibblParticleShape2D. The literal “rectangle” identifying this variant. See PibblParticleShape2D. The literal “circle” identifying this variant. See PibblParticleShape2D. The literal “ring” identifying this variant. See PibblParticleShape2D.
View source — packages/core/src/features/particles/lib/types.ts:359
PibblParticleStartEvent
Section titled “PibblParticleStartEvent”Notifies that a particle system has started a run.
interface PibblParticleStartEventRelated API: PibblParticleStartEvent.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:706
Properties and methods
Section titled “Properties and methods”
type
readonly type: "start"The literal “start” identifying this variant. See PibblParticleStartEvent.
View source — packages/core/src/features/particles/lib/types.ts:708
PibblParticleSystem
Section titled “PibblParticleSystem”Mount-owned playback and burst controls with reactive status and execution-path information.
interface PibblParticleSystem<EmitterName extends string = string, Parameters extends PibblParticleParameterValues = PibblParticleParameterValues>Related API: PibblParticleSystem, PibblParticleParameterValues.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:949
Properties and methods
Section titled “Properties and methods”
status
readonly status: Signal<PibblParticleSystemStatus>Related API: Signal, PibblParticleSystemStatus.
Reactive lifecycle state of this mounted particle system. See Signal, PibblParticleSystemStatus.
View source — packages/core/src/features/particles/lib/types.ts:961
execution
readonly execution: Signal<PibblParticleExecution>Related API: Signal, PibblParticleExecution.
Reactive execution path selected for the current renderer binding. See Signal, PibblParticleExecution.
View source — packages/core/src/features/particles/lib/types.ts:966
play
play: () => voidQueues a new particle-system run. See PibblParticleSystem.
View source — packages/core/src/features/particles/lib/types.ts:968
pause
pause: () => voidQueues suspension of particle-system advancement. See PibblParticleSystem.
View source — packages/core/src/features/particles/lib/types.ts:970
resume
resume: () => voidQueues resumption of a paused particle-system run. See PibblParticleSystem.
View source — packages/core/src/features/particles/lib/types.ts:972
restart
restart: (options?: Readonly<{ seed?: number; }>) => voidQueues a fresh run, optionally replacing its deterministic seed. See PibblParticleSystem .
Parameters
Section titled “Parameters”options— Optional seed override for the restarted simulation.
View source — packages/core/src/features/particles/lib/types.ts:978
emit
emit: (emitter: EmitterName, options?: PibblParticleBurstOverrides) => voidRelated API: PibblParticleBurstOverrides.
Queues a manual burst for the named emitter with optional birth overrides. See PibblParticleSystem.
Parameters
Section titled “Parameters”-
emitter— Name of the effect emitter to burst. -
options— Optional per-burst emission overrides. See PibblParticleBurstOverrides.
View source — packages/core/src/features/particles/lib/types.ts:993
stop
stop: (options?: Readonly<{ mode?: "drain" | "clear"; }>) => voidQueues stopping; drain retains live particles until they finish, while clear removes them. See PibblParticleSystem.
Parameters
Section titled “Parameters”options— Whether to drain existing particles or clear them immediately.
View source — packages/core/src/features/particles/lib/types.ts:999
PibblParticleSystemEvent
Section titled “PibblParticleSystemEvent”The lifecycle and burst-admission notifications emitted by a particle system.
type PibblParticleSystemEvent = | PibblParticleStartEvent | PibblParticleBurstAcceptedEvent | PibblParticleBurstRejectedEvent | PibblParticleDrainStartEvent | PibblParticleFinishEventRelated API: PibblParticleSystemEvent, PibblParticleStartEvent, PibblParticleBurstAcceptedEvent, PibblParticleBurstRejectedEvent, PibblParticleDrainStartEvent, PibblParticleFinishEvent.
See also
Section titled “See also”PibblParticleBurstAcceptedEvent
PibblParticleBurstRejectedEvent
View source — packages/core/src/features/particles/lib/types.ts:790
Properties and methods
Section titled “Properties and methods”
type
readonly type: "burst-accepted" | "burst-rejected" | "drain-start" | "finish" | "start"The literal “burst-accepted” identifying this variant. See PibblParticleBurstAcceptedEvent. The literal “burst-rejected” identifying this variant. See PibblParticleBurstRejectedEvent. The literal “drain-start” identifying this variant. See PibblParticleDrainStartEvent. The literal “finish” identifying this variant. See PibblParticleFinishEvent. The literal “start” identifying this variant. See PibblParticleStartEvent.
View source — packages/core/src/features/particles/lib/types.ts:721
PibblParticleSystemOptions
Section titled “PibblParticleSystemOptions”Autoplay, deterministic seed, flow binding, and lifecycle callbacks for a mounted system.
interface PibblParticleSystemOptionsRelated API: PibblParticleSystemOptions.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:881
Properties and methods
Section titled “Properties and methods”
flow (optional)
readonly flow?: PibblFlowField2D | undefinedRelated API: PibblFlowField2D.
Mount-owned field binding; advects emitter positions instead of analytic translation.
View source — packages/core/src/features/particles/lib/types.ts:883
autoplay (optional)
readonly autoplay?: boolean | undefinedWhether playback is requested automatically when the owner mounts. See PibblParticleSystemOptions.
View source — packages/core/src/features/particles/lib/types.ts:888
seed (optional)
readonly seed?: number | undefinedSeed used for deterministic sampling or simulation initialization. See PibblParticleSystemOptions.
View source — packages/core/src/features/particles/lib/types.ts:893
debugName (optional)
readonly debugName?: string | undefinedOptional label used in diagnostics. See PibblParticleSystemOptions.
View source — packages/core/src/features/particles/lib/types.ts:895
onEvent (optional)
readonly onEvent?: ((event: PibblParticleSystemEvent) => void) | undefinedRelated API: PibblParticleSystemEvent.
Receives lifecycle and milestone notifications. See PibblParticleSystemEvent.
Parameters
Section titled “Parameters”event— Particle playback or emission event. See PibblParticleSystemEvent.
View source — packages/core/src/features/particles/lib/types.ts:900
onError (optional)
readonly onError?: ((error: unknown) => void) | undefinedReceives failures reported by the owning runtime resource. See PibblParticleSystemOptions.
Parameters
Section titled “Parameters”error— Failure reported by the particle system.
View source — packages/core/src/features/particles/lib/types.ts:906
PibblParticleSystemStatus
Section titled “PibblParticleSystemStatus”The lifecycle state of a mounted particle system, including draining and disposal.
type PibblParticleSystemStatus = | "idle" | "scheduled" | "running" | "paused" | "draining" | "finished" | "disposed"Related API: PibblParticleSystemStatus.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:682
PibblParticleValueFor
Section titled “PibblParticleValueFor”Derives a parameter’s value type from its declared particle parameter kind.
type PibblParticleValueFor<Definition extends PibblParticleParameterDefinition> = Definition["type"] extends "number" ? number : Definition["type"] extends "vector2" ? readonly [number, number] : Definition["type"] extends "color" ? string : neverRelated API: PibblParticleValueFor, PibblParticleParameterDefinition.
See also
Section titled “See also”PibblParticleParameterDefinition
View source — packages/core/src/features/particles/lib/types.ts:86
PibblParticleValuesOf
Section titled “PibblParticleValuesOf”Derives the named value record from an effect’s parameter definitions.
type PibblParticleValuesOf<Definitions extends PibblParticleParameterDefinitions | undefined> = Definitions extends PibblParticleParameterDefinitions ? Readonly<{ [Name in keyof Definitions]: PibblParticleValueFor<Definitions[Name]>; }> : Readonly<Record<never, never>>Related API: PibblParticleValuesOf, PibblParticleParameterDefinitions, PibblParticleValueFor.
See also
Section titled “See also”PibblParticleParameterDefinitions
View source — packages/core/src/features/particles/lib/types.ts:103
PibblParticleVector2
Section titled “PibblParticleVector2”Two independently sampled scalar values or a reference to a vector parameter.
type PibblParticleVector2 = | readonly [PibblParticleScalar, PibblParticleScalar] | PibblParticleParameterReference<string>Related API: PibblParticleVector2, PibblParticleScalar, PibblParticleParameterReference.
See also
Section titled “See also”PibblParticleParameterReference
View source — packages/core/src/features/particles/lib/types.ts:225
Particles2DProps
Section titled “Particles2DProps”Authored inputs for Particles2D, including the declared data and presentation options.
Full type declaration
type Particles2DProps<EmitterName extends string = string, Parameters extends PibblParticleParameterValues = PibblParticleParameterValues> = PibblParticleCommonInputProps<Parameters> & { /** * Declared presentation and layout properties. See {@link PibblParticleStyleInput}, * {@link Particles2DStyle}. */ readonly style?: PibblParticleStyleInput<Particles2DStyle>;} & ( | { /** * Particle effect associated with this input or diagnostic. See {@link SignalValue}, * {@link PibblParticleEffect2D}. */ readonly effect: SignalValue<PibblParticleEffect2D<EmitterName, Parameters>>; /** * Not accepted in this variant; use the alternative fields instead. See * {@link Particles2DProps}. */ readonly system?: never; /** Whether playback is requested automatically when the owner mounts. See {@link SignalValue}. */ readonly autoplay?: SignalValue<boolean>; /** Seed used for deterministic sampling or simulation initialization. See {@link SignalValue}. */ readonly seed?: SignalValue<number>; } | { /** * Not accepted in this variant; use the alternative fields instead. See * {@link Particles2DProps}. */ readonly effect?: never; /** * Mounted particle controller supplying this component's simulation. See * {@link PibblParticleSystem}. */ readonly system: PibblParticleSystem<EmitterName, Parameters>; /** * Not accepted in this variant; use the alternative fields instead. See * {@link Particles2DProps}. */ readonly autoplay?: never; /** * Not accepted in this variant; use the alternative fields instead. See * {@link Particles2DProps}. */ readonly seed?: never; } )Related API: Particles2DProps, PibblParticleParameterValues, Particles2DStyle, SignalValue, PibblParticleEffect2D, PibblParticleSystem.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:1081
Properties and methods
Section titled “Properties and methods”
pointerEvents (optional)
readonly pointerEvents?: SignalValue<PibblPointerEvents | undefined>Related API: SignalValue, PibblPointerEvents.
Whether this content participates in pointer targeting. See PibblPointerEvents.
parameters (optional)
readonly parameters?: SignalValue<Readonly<Partial<Parameters>> | undefined>Related API: SignalValue.
Named parameter definitions or values for this effect instance. See PibblParticleCommonProps.
View source — packages/core/src/features/particles/lib/types.ts:1022
keyboardFocusable (optional)
readonly keyboardFocusable?: SignalValue<boolean | undefined>Related API: SignalValue.
Whether the target may receive keyboard focus. See PibblParticleCommonProps.
View source — packages/core/src/features/particles/lib/types.ts:1024
keyboardNavigationBounds (optional)
readonly keyboardNavigationBounds?: SignalValue<Readonly<LayoutBox> | undefined>Related API: SignalValue, LayoutBox.
Logical rectangle used for directional keyboard navigation. See LayoutBox.
View source — packages/core/src/features/particles/lib/types.ts:1026
onEvent (optional)
readonly onEvent?: SignalValue<((event: PibblParticleSystemEvent) => void) | undefined>Related API: SignalValue, PibblParticleSystemEvent.
Receives lifecycle and milestone notifications. See PibblParticleSystemEvent.
Parameters
Section titled “Parameters”event— Particle playback or emission event. See PibblParticleSystemEvent.
View source — packages/core/src/features/particles/lib/types.ts:1031
onError (optional)
readonly onError?: SignalValue<((error: unknown) => void) | undefined>Related API: SignalValue.
Receives failures reported by the owning runtime resource. See PibblParticleCommonProps .
Parameters
Section titled “Parameters”error— Failure reported by the particle system.
View source — packages/core/src/features/particles/lib/types.ts:1037
style (optional)
readonly style?: PibblParticleStyleInput<Particles2DStyle> | undefinedRelated API: Particles2DStyle.
Declared presentation and layout properties. See PibblParticleStyleInput, Particles2DStyle.
View source — packages/core/src/features/particles/lib/types.ts:1089
effect (optional)
readonly effect?: SignalValue<PibblParticleEffect2D<EmitterName, Parameters>> | undefinedRelated API: SignalValue, PibblParticleEffect2D.
Particle effect associated with this input or diagnostic. See SignalValue, PibblParticleEffect2D. Not accepted in this variant; use the alternative fields instead. See Particles2DProps.
View source — packages/core/src/features/particles/lib/types.ts:1096
system (optional)
readonly system?: PibblParticleSystem<EmitterName, Parameters> | undefinedRelated API: PibblParticleSystem.
Not accepted in this variant; use the alternative fields instead. See Particles2DProps. Mounted particle controller supplying this component’s simulation. See PibblParticleSystem.
View source — packages/core/src/features/particles/lib/types.ts:1101
autoplay (optional)
readonly autoplay?: SignalValue<boolean> | undefinedRelated API: SignalValue.
Whether playback is requested automatically when the owner mounts. See SignalValue. Not accepted in this variant; use the alternative fields instead. See Particles2DProps.
View source — packages/core/src/features/particles/lib/types.ts:1103
seed (optional)
readonly seed?: SignalValue<number> | undefinedRelated API: SignalValue.
Seed used for deterministic sampling or simulation initialization. See SignalValue. Not accepted in this variant; use the alternative fields instead. See Particles2DProps.
View source — packages/core/src/features/particles/lib/types.ts:1105
Particles2DStyle
Section titled “Particles2DStyle”Supported geometry and presentation properties for Particles2D.
interface Particles2DStyle extends SystemStyle, BoxStyle, LayoutItemStyle, CursorStyleRelated API: Particles2DStyle, SystemStyle, BoxStyle, LayoutItemStyle, CursorStyle.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/types.ts:1065
Properties and methods
Section titled “Properties and methods”
opacity (optional)
readonly opacity?: number | undefinedRelated API: opacity.
Opacity of the painted result. See Particles2DStyle.
View source — packages/core/src/features/particles/lib/types.ts:1068
left (optional)
left?: number | `${number}%` | undefinedLeft edge coordinate or inset. See Length.
View source — packages/core/src/lib/style/positioning.ts:127
top (optional)
top?: number | `${number}%` | undefinedTop edge value or top envelope guide. See Length.
View source — packages/core/src/lib/style/positioning.ts:129
width (optional)
width?: Length | undefinedRelated API: Length.
Horizontal extent in the units of the containing geometry or surface. See Length.
height (optional)
height?: Length | undefinedRelated API: Length.
Vertical extent in the units of the containing geometry or surface. See Length.
minWidth (optional)
minWidth?: number | `${number}%` | undefinedMinimum permitted width. See Length.
maxWidth (optional)
maxWidth?: number | `${number}%` | undefinedMaximum permitted width. See Length.
minHeight (optional)
minHeight?: number | `${number}%` | undefinedMinimum permitted height. See Length.
maxHeight (optional)
maxHeight?: number | `${number}%` | undefinedMaximum permitted height. See Length.
padding (optional)
padding?: EdgeValues | undefinedRelated API: EdgeValues.
Insets between the border box and content box. See EdgeValues.
overflow (optional)
overflow?: "clip" | "visible" | undefinedSelects "visible", "clip" for overflow. See BoxStyle.
alignSelf (optional)
alignSelf?: "auto" | "center" | "end" | "flex-end" | "flex-start" | "start" | "stretch" | undefinedThis child’s cross-axis or block-axis alignment override. See LayoutItemStyle.
justifySelf (optional)
justifySelf?: "auto" | "center" | "end" | "start" | "stretch" | undefinedThis child’s inline-axis alignment override. See LayoutItemStyle.
flexBasis (optional)
flexBasis?: Length | undefinedRelated API: Length.
Initial main-axis size before flex growth or shrinkage. See Length.
flexGrow (optional)
flexGrow?: number | undefinedRelative share of positive free space assigned to this child. See LayoutItemStyle.
flexShrink (optional)
flexShrink?: number | undefinedRelative factor used when reducing main-axis size. See LayoutItemStyle.
gridColumnStart (optional)
gridColumnStart?: number | undefinedExplicit starting grid column. See LayoutItemStyle.
gridColumnSpan (optional)
gridColumnSpan?: number | undefinedNumber of columns occupied by this child. See LayoutItemStyle.
gridRowStart (optional)
gridRowStart?: number | undefinedExplicit starting grid row. See LayoutItemStyle.
gridRowSpan (optional)
gridRowSpan?: number | undefinedNumber of rows occupied by this child. See LayoutItemStyle.
cursor (optional)
cursor?: string | undefinedCursor shown while this target owns pointer presentation. See CursorStyle.
transition (optional)
transition?: PibblTransitionBinding | undefinedRelated API: PibblTransitionBinding.
Visibility-transition binding applied to this primitive and its captured descendants. See SystemStyle.
custom (optional)
custom?: unknownApplication-defined style payload passed through the runtime. See SystemStyle.
filter (optional)
filter?: PibblFilter | readonly PibblFilter[] | undefinedRelated API: PibblFilter.
Ordered pixel-only filters applied to the receiving primitive and its descendants. See PibblFilter.
PibblFlowField2D
Section titled “PibblFlowField2D”A mount-owned flow field with revision tracking and batched velocity sampling.
interface PibblFlowField2DRelated API: PibblFlowField2D.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/flow/hook.ts:93
Properties and methods
Section titled “Properties and methods”
revision
readonly revision: Signal<number>Related API: Signal.
Revision used to detect changes to the underlying state or geometry. See Signal.
View source — packages/core/src/features/particles/lib/flow/hook.ts:96
sampleBatch
sampleBatch: (positions: Float32Array, velocities: Float32Array, count: number) => voidSamples velocities for packed position pairs into caller-provided output storage. See PibblFlowField2D.
Parameters
Section titled “Parameters”-
positions— Packed input positions, with two floats per particle. -
velocities— Output buffer receiving sampled velocities, with two floats per particle. -
count— Number of position pairs to sample.
View source — packages/core/src/features/particles/lib/flow/hook.ts:104
PibblFlowFieldOptions2D
Section titled “PibblFlowFieldOptions2D”Logical bounds, grid resolution, obstacle source, and buoyancy for a flow field.
interface PibblFlowFieldOptions2DRelated API: PibblFlowFieldOptions2D.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/flow/hook.ts:61
Properties and methods
Section titled “Properties and methods”
bounds
readonly bounds: Readonly<{ width: number; height: number; }>Logical region constraining the content or query. See PibblFlowFieldOptions2D.
View source — packages/core/src/features/particles/lib/flow/hook.ts:63
resolution
readonly resolution: readonly [columns: number, rows: number]Dimensions of the simulation or raster grid. See PibblFlowFieldOptions2D.
View source — packages/core/src/features/particles/lib/flow/hook.ts:76
obstacles (optional)
readonly obstacles?: PibblFlowObstacleSource2D | undefinedRelated API: PibblFlowObstacleSource2D.
Obstacle geometry used by the flow or water simulation. See PibblFlowObstacleSource2D.
View source — packages/core/src/features/particles/lib/flow/hook.ts:80
buoyancy (optional)
readonly buoyancy?: number | undefinedStrength of heat-driven upward motion in the flow field. See PibblFlowFieldOptions2D.
View source — packages/core/src/features/particles/lib/flow/hook.ts:82
PibblFlowObstacleBatch2D
Section titled “PibblFlowObstacleBatch2D”Committed obstacle geometry and motion packed into borrowed numeric buffers.
interface PibblFlowObstacleBatch2DRelated API: PibblFlowObstacleBatch2D.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/flow/hook.ts:24
Properties and methods
Section titled “Properties and methods”
revision
readonly revision: numberRevision used to detect changes to the underlying state or geometry. See PibblFlowObstacleBatch2D.
View source — packages/core/src/features/particles/lib/flow/hook.ts:29
boxes
readonly boxes: Float64Array<ArrayBufferLike>cx, cy, halfWidth, halfHeight, radians, vx, vy, omega, COM x/y.
View source — packages/core/src/features/particles/lib/flow/hook.ts:31
ellipses (optional)
readonly ellipses?: Float64Array<ArrayBufferLike> | undefinedPacked ellipse obstacle data consumed by the simulation. See PibblFlowObstacleBatch2D.
View source — packages/core/src/features/particles/lib/flow/hook.ts:35
polygons (optional)
readonly polygons?: Float64Array<ArrayBufferLike> | undefinedPacked polygon obstacle data consumed by the simulation. See PibblFlowObstacleBatch2D.
View source — packages/core/src/features/particles/lib/flow/hook.ts:39
PibblFlowObstacleSource2D
Section titled “PibblFlowObstacleSource2D”Supplies committed obstacle batches to a flow field without transferring buffer ownership.
interface PibblFlowObstacleSource2DRelated API: PibblFlowObstacleSource2D.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/flow/hook.ts:47
Properties and methods
Section titled “Properties and methods”
read
read: () => PibblFlowObstacleBatch2DRelated API: PibblFlowObstacleBatch2D.
Returns committed simulation state. Buffers are borrowed for this call only.
Returns
Section titled “Returns”The current obstacle revision and packed obstacle geometry. See PibblFlowObstacleBatch2D .
View source — packages/core/src/features/particles/lib/flow/hook.ts:53
PibblFlowSourceOptions2D
Section titled “PibblFlowSourceOptions2D”Reactive position, radius, acceleration, heat, and enablement of a flow source.
interface PibblFlowSourceOptions2DRelated API: PibblFlowSourceOptions2D.
See also
Section titled “See also”View source — packages/core/src/features/particles/lib/flow/hook.ts:112
Properties and methods
Section titled “Properties and methods”
position
readonly position: SignalValue<readonly [number, number]>Related API: SignalValue.
Position of the geometry, source, or selected resize handle. See SignalValue.
View source — packages/core/src/features/particles/lib/flow/hook.ts:114
radius
readonly radius: SignalValue<number>Related API: SignalValue.
Radius in the coordinate system of this geometry or effect. See SignalValue.
View source — packages/core/src/features/particles/lib/flow/hook.ts:116
acceleration (optional)
readonly acceleration?: SignalValue<readonly [number, number]> | undefinedRelated API: SignalValue.
Acceleration injected by this flow source. See SignalValue.
View source — packages/core/src/features/particles/lib/flow/hook.ts:118
heat (optional)
readonly heat?: SignalValue<number> | undefinedRelated API: SignalValue.
Heat injected by this flow source. See SignalValue.
View source — packages/core/src/features/particles/lib/flow/hook.ts:120
enabled (optional)
readonly enabled?: SignalValue<boolean> | undefinedRelated API: SignalValue.
Whether this operation or resource participates in updates. See SignalValue.
View source — packages/core/src/features/particles/lib/flow/hook.ts:122
Implementation guidance for agents
Section titled “Implementation guidance for agents”Read the Canvas particles companion for ownership, adaptation, failure modes, and verification. Agent start provides the version-selection workflow.
Complete minimal examples
Section titled “Complete minimal examples”- Mounted particle system: Mount a manual burst effect and trigger it with pointer input. Plain source
- Flow-driven particles: Advect mist through a mount-owned flow field and source. Plain source
- Particle effect configuration: Compose a typed ember emitter from emission, motion, appearance, and bounds. Plain source
- Particle lifecycle events: Handle the discriminated event and diagnostic records. Plain source
- Particle descriptors: Define randomized spawn values and lifespan curves. Plain source
- Effect parameters: Define typed spawn and render parameters and use them in an effect. Plain source
Documentation version
Section titled “Documentation version”Documentation built with @pibbl/core 0.0.2, revision 272a94a. ALPHA — NOT FOR PRODUCTION USE.