diff --git a/docs/specs/properties.md b/docs/specs/properties.md index 75b4264..32fc696 100644 --- a/docs/specs/properties.md +++ b/docs/specs/properties.md @@ -91,6 +91,12 @@ In the following example, the ball moves left and right, on the background you c Animatable {link:values/vector}. {schema_object:properties/vector-property} +`a`{link:values/int-boolean}AnimatedWhether the property is animated +`k` +{link:values/vector} or `array` +Value or Keyframes +When it's not animated, `k` will contain the value directly. When animated, `k` will be an array of keyframes. +

Vector Keyframe

@@ -108,6 +114,12 @@ Note that when animated it uses {link:properties/vector-keyframe:Vector Keyframe so instead of scalars keyframes have arrays with a single values. {schema_object:properties/scalar-property} +`a`{link:values/int-boolean}AnimatedWhether the property is animated +`k` +`number` or `array` +Value or Keyframes +When it's not animated, `k` will contain the value directly. When animated, `k` will be an array of keyframes. +

Position

@@ -115,6 +127,12 @@ so instead of scalars keyframes have arrays with a single values. Animatable 2D {link:values/vector} with optional spatial tangents. {schema_object:properties/position-property} +`a`{link:values/int-boolean}AnimatedWhether the property is animated +`k` +{link:values/vector} or `array` +Value or Keyframes +When it's not animated, `k` will contain the value directly. When animated, `k` will be an array of keyframes. +

Position Keyframe

@@ -135,6 +153,12 @@ Animatable 2D {link:values/vector} with optional spatial tangents. Animatable {link:values/bezier}. {schema_object:properties/bezier-property} +`a`{link:values/int-boolean}AnimatedWhether the property is animated +`k` +{link:values/bezier} or `array` +Value or Keyframes +When it's not animated, `k` will contain the value directly. When animated, `k` will be an array of keyframes. +

Bezier Shape Keyframe

@@ -148,6 +172,12 @@ Animatable {link:values/bezier}. Animatable {link:values/color}. {schema_object:properties/color-property} +`a`{link:values/int-boolean}AnimatedWhether the property is animated +`k` +{link:values/color} or `array` +Value or Keyframes +When it's not animated, `k` will contain the value directly. When animated, `k` will be an array of keyframes. +

Color Keyframe

@@ -161,6 +191,12 @@ Animatable {link:values/color}. Animatable {link:values/gradient}. {schema_object:properties/gradient-property} +`k.a`{link:values/int-boolean}AnimatedWhether the property is animated +`k.k` +{link:values/gradient} or `array` +Value or Keyframes +When it's not animated, `k` will contain the value directly. When animated, `k` will be an array of keyframes. + Color count is not animatable. diff --git a/schema/properties/gradient-property.json b/schema/properties/gradient-property.json index 6d32871..40bc3f3 100644 --- a/schema/properties/gradient-property.json +++ b/schema/properties/gradient-property.json @@ -9,6 +9,9 @@ "type": "number" }, "k": { + "type": "object", + "title": "Gradient stops", + "description": "Animatable vector representing the gradient stops", "oneOf": [ { "$comment": "Not animated", diff --git a/tools/lottie_markdown.py b/tools/lottie_markdown.py index a3cda4c..de84f6c 100644 --- a/tools/lottie_markdown.py +++ b/tools/lottie_markdown.py @@ -313,6 +313,9 @@ def run(self, parent, blocks): graph = inheritance.inheritance_graph(type) details.append(graph) + if not has_own_props and blocks and (block_to_html(self, blocks[0]) or "").startswith(" to the table + last_tr = -1 + for i, block in enumerate(blocks): + if block == "": + continue + next_html = block_to_html(self, block) + if not next_html or not next_html.startswith("