Class Canvas

    Hierarchy
    Index

    Accessors

    Constructors

    Methods

    • Gaussian blur (reactive radius). The backward pass runs an iterated Richardson–Lucy deconvolution seeded from the source (x ← x · H(target / H(x))), so untouched regions stay fixed. PutGet, not exact GetPut.

      Parameters

      • radius: Val<number>

      Returns this

    • Multiply RGB by reactive k (alpha preserved). Invertible while k ≠ 0.

      Parameters

      Returns this

    • Box-downsampled thumbnail (integer factor). Complement is the Laplacian residual source − up(down(source)); editing the thumbnail reconstructs full-res detail on top of the edit.

      Parameters

      • factor: number

      Returns Writable<Canvas>

    • GPU per-pixel spring driver seeded from this value's texture. The host steps it and writes current() back each frame.

      Parameters

      • Optionalopts: SpringOpts

      Returns Spring

    • Coerce Val<Inner<Cls>>Cls: instance → identity, RO cell → tracked derive, literal → fresh seed.

      Type Parameters

      • C extends AnyCellCtor

      Parameters

      Returns InstanceType<C>

    • Read-only typed view. Cls.derive(parent, fn) (1-input), Cls.derive(parents, fn) (N-input), or Cls.derive(fn) (closure). Polymorphic-this: Vec.derive(...)Vec.

      Type Parameters

      • C extends AnyCellCtor
      • P

      Parameters

      Returns InstanceType<C>

    • Read-only typed view. Cls.derive(parent, fn) (1-input), Cls.derive(parents, fn) (N-input), or Cls.derive(fn) (closure). Polymorphic-this: Vec.derive(...)Vec.

      Type Parameters

      • C extends AnyCellCtor
      • P extends readonly Read<unknown>[]

      Parameters

      • this: C
      • parents: P
      • fn: (vals: ReadValues<P>) => Inner<InstanceType<C>>

      Returns InstanceType<C>

    • Read-only typed view. Cls.derive(parent, fn) (1-input), Cls.derive(parents, fn) (N-input), or Cls.derive(fn) (closure). Polymorphic-this: Vec.derive(...)Vec.

      Type Parameters

      • C extends AnyCellCtor

      Parameters

      • this: C
      • fn: () => Inner<InstanceType<C>>

      Returns InstanceType<C>

    • Type predicate against this class: Vec.is(x) narrows x to Vec. Inherited static; works for any subclass via polymorphic this.

      Type Parameters

      • C extends AnyCellCtor

      Parameters

      • this: C
      • v: unknown

      Returns v is InstanceType<C>

    • Writable lens. Cls.lens(parent, fwd, bwd) for one input, Cls.lens(parents, fwd, bwd) for N; a 2-arg bwd reads the source, a 1-arg bwd reconstructs it. Cls.lens(parent(s), spec) builds a complement-carrying lens from { init, step, fwd, bwd }.

      Type Parameters

      • C extends AnyCellCtor
      • P

      Parameters

      • this: C
      • parent: Read<P>
      • fwd: (v: P) => Inner<InstanceType<C>>
      • bwd: (target: Inner<InstanceType<C>>, v: P) => P

      Returns Writable<InstanceType<C>>

    • Writable lens. Cls.lens(parent, fwd, bwd) for one input, Cls.lens(parents, fwd, bwd) for N; a 2-arg bwd reads the source, a 1-arg bwd reconstructs it. Cls.lens(parent(s), spec) builds a complement-carrying lens from { init, step, fwd, bwd }.

      Type Parameters

      • C extends AnyCellCtor
      • P extends readonly Read<unknown>[]

      Parameters

      • this: C
      • parents: P
      • fwd: (vals: ReadValues<P>) => Inner<InstanceType<C>>
      • bwd: (
            target: Inner<InstanceType<C>>,
            vals: ReadValues<P>,
        ) => BackUpdates<ReadValuesOrSkip<P>>

      Returns Writable<InstanceType<C>>

    • Writable lens. Cls.lens(parent, fwd, bwd) for one input, Cls.lens(parents, fwd, bwd) for N; a 2-arg bwd reads the source, a 1-arg bwd reconstructs it. Cls.lens(parent(s), spec) builds a complement-carrying lens from { init, step, fwd, bwd }.

      Type Parameters

      • C extends AnyCellCtor
      • P
      • Cm

      Parameters

      Returns Writable<InstanceType<C>>

    • Writable lens. Cls.lens(parent, fwd, bwd) for one input, Cls.lens(parents, fwd, bwd) for N; a 2-arg bwd reads the source, a 1-arg bwd reconstructs it. Cls.lens(parent(s), spec) builds a complement-carrying lens from { init, step, fwd, bwd }.

      Type Parameters

      • C extends AnyCellCtor
      • P extends readonly Read<unknown>[]
      • Cm

      Parameters

      Returns Writable<InstanceType<C>>

    • Writable-shaped constant: always reads v, absorbs writes (parentless sink lens), for APIs demanding bidirectionality.

      Type Parameters

      • C extends AnyCellCtor

      Parameters

      Returns Writable<InstanceType<C>>

    Properties

    _t: { equals: (a: Raster, b: Raster) => boolean }
    name: string | undefined

    Optional debug label (cell(0, { name })); used by errors and graph dumps.

    value: Raster
    traits: { equals: (a: Raster, b: Raster) => boolean } = ...