gioser

tawasuyu/llimphi

Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.

Rust 660Markdown 302TOML 157RON 312382 Definiciones

⎇ main shared/foreign-lottie/src/schema/layers/layer.rs Rust · 53 líneas · 1.7 KB Historia Quién tocó qué crudo

chore: refresco desde el monorepo — 27 crates nuevos (anim, lottie, svg, mesh, image, layer, test, wire-view, widgets rag-sidebar/router/lazy-list/rive-button) y sync de los 95 existentes 93253cc22 · Sergio ·

1// Copyright 2024 the Velato Authors
2// SPDX-License-Identifier: Apache-2.0 OR MIT
3
4use serde::{Deserialize, Serialize};
5
6use crate::schema::{
7    animated_properties::value::FloatValue,
8    helpers::{int_boolean::BoolInt, visual_object::VisualObject},
9};
10
11use super::visual::VisualLayer;
12
13/// Renders a Precomposition
14#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
15pub struct Layer {
16    /// Visual object dat   K
17    #[serde(flatten)]
18    pub visual_object: VisualObject,
19    /// Whether the layer is 3D. Lottie doesn't actually support 3D stuff so
20    /// this should always be 0
21    #[serde(rename = "ddd", default)]
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub three_dimensional: Option<BoolInt>,
24    /// Whether the layer is hidden
25    #[serde(rename = "hd", default)]
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub hidden: Option<bool>,
28    /// Layer type
29    #[serde(rename = "ty")]
30    pub layer_type: u8,
31    /// Layer index for parenting
32    #[serde(rename = "ind")]
33    #[serde(skip_serializing_if = "Option::is_none")]
34    pub index: Option<usize>,
35    /// Parent index for parenting
36    #[serde(rename = "parent")]
37    #[serde(skip_serializing_if = "Option::is_none")]
38    pub parent_index: Option<usize>,
39    /// Time Stretch
40    #[serde(rename = "sr")]
41    #[serde(skip_serializing_if = "Option::is_none")]
42    pub time_stretch: Option<f64>,
43    /// Frame when the layer becomes visible
44    #[serde(rename = "ip")]
45    pub in_point: f64,
46    /// Frame when the layer becomes invisible
47    #[serde(rename = "op")]
48    pub out_point: f64,
49    /// Start Time
50    #[serde(skip_serializing_if = "Option::is_none")]
51    #[serde(rename = "st")]
52    pub start_time: Option<f64>,
53}