full diff

com.luminframe.image

luminframe.com +3 −2
From
bafyreiduvslhwv6bg5gu5zbnbualfxytk7ds3xrpndnpxwg2e5hmcaaymm indexed 2026-07-23 05:24 UTC View this version
To
bafyreig54y5zjdceepvlx7lctxeyvrvinrwdhxthrfz35ifzfpuyqm6mde indexed 2026-07-23 13:45 UTC View this version

Compatibility

breaking 2 breaking changes, 0 non-breaking changes.

Breaking changes (2)
  • KindChanged KindChanged { vertex_id: "com.luminframe.image#effectStep.params", old_kind: "unknown", new_kind: "string" }
  • ConstraintAdded ConstraintAdded { vertex_id: "com.luminframe.image#effectStep.params", sort: "maxLength", value: "10000" }

Migration guidance

Constraint changes

  • ConstraintAdded ConstraintAdded { vertex_id: "com.luminframe.image#effectStep.params", sort: "maxLength", value: "10000" }

Notes

  • Breaking: KindChanged { vertex_id: "com.luminframe.image#effectStep.params", old_kind: "unknown", new_kind: "string" }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "aspectRatio": {
55 "description": "The width:height ratio of the image, in pixels.",
66 "properties": {
77 "height": {
88 "minimum": 1,
99 "type": "integer"
1010 },
1111 "width": {
1212 "minimum": 1,
1313 "type": "integer"
1414 }
1515 },
1616 "required": [
1717 "width",
1818 "height"
1919 ],
2020 "type": "object"
2121 },
2222 "effectStep": {
2323 "description": "One effect in the recipe: its key and the parameters it was applied with.",
2424 "properties": {
2525 "params": {
26 "description": "The effect's parameters (effect-specific freeform JSON).",
27 "type": "unknown"
26 "description": "The effect's parameters, JSON-encoded. A string rather than an object because the atproto data model has no float type and effect parameters are fractional. Records saved before v4 carry a plain object here instead.",
27 "maxLength": 10000,
28 "type": "string"
2829 },
2930 "type": {
3031 "description": "The effect key.",
3132 "maxLength": 128,
3233 "type": "string"
3334 }
3435 },
3536 "required": [
3637 "type"
3738 ],
3839 "type": "object"
3940 },
4041 "main": {
4142 "description": "An image edited in Luminframe, saved to the author's repo, together with the effect recipe used to produce it.",
4243 "key": "tid",
4344 "record": {
4445 "properties": {
4546 "alt": {
4647 "description": "Accessibility description of the image.",
4748 "maxGraphemes": 2000,
4849 "maxLength": 10000,
4950 "type": "string"
5051 },
5152 "aspectRatio": {
5253 "description": "Pixel dimensions of the render, so a viewer can lay it out without decoding.",
5354 "ref": "#aspectRatio",
5455 "type": "ref"
5556 },
5657 "createdAt": {
5758 "description": "When the record was created.",
5859 "format": "datetime",
5960 "type": "string"
6061 },
6162 "effects": {
6263 "description": "The effect keys applied, in order. Kept for lightweight display and backward compatibility; the executable form is `recipe`.",
6364 "items": {
6465 "maxLength": 128,
6566 "type": "string"
6667 },
6768 "maxLength": 64,
6869 "type": "array"
6970 },
7071 "image": {
7172 "accept": [
7273 "image/*"
7374 ],
7475 "description": "The rendered image. When `video` is present, this is its poster frame.",
7576 "maxSize": 1000000,
7677 "type": "blob"
7778 },
7879 "recipe": {
7980 "description": "The ordered effect stack with parameters — the executable edit, so the look can be reconstructed or applied elsewhere.",
8081 "items": {
8182 "ref": "#effectStep",
8283 "type": "ref"
8384 },
8485 "maxLength": 64,
8586 "type": "array"
8687 },
8788 "remixOf": {
8889 "description": "The record this image was remixed from, if any — its lineage.",
8990 "ref": "com.atproto.repo.strongRef",
9091 "type": "ref"
9192 },
9293 "title": {
9394 "description": "Short caption or label.",
9495 "maxGraphemes": 300,
9596 "maxLength": 3000,
9697 "type": "string"
9798 },
9899 "video": {
99100 "accept": [
100101 "video/mp4"
101102 ],
102103 "description": "A short looping clip of the edit, present when the recipe animates. The still `image` remains required as the poster, so viewers that only know stills keep working.",
103104 "maxSize": 5000000,
104105 "type": "blob"
105106 }
106107 },
107108 "required": [
108109 "image",
109110 "aspectRatio",
110111 "createdAt"
111112 ],
112113 "type": "object"
113114 },
114115 "type": "record"
115116 }
116117 },
117118 "id": "com.luminframe.image",
118119 "lexicon": 1
119120}

Compare other versions