com.luminframe.effect

A custom shader effect: GLSL fragment code plus the typed parameters that drive it, publishable to the author's repo and loadable by Luminframe at runtime. The grammar a valid record must satisfy (reserved uniform names, body shape, parameter rules) is the shader environment contract, versioned by `env`.

Repository @luminframe.com did:plc:5mo4amsmatgfmzpeqqsuetot namespace authority
Details · record, key any
Kindrecord
Record keyany
Authorityluminframe.com
Indexed

Record

record · key any

Properties

Name of the range param that gates the effect's motion: at zero the effect is still even though its body references time.

  • maxLength: 64

body

requiredstring

GLSL ES 1.00 fragment code containing void main() and writing gl_FragColor. Uniform declarations are generated by the host from `params`; the body must not declare its own.

  • maxLength: 20000

createdAt

requiredstring · datetime

When the record was created.

One-line blurb shown under the name.

  • maxLength: 3000
  • maxGraphemes: 300

env

requiredinteger

Shader environment contract version the body was written against. Clients refuse records requiring an environment they don't speak.

  • minimum: 1

name

requiredstring

Display name shown in the effect library.

  • maxLength: 64

params

requiredstring

The effect's editable parameters, a JSON-encoded array of typed definitions (env 1: range, color, boolean, vec2; env 2 adds image, text, and vec2 track bounds). A string rather than an array of objects because the atproto data model has no float type and parameter defaults and bounds are fractional — the same encoding as com.luminframe.image's effectStep.params.

  • maxLength: 10000

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A curated, ordered list of shader effects, referenced by AT-URI. Curation is separate from authorship: a listed effect may live in any author's repo — listing it vouches for it without copying it, so attribution stays with the author's DID in the URI. Luminframe loads its default library from the record keyed 'featured' in luminframe.com's repo.