@idle-screens/schema 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idle-screens/schema",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Declarative, agent-authorable saver format for idle-screens: validate a data spec, then compile it into a runnable, seeded, flash-safe SaverPlugin.",
5
5
  "license": "MIT",
6
6
  "author": "Shawn Partridge",
@@ -88,6 +88,16 @@
88
88
  "color": { "$ref": "#/definitions/hexColor" },
89
89
  "height": { "type": "number", "exclusiveMinimum": 0, "description": "Band height in px (e.g. an aquarium seafloor)." }
90
90
  }
91
+ },
92
+ "drift": {
93
+ "type": "object",
94
+ "required": ["period"],
95
+ "additionalProperties": false,
96
+ "properties": {
97
+ "period": { "type": "number", "minimum": 10000, "description": "Full cycle period in ms. Floor of 10 s." },
98
+ "amount": { "type": "number", "exclusiveMinimum": 0, "maximum": 0.3, "description": "How far stops shift (fraction of 0..1 range). Default 0.15, max 0.3." }
99
+ },
100
+ "description": "Slow oscillation of gradient stop positions — makes the background feel alive."
91
101
  }
92
102
  }
93
103
  }
@@ -147,6 +157,16 @@
147
157
  },
148
158
  "description": "Exact fractional position for a single entity. Requires count: 1. Overrides region scatter."
149
159
  },
160
+ "trail": {
161
+ "type": "object",
162
+ "required": ["length"],
163
+ "additionalProperties": false,
164
+ "properties": {
165
+ "length": { "type": "number", "exclusiveMinimum": 0, "maximum": 5000, "description": "Trail duration in ms. How far back the afterglow extends." },
166
+ "fade": { "type": "number", "minimum": 0, "maximum": 1, "description": "Opacity fade factor along the trail. 1 = full fade to 0 (default), 0 = uniform opacity." }
167
+ },
168
+ "description": "Afterglow trail behind moving entities. Sampled analytically — no state, fully deterministic."
169
+ },
150
170
  "links": {
151
171
  "type": "object",
152
172
  "required": ["k", "maxDist"],