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`.
Details · record, key any
| Kind | record |
|---|---|
| Record key | any |
| Authority | luminframe.com |
| Indexed |
Record
record · key anyProperties
animatedBy
stringName of the range param that gates the effect's motion: at zero the effect is still even though its body references time.
maxLength: 64
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
When the record was created.
description
stringOne-line blurb shown under the name.
maxLength: 3000maxGraphemes: 300
Shader environment contract version the body was written against. Clients refuse records requiring an environment they don't speak.
minimum: 1
Display name shown in the effect library.
maxLength: 64
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 matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
com.luminframe.collection
recordA 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.