The widget half of the widget catalogue's later work, ported onto makepad-widgets-core and the family crates. - libs/tween: a dependency-free tween and timeline engine -- nested timelines with positions and labels, stagger, repeat and yoyo, seek and reverse, time scale, a ticker with lag smoothing, a global pause and reduced motion, colour-space interpolation, keyframes and motion paths. The core binds it to the widget tree (tween, a widget's TweenHost), gives script a mod.tween (tween_script) and a live inspector (tween_inspect, tween_inspector). The Animator's Ease now answers from the engine's easing, so the curves have one source; the Animator keeps its states, its keyframe timelines and its own clock. - libs/gizmo and a Gizmo3d / ViewCube widget. - core: the ease editor, the sequencer, diagonal headings, hotkeys, the hotkey editor and keyboard map, the overlay layer host, a conceding row and the width a widget would take without drawing; a theme mix and a person's own theme edits that survive a style reload (theme_mix, set_theme_edit), both taken off by set_base_theme. - the surface material: buttons, check boxes, toggles, sliders and knobs carry the moulded material behind one uniform, a press idiom per sign of material_press, and four sheets that raise it: neumorphic, molded, glossy and milled. - the sheets: a row of fields is one height under every sheet. A sheet line that names a widget the app did not register (a family left out) is skipped when the sheet installs, so the date fields a sheet sizes need the dates family only where it is linked. - extras: the gradient editor, registered with the colour picker it builds on. - tweaker: the designer (a widget's literal located and edited in its source as hunks), the theme lab and the theme builder. The window reads the docked panel's band through the tweaker's hooks. - the panel no longer wears the app's theme (the design surface keeps its own palette), so the worn-theme tests go with it. Five theme builder tests fail here as they do on the branch this comes from (every_built_theme_reads and four more on text contrast); radial_menu's tab_under_an_open_menu_finds_nowhere_to_go fails here as it does on dev.
1632 lines
105 KiB
Rust
1632 lines
105 KiB
Rust
// GENERATED by gsap/emit_rust.js from gsap/out/samples.json -- do not edit by hand.
|
|
// GSAP 3.15.0 under Node v22.22.2; generator golden.js; root time after the frame tick: 0.
|
|
// Numbers are the golden doubles (shortest round-trip repr, bit-exact). Tolerances are the test's business
|
|
// (see design/gsap_reconciliation.md D: GSAP rounds written property values to 1e-6, so value columns need 5e-7).
|
|
// Columnar samples: `t` is the driver time in visiting order, each Series is aligned with it; everything else is in `meta`.
|
|
#![allow(
|
|
dead_code,
|
|
unused_imports,
|
|
clippy::approx_constant,
|
|
clippy::excessive_precision,
|
|
clippy::unreadable_literal
|
|
)]
|
|
use super::common::*;
|
|
|
|
pub const GSAP_VERSION: &str = "3.15.0";
|
|
pub const NOTES: &[&str] = &["Each case: series are columnar arrays aligned with samples.t. Samples are taken on ONE instance in the listed order (increasing t unless stated). driver says how the playhead was moved.", "tl.seek(t) for numeric t is totalTime(t) with events suppressed; values are identical to totalTime(t).", "Grid: 0..totalDuration step 0.05 (decimal-exact) plus listed boundary times; times beyond the end show clamping."];
|
|
|
|
#[derive(Clone, Copy, Debug)]
|
|
pub struct SampleCase {
|
|
pub id: &'static str,
|
|
pub description: &'static str,
|
|
pub gsap_calls: &'static [&'static str],
|
|
pub driver: &'static str,
|
|
pub meta: Pairs,
|
|
pub t: &'static [f64],
|
|
pub series: &'static [Series],
|
|
}
|
|
/// XOR of the bits of every CASES[*].t and CASES[*].series[*].v value.
|
|
pub const F64_BITS_XOR: u64 = 0x8084180ac4393c6c;
|
|
pub const CASES: &[SampleCase] = &[
|
|
SampleCase { id: "to_power2_inout", description: "to() x:0->100, y:10->-50, 1 s, power2.inOut",
|
|
gsap_calls: &["o={x:0,y:10}", "tw=gsap.to(o,{x:100,y:-50,duration:1,ease:\"power2.inOut\",paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[("totalDuration", Val::F(1.0))],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
0.999999995, 1.0, 1.25,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 0.05, 0.4, 1.35, 3.2, 6.25, 10.8, 17.15, 25.6, 36.45,
|
|
50.0, 63.55, 74.4, 82.85, 89.2, 93.75, 96.8, 98.65, 99.6, 99.95,
|
|
100.0, 100.0, 100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
10.0, 9.97, 9.76, 9.19, 8.08, 6.25, 3.52, -0.29, -5.36, -11.87,
|
|
-20.0, -28.13, -34.64, -39.71, -43.52, -46.25, -48.08, -49.19, -49.76, -49.97,
|
|
-50.0, -50.0, -50.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.0, 1.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "from_power2_inout", description: "from() x:100->0 (start value 0), y:60->10; paused; immediateRender defaults to true for from()",
|
|
gsap_calls: &["o={x:0,y:10}", "tw=gsap.from(o,{x:100,y:60,duration:1,ease:\"power2.inOut\",paused:true})", "immediate = {x:o.x, y:o.y} read right after creation"], driver: "tw.totalTime(t)",
|
|
meta: &[
|
|
("immediate_after_create.x", Val::F(100.0)), ("immediate_after_create.y", Val::F(60.0)), ("totalDuration", Val::F(1.0)),
|
|
],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.25,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
100.0, 99.95, 99.6, 98.65, 96.8, 93.75, 89.2, 82.85, 74.4, 63.55,
|
|
50.0, 36.45, 25.6, 17.15, 10.8, 6.25, 3.2, 1.35, 0.4, 0.05,
|
|
0.0, 0.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
60.0, 59.975, 59.8, 59.325, 58.4, 56.875, 54.6, 51.425, 47.2, 41.775,
|
|
35.0, 28.225, 22.8, 18.575, 15.4, 13.125, 11.6, 10.675, 10.2, 10.025,
|
|
10.0, 10.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "from_immediate_render_false", description: "from() with immediateRender:false: target untouched until first render",
|
|
gsap_calls: &["o={x:0,y:10}", "tw=gsap.from(o,{x:100,y:60,duration:1,ease:\"power2.inOut\",paused:true,immediateRender:false})"], driver: "tw.totalTime(t)",
|
|
meta: &[("immediate_after_create.x", Val::F(0.0)), ("immediate_after_create.y", Val::F(10.0))],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
100.0, 99.95, 99.6, 98.65, 96.8, 93.75, 89.2, 82.85, 74.4, 63.55,
|
|
50.0, 36.45, 25.6, 17.15, 10.8, 6.25, 3.2, 1.35, 0.4, 0.05,
|
|
0.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
60.0, 59.975, 59.8, 59.325, 58.4, 56.875, 54.6, 51.425, 47.2, 41.775,
|
|
35.0, 28.225, 22.8, 18.575, 15.4, 13.125, 11.6, 10.675, 10.2, 10.025,
|
|
10.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "from_unpaused_immediate_only", description: "gsap.from() NOT paused, on the root timeline: value right after creation (no ticker ever runs)",
|
|
gsap_calls: &["o={x:0,y:10}", "gsap.from(o,{x:100,y:60,duration:1,ease:\"power2.inOut\"})"], driver: "none",
|
|
meta: &[("immediate_after_create.x", Val::F(100.0)), ("immediate_after_create.y", Val::F(60.0))],
|
|
t: &[],
|
|
series: &[] },
|
|
SampleCase { id: "fromto_sine_inout", description: "fromTo() x:-20->80, y:5->25, 1.5 s, sine.inOut",
|
|
gsap_calls: &["o={x:0,y:0}", "tw=gsap.fromTo(o,{x:-20,y:5},{x:80,y:25,duration:1.5,ease:\"sine.inOut\",paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[
|
|
("immediate_after_create.x", Val::F(-20.0)), ("immediate_after_create.y", Val::F(5.0)), ("totalDuration", Val::F(1.5)),
|
|
],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.75,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
-20.0, -19.726095, -18.90738, -17.552826, -15.677273, -13.30127, -10.45085, -7.157241, -3.45653, 0.610737,
|
|
5.0, 9.663168, 14.54915, 19.604415, 24.773577, 30.0, 35.226423, 40.395585, 45.45085, 50.336832,
|
|
55.0, 59.389263, 63.45653, 67.157241, 70.45085, 73.30127, 75.677273, 77.552826, 78.90738, 79.726095,
|
|
80.0, 80.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
5.0, 5.054781, 5.218524, 5.489435, 5.864545, 6.339746, 6.90983, 7.568552, 8.308694, 9.122147,
|
|
10.0, 10.932634, 11.90983, 12.920883, 13.954715, 15.0, 16.045285, 17.079117, 18.09017, 19.067366,
|
|
20.0, 20.877853, 21.691306, 22.431448, 23.09017, 23.660254, 24.135455, 24.510565, 24.781476, 24.945219,
|
|
25.0, 25.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.5,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "repeat2_yoyo_rdelay03", description: "repeat:2, yoyo:true, repeatDelay:0.3, 1 s, power1.in. Iterations: [0,1] fwd, hold [1,1.3], [1.3,2.3] yoyo (backwards), hold [2.3,2.6], [2.6,3.6] fwd",
|
|
gsap_calls: &["o={x:0,y:0}", "tw=gsap.to(o,{x:100,y:50,duration:1,repeat:2,yoyo:true,repeatDelay:0.3,ease:\"power1.in\",paused:true})"], driver: "tw.totalTime(t) (increasing t)",
|
|
meta: &[("totalDuration", Val::F(3.6)), ("duration", Val::F(1.0))],
|
|
t: &[
|
|
0.0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09,
|
|
0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19,
|
|
0.2, 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29,
|
|
0.3, 0.31, 0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39,
|
|
0.4, 0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49,
|
|
0.5, 0.51, 0.52, 0.53, 0.54, 0.55, 0.56, 0.57, 0.58, 0.59,
|
|
0.6, 0.61, 0.62, 0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.69,
|
|
0.7, 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79,
|
|
0.8, 0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89,
|
|
0.9, 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99,
|
|
0.999999, 1.0, 1.000001, 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07,
|
|
1.08, 1.09, 1.1, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17,
|
|
1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24, 1.25, 1.26, 1.27,
|
|
1.28, 1.29, 1.299999, 1.3, 1.300001, 1.31, 1.32, 1.33, 1.34, 1.35,
|
|
1.36, 1.37, 1.38, 1.39, 1.4, 1.41, 1.42, 1.43, 1.44, 1.45,
|
|
1.46, 1.47, 1.48, 1.49, 1.5, 1.51, 1.52, 1.53, 1.54, 1.55,
|
|
1.56, 1.57, 1.58, 1.59, 1.6, 1.61, 1.62, 1.63, 1.64, 1.65,
|
|
1.66, 1.67, 1.68, 1.69, 1.7, 1.71, 1.72, 1.73, 1.74, 1.75,
|
|
1.76, 1.77, 1.78, 1.79, 1.8, 1.81, 1.82, 1.83, 1.84, 1.85,
|
|
1.86, 1.87, 1.88, 1.89, 1.9, 1.91, 1.92, 1.93, 1.94, 1.95,
|
|
1.96, 1.97, 1.98, 1.99, 2.0, 2.01, 2.02, 2.03, 2.04, 2.05,
|
|
2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12, 2.13, 2.14, 2.15,
|
|
2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24, 2.25,
|
|
2.26, 2.27, 2.28, 2.29, 2.299999, 2.3, 2.300001, 2.31, 2.32, 2.33,
|
|
2.34, 2.35, 2.36, 2.37, 2.38, 2.39, 2.4, 2.41, 2.42, 2.43,
|
|
2.44, 2.45, 2.46, 2.47, 2.48, 2.49, 2.5, 2.51, 2.52, 2.53,
|
|
2.54, 2.55, 2.56, 2.57, 2.58, 2.59, 2.599999, 2.6, 2.600001, 2.61,
|
|
2.62, 2.63, 2.64, 2.65, 2.66, 2.67, 2.68, 2.69, 2.7, 2.71,
|
|
2.72, 2.73, 2.74, 2.75, 2.76, 2.77, 2.78, 2.79, 2.8, 2.81,
|
|
2.82, 2.83, 2.84, 2.85, 2.86, 2.87, 2.88, 2.89, 2.9, 2.91,
|
|
2.92, 2.93, 2.94, 2.95, 2.96, 2.97, 2.98, 2.99, 3.0, 3.01,
|
|
3.02, 3.03, 3.04, 3.05, 3.06, 3.07, 3.08, 3.09, 3.1, 3.11,
|
|
3.12, 3.13, 3.14, 3.15, 3.16, 3.17, 3.18, 3.19, 3.2, 3.21,
|
|
3.22, 3.23, 3.24, 3.25, 3.26, 3.27, 3.28, 3.29, 3.3, 3.31,
|
|
3.32, 3.33, 3.34, 3.35, 3.36, 3.37, 3.38, 3.39, 3.4, 3.41,
|
|
3.42, 3.43, 3.44, 3.45, 3.46, 3.47, 3.48, 3.49, 3.5, 3.51,
|
|
3.52, 3.53, 3.54, 3.55, 3.56, 3.57, 3.58, 3.59, 3.599999, 3.6,
|
|
3.600001, 3.8,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 0.01, 0.04, 0.09, 0.16, 0.25, 0.36, 0.49, 0.64, 0.81,
|
|
1.0, 1.21, 1.44, 1.69, 1.96, 2.25, 2.56, 2.89, 3.24, 3.61,
|
|
4.0, 4.41, 4.84, 5.29, 5.76, 6.25, 6.76, 7.29, 7.84, 8.41,
|
|
9.0, 9.61, 10.24, 10.89, 11.56, 12.25, 12.96, 13.69, 14.44, 15.21,
|
|
16.0, 16.81, 17.64, 18.49, 19.36, 20.25, 21.16, 22.09, 23.04, 24.01,
|
|
25.0, 26.01, 27.04, 28.09, 29.16, 30.25, 31.36, 32.49, 33.64, 34.81,
|
|
36.0, 37.21, 38.44, 39.69, 40.96, 42.25, 43.56, 44.89, 46.24, 47.61,
|
|
49.0, 50.41, 51.84, 53.29, 54.76, 56.25, 57.76, 59.29, 60.84, 62.41,
|
|
64.0, 65.61, 67.24, 68.89, 70.56, 72.25, 73.96, 75.69, 77.44, 79.21,
|
|
81.0, 82.81, 84.64, 86.49, 88.36, 90.25, 92.16, 94.09, 96.04, 98.01,
|
|
99.9998, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 100.0, 99.9998, 98.01, 96.04, 94.09, 92.16, 90.25,
|
|
88.36, 86.49, 84.64, 82.81, 81.0, 79.21, 77.44, 75.69, 73.96, 72.25,
|
|
70.56, 68.89, 67.24, 65.61, 64.0, 62.41, 60.84, 59.29, 57.76, 56.25,
|
|
54.76, 53.29, 51.84, 50.41, 49.0, 47.61, 46.24, 44.89, 43.56, 42.25,
|
|
40.96, 39.69, 38.44, 37.21, 36.0, 34.81, 33.64, 32.49, 31.36, 30.25,
|
|
29.16, 28.09, 27.04, 26.01, 25.0, 24.01, 23.04, 22.09, 21.16, 20.25,
|
|
19.36, 18.49, 17.64, 16.81, 16.0, 15.21, 14.44, 13.69, 12.96, 12.25,
|
|
11.56, 10.89, 10.24, 9.61, 9.0, 8.41, 7.84, 7.29, 6.76, 6.25,
|
|
5.76, 5.29, 4.84, 4.41, 4.0, 3.61, 3.24, 2.89, 2.56, 2.25,
|
|
1.96, 1.69, 1.44, 1.21, 1.0, 0.81, 0.64, 0.49, 0.36, 0.25,
|
|
0.16, 0.09, 0.04, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01,
|
|
0.04, 0.09, 0.16, 0.25, 0.36, 0.49, 0.64, 0.81, 1.0, 1.21,
|
|
1.44, 1.69, 1.96, 2.25, 2.56, 2.89, 3.24, 3.61, 4.0, 4.41,
|
|
4.84, 5.29, 5.76, 6.25, 6.76, 7.29, 7.84, 8.41, 9.0, 9.61,
|
|
10.24, 10.89, 11.56, 12.25, 12.96, 13.69, 14.44, 15.21, 16.0, 16.81,
|
|
17.64, 18.49, 19.36, 20.25, 21.16, 22.09, 23.04, 24.01, 25.0, 26.01,
|
|
27.04, 28.09, 29.16, 30.25, 31.36, 32.49, 33.64, 34.81, 36.0, 37.21,
|
|
38.44, 39.69, 40.96, 42.25, 43.56, 44.89, 46.24, 47.61, 49.0, 50.41,
|
|
51.84, 53.29, 54.76, 56.25, 57.76, 59.29, 60.84, 62.41, 64.0, 65.61,
|
|
67.24, 68.89, 70.56, 72.25, 73.96, 75.69, 77.44, 79.21, 81.0, 82.81,
|
|
84.64, 86.49, 88.36, 90.25, 92.16, 94.09, 96.04, 98.01, 99.9998, 100.0,
|
|
100.0, 100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.005, 0.02, 0.045, 0.08, 0.125, 0.18, 0.245, 0.32, 0.405,
|
|
0.5, 0.605, 0.72, 0.845, 0.98, 1.125, 1.28, 1.445, 1.62, 1.805,
|
|
2.0, 2.205, 2.42, 2.645, 2.88, 3.125, 3.38, 3.645, 3.92, 4.205,
|
|
4.5, 4.805, 5.12, 5.445, 5.78, 6.125, 6.48, 6.845, 7.22, 7.605,
|
|
8.0, 8.405, 8.82, 9.245, 9.68, 10.125, 10.58, 11.045, 11.52, 12.005,
|
|
12.5, 13.005, 13.52, 14.045, 14.58, 15.125, 15.68, 16.245, 16.82, 17.405,
|
|
18.0, 18.605, 19.22, 19.845, 20.48, 21.125, 21.78, 22.445, 23.12, 23.805,
|
|
24.5, 25.205, 25.92, 26.645, 27.38, 28.125, 28.88, 29.645, 30.42, 31.205,
|
|
32.0, 32.805, 33.62, 34.445, 35.28, 36.125, 36.98, 37.845, 38.72, 39.605,
|
|
40.5, 41.405, 42.32, 43.245, 44.18, 45.125, 46.08, 47.045, 48.02, 49.005,
|
|
49.9999, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
50.0, 50.0, 50.0, 50.0, 49.9999, 49.005, 48.02, 47.045, 46.08, 45.125,
|
|
44.18, 43.245, 42.32, 41.405, 40.5, 39.605, 38.72, 37.845, 36.98, 36.125,
|
|
35.28, 34.445, 33.62, 32.805, 32.0, 31.205, 30.42, 29.645, 28.88, 28.125,
|
|
27.38, 26.645, 25.92, 25.205, 24.5, 23.805, 23.12, 22.445, 21.78, 21.125,
|
|
20.48, 19.845, 19.22, 18.605, 18.0, 17.405, 16.82, 16.245, 15.68, 15.125,
|
|
14.58, 14.045, 13.52, 13.005, 12.5, 12.005, 11.52, 11.045, 10.58, 10.125,
|
|
9.68, 9.245, 8.82, 8.405, 8.0, 7.605, 7.22, 6.845, 6.48, 6.125,
|
|
5.78, 5.445, 5.12, 4.805, 4.5, 4.205, 3.92, 3.645, 3.38, 3.125,
|
|
2.88, 2.645, 2.42, 2.205, 2.0, 1.805, 1.62, 1.445, 1.28, 1.125,
|
|
0.98, 0.845, 0.72, 0.605, 0.5, 0.405, 0.32, 0.245, 0.18, 0.125,
|
|
0.08, 0.045, 0.02, 0.005, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.005,
|
|
0.02, 0.045, 0.08, 0.125, 0.18, 0.245, 0.32, 0.405, 0.5, 0.605,
|
|
0.72, 0.845, 0.98, 1.125, 1.28, 1.445, 1.62, 1.805, 2.0, 2.205,
|
|
2.42, 2.645, 2.88, 3.125, 3.38, 3.645, 3.92, 4.205, 4.5, 4.805,
|
|
5.12, 5.445, 5.78, 6.125, 6.48, 6.845, 7.22, 7.605, 8.0, 8.405,
|
|
8.82, 9.245, 9.68, 10.125, 10.58, 11.045, 11.52, 12.005, 12.5, 13.005,
|
|
13.52, 14.045, 14.58, 15.125, 15.68, 16.245, 16.82, 17.405, 18.0, 18.605,
|
|
19.22, 19.845, 20.48, 21.125, 21.78, 22.445, 23.12, 23.805, 24.5, 25.205,
|
|
25.92, 26.645, 27.38, 28.125, 28.88, 29.645, 30.42, 31.205, 32.0, 32.805,
|
|
33.62, 34.445, 35.28, 36.125, 36.98, 37.845, 38.72, 39.605, 40.5, 41.405,
|
|
42.32, 43.245, 44.18, 45.125, 46.08, 47.045, 48.02, 49.005, 49.9999, 50.0,
|
|
50.0, 50.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09,
|
|
0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19,
|
|
0.2, 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29,
|
|
0.3, 0.31, 0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39,
|
|
0.4, 0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49,
|
|
0.5, 0.51, 0.52, 0.53, 0.54, 0.55, 0.56, 0.57, 0.58, 0.59,
|
|
0.6, 0.61, 0.62, 0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.69,
|
|
0.7, 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79,
|
|
0.8, 0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89,
|
|
0.9, 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99,
|
|
0.999999, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 0.999999, 0.99, 0.98, 0.97, 0.96, 0.95,
|
|
0.94, 0.9299999999999999, 0.92, 0.91, 0.9, 0.89, 0.88, 0.87, 0.86, 0.85,
|
|
0.84, 0.83, 0.8200000000000001, 0.81, 0.8, 0.79, 0.78, 0.77, 0.76, 0.75,
|
|
0.74, 0.73, 0.72, 0.71, 0.7, 0.69, 0.6799999999999999, 0.6699999999999999, 0.6599999999999999, 0.65,
|
|
0.64, 0.63, 0.62, 0.61, 0.6, 0.5900000000000001, 0.5800000000000001, 0.5700000000000001, 0.56, 0.55,
|
|
0.54, 0.53, 0.52, 0.51, 0.5, 0.49, 0.48, 0.47, 0.45999999999999996, 0.44999999999999996,
|
|
0.43999999999999995, 0.43000000000000005, 0.42000000000000004, 0.41000000000000003, 0.4, 0.39, 0.38, 0.37, 0.36, 0.35,
|
|
0.33999999999999997, 0.32999999999999996, 0.31999999999999995, 0.31000000000000005, 0.30000000000000004, 0.29000000000000004, 0.28, 0.27, 0.26, 0.25,
|
|
0.24, 0.22999999999999998, 0.21999999999999997, 0.20999999999999996, 0.19999999999999996, 0.18999999999999995, 0.18000000000000005, 0.17000000000000004, 0.16000000000000003, 0.15000000000000002,
|
|
0.14, 0.13, 0.12, 0.10999999999999999, 0.09999999999999998, 0.08999999999999997, 0.07999999999999996, 0.06999999999999995, 0.06000000000000005, 0.050000000000000044,
|
|
0.040000000000000036, 0.030000000000000027, 0.020000000000000018, 0.010000000000000009, 0.0000010000000000287557, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.000001, 0.01,
|
|
0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1, 0.11,
|
|
0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2, 0.21,
|
|
0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.3, 0.31,
|
|
0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39, 0.4, 0.41,
|
|
0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.5, 0.51,
|
|
0.52, 0.53, 0.54, 0.55, 0.56, 0.57, 0.58, 0.59, 0.6, 0.61,
|
|
0.62, 0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.69, 0.7, 0.71,
|
|
0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79, 0.8, 0.81,
|
|
0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89, 0.9, 0.91,
|
|
0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99, 0.999999, 1.0,
|
|
1.0, 1.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "repeat_infinite", description: "repeat:-1, 1 s, power1.inOut sampled on 0..5",
|
|
gsap_calls: &["o={x:0,y:0}", "tw=gsap.to(o,{x:100,y:50,duration:1,repeat:-1,ease:\"power1.inOut\",paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[("totalDuration", Val::F(10000000000.0)), ("repeat", Val::F(-1.0))],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
0.999, 1.0, 1.001, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35,
|
|
1.4, 1.45, 1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85,
|
|
1.9, 1.95, 1.999999999, 2.0, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
|
|
2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65, 2.7, 2.75, 2.8,
|
|
2.85, 2.9, 2.95, 3.0, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
|
|
3.35, 3.4, 3.45, 3.5, 3.55, 3.6, 3.65, 3.7, 3.75, 3.8,
|
|
3.85, 3.9, 3.95, 4.0, 4.05, 4.1, 4.15, 4.2, 4.25, 4.3,
|
|
4.35, 4.4, 4.45, 4.5, 4.55, 4.6, 4.65, 4.7, 4.75, 4.8,
|
|
4.85, 4.9, 4.95, 5.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 0.5, 2.0, 4.5, 8.0, 12.5, 18.0, 24.5, 32.0, 40.5,
|
|
50.0, 59.5, 68.0, 75.5, 82.0, 87.5, 92.0, 95.5, 98.0, 99.5,
|
|
99.9998, 100.0, 0.0002, 0.5, 2.0, 4.5, 8.0, 12.5, 18.0, 24.5,
|
|
32.0, 40.5, 50.0, 59.5, 68.0, 75.5, 82.0, 87.5, 92.0, 95.5,
|
|
98.0, 99.5, 100.0, 100.0, 0.5, 2.0, 4.5, 8.0, 12.5, 18.0,
|
|
24.5, 32.0, 40.5, 50.0, 59.5, 68.0, 75.5, 82.0, 87.5, 92.0,
|
|
95.5, 98.0, 99.5, 100.0, 0.5, 2.0, 4.5, 8.0, 12.5, 18.0,
|
|
24.5, 32.0, 40.5, 50.0, 59.5, 68.0, 75.5, 82.0, 87.5, 92.0,
|
|
95.5, 98.0, 99.5, 100.0, 0.5, 2.0, 4.5, 8.0, 12.5, 18.0,
|
|
24.5, 32.0, 40.5, 50.0, 59.5, 68.0, 75.5, 82.0, 87.5, 92.0,
|
|
95.5, 98.0, 99.5, 100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.25, 1.0, 2.25, 4.0, 6.25, 9.0, 12.25, 16.0, 20.25,
|
|
25.0, 29.75, 34.0, 37.75, 41.0, 43.75, 46.0, 47.75, 49.0, 49.75,
|
|
49.9999, 50.0, 0.0001, 0.25, 1.0, 2.25, 4.0, 6.25, 9.0, 12.25,
|
|
16.0, 20.25, 25.0, 29.75, 34.0, 37.75, 41.0, 43.75, 46.0, 47.75,
|
|
49.0, 49.75, 50.0, 50.0, 0.25, 1.0, 2.25, 4.0, 6.25, 9.0,
|
|
12.25, 16.0, 20.25, 25.0, 29.75, 34.0, 37.75, 41.0, 43.75, 46.0,
|
|
47.75, 49.0, 49.75, 50.0, 0.25, 1.0, 2.25, 4.0, 6.25, 9.0,
|
|
12.25, 16.0, 20.25, 25.0, 29.75, 34.0, 37.75, 41.0, 43.75, 46.0,
|
|
47.75, 49.0, 49.75, 50.0, 0.25, 1.0, 2.25, 4.0, 6.25, 9.0,
|
|
12.25, 16.0, 20.25, 25.0, 29.75, 34.0, 37.75, 41.0, 43.75, 46.0,
|
|
47.75, 49.0, 49.75, 50.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
0.999, 1.0, 0.001, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35,
|
|
0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85,
|
|
0.9, 0.95, 1.0, 1.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3,
|
|
0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8,
|
|
0.85, 0.9, 0.95, 1.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3,
|
|
0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8,
|
|
0.85, 0.9, 0.95, 1.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3,
|
|
0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8,
|
|
0.85, 0.9, 0.95, 1.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0,
|
|
3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0,
|
|
4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0,
|
|
4.0, 4.0, 4.0, 4.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0,
|
|
5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0, 5.0,
|
|
5.0, 5.0, 5.0, 5.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "delay05_standalone", description: "standalone tween with delay:0.5: totalTime() is measured from the tween start, the delay is NOT part of it",
|
|
gsap_calls: &["o={x:0,y:0}", "tw=gsap.to(o,{x:100,y:50,duration:1,delay:0.5,ease:\"none\",paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[("totalDuration", Val::F(1.0)), ("delay", Val::F(0.5)), ("startTime_on_root", Val::F(0.5))],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0,
|
|
50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 2.5, 5.0, 7.5, 10.0, 12.5, 15.0, 17.5, 20.0, 22.5,
|
|
25.0, 27.5, 30.0, 32.5, 35.0, 37.5, 40.0, 42.5, 45.0, 47.5,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
50.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "delay05_in_timeline", description: "same tween inside a timeline: delay shifts the startTime",
|
|
gsap_calls: &["tl=gsap.timeline({paused:true})", "tl.to(o,{x:100,y:50,duration:1,delay:0.5,ease:\"none\"})"], driver: "tl.seek(t)",
|
|
meta: &[("child_startTime", Val::F(0.5)), ("timeline_duration", Val::F(1.5))],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0,
|
|
50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 2.5, 5.0, 7.5, 10.0, 12.5, 15.0, 17.5, 20.0, 22.5,
|
|
25.0, 27.5, 30.0, 32.5, 35.0, 37.5, 40.0, 42.5, 45.0, 47.5,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
] },
|
|
Series { name: "tl.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.5, 1.5, 1.5, 1.5, 1.5,
|
|
] },
|
|
] },
|
|
SampleCase { id: "keyframes_array", description: "array keyframes; keyframes without ease default to \"none\"",
|
|
gsap_calls: &["o={x:0,y:0}", "tw=gsap.to(o,{keyframes:[{x:50,duration:0.5},{x:20,duration:1,ease:\"power1.in\"}],paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[
|
|
("initial_target.x", Val::F(0.0)), ("initial_target.y", Val::F(0.0)), ("immediate_after_create.x", Val::F(0.0)),
|
|
("immediate_after_create.y", Val::F(0.0)), ("duration", Val::F(1.5)), ("totalDuration", Val::F(1.5)), ("internal_timeline_children.len", Val::F(2.0)),
|
|
("internal_timeline_children.0.startTime", Val::F(0.0)), ("internal_timeline_children.0.duration", Val::F(0.5)),
|
|
("internal_timeline_children.0.vars.x", Val::F(50.0)), ("internal_timeline_children.0.vars.duration", Val::F(0.5)),
|
|
("internal_timeline_children.0.vars.ease", Val::S("none")), ("internal_timeline_children.0.vars.overwrite", Val::B(false)),
|
|
("internal_timeline_children.0.vars.delay", Val::F(0.0)), ("internal_timeline_children.1.startTime", Val::F(0.5)),
|
|
("internal_timeline_children.1.duration", Val::F(1.0)), ("internal_timeline_children.1.vars.x", Val::F(20.0)),
|
|
("internal_timeline_children.1.vars.duration", Val::F(1.0)), ("internal_timeline_children.1.vars.ease", Val::S("power1.in")),
|
|
("internal_timeline_children.1.vars.overwrite", Val::B(false)), ("internal_timeline_children.1.vars.delay", Val::F(0.0)),
|
|
],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0,
|
|
50.0, 49.925, 49.7, 49.325, 48.8, 48.125, 47.3, 46.325, 45.2, 43.925,
|
|
42.5, 40.925, 39.2, 37.325, 35.3, 33.125, 30.8, 28.325, 25.7, 22.925,
|
|
20.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "keyframes_array_outer_ease", description: "array keyframes + an ease on the tween itself (warps the whole keyframe timeline)",
|
|
gsap_calls: &["o={x:0,y:0}", "tw=gsap.to(o,{keyframes:[{x:50,duration:0.5},{x:20,duration:1,ease:\"power1.in\"}],ease:\"power2.inOut\",paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[
|
|
("initial_target.x", Val::F(0.0)), ("initial_target.y", Val::F(0.0)), ("immediate_after_create.x", Val::F(0.0)),
|
|
("immediate_after_create.y", Val::F(0.0)), ("duration", Val::F(1.5)), ("totalDuration", Val::F(1.5)), ("internal_timeline_children.len", Val::F(2.0)),
|
|
("internal_timeline_children.0.startTime", Val::F(0.0)), ("internal_timeline_children.0.duration", Val::F(0.5)),
|
|
("internal_timeline_children.0.vars.x", Val::F(50.0)), ("internal_timeline_children.0.vars.duration", Val::F(0.5)),
|
|
("internal_timeline_children.0.vars.ease", Val::S("none")), ("internal_timeline_children.0.vars.overwrite", Val::B(false)),
|
|
("internal_timeline_children.0.vars.delay", Val::F(0.0)), ("internal_timeline_children.1.startTime", Val::F(0.5)),
|
|
("internal_timeline_children.1.duration", Val::F(1.0)), ("internal_timeline_children.1.vars.x", Val::F(20.0)),
|
|
("internal_timeline_children.1.vars.duration", Val::F(1.0)), ("internal_timeline_children.1.vars.ease", Val::S("power1.in")),
|
|
("internal_timeline_children.1.vars.overwrite", Val::B(false)), ("internal_timeline_children.1.vars.delay", Val::F(0.0)),
|
|
],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 0.02222, 0.17778, 0.6, 1.42222, 2.77778, 4.8, 7.62222, 11.37778, 16.2,
|
|
22.22222, 29.57778, 38.4, 48.82222, 49.638465, 48.125, 45.431799, 42.142505, 38.61632, 35.122133,
|
|
31.851851, 28.93268, 26.438306, 24.399037, 22.81088, 21.64352, 20.847264, 20.35892, 20.106573, 20.013331,
|
|
20.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "keyframes_percent_easeEach_none", description: "percent keyframes, easeEach:\"none\", duration 2; target starts at x=5 so the 0% keyframe is visible",
|
|
gsap_calls: &["o={x:5,y:0}", "tw=gsap.to(o,{keyframes:{\"0%\":{x:0},\"50%\":{x:80},\"100%\":{x:100},easeEach:\"none\"},duration:2,paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[
|
|
("initial_target.x", Val::F(5.0)), ("initial_target.y", Val::F(0.0)), ("immediate_after_create.x", Val::F(5.0)),
|
|
("immediate_after_create.y", Val::F(0.0)), ("duration", Val::F(2.0)), ("totalDuration", Val::F(2.0)), ("internal_timeline_children.len", Val::F(3.0)),
|
|
("internal_timeline_children.0.startTime", Val::F(0.0)), ("internal_timeline_children.0.duration", Val::F(0.0)),
|
|
("internal_timeline_children.0.vars.ease", Val::S("none")), ("internal_timeline_children.0.vars.duration", Val::F(0.0)),
|
|
("internal_timeline_children.0.vars.x", Val::F(0.0)), ("internal_timeline_children.0.vars.overwrite", Val::B(false)),
|
|
("internal_timeline_children.0.vars.delay", Val::F(0.0)), ("internal_timeline_children.1.startTime", Val::F(0.0)),
|
|
("internal_timeline_children.1.duration", Val::F(1.0)), ("internal_timeline_children.1.vars.ease", Val::S("none")),
|
|
("internal_timeline_children.1.vars.duration", Val::F(1.0)), ("internal_timeline_children.1.vars.x", Val::F(80.0)),
|
|
("internal_timeline_children.1.vars.overwrite", Val::B(false)), ("internal_timeline_children.1.vars.delay", Val::F(0.0)),
|
|
("internal_timeline_children.2.startTime", Val::F(1.0)), ("internal_timeline_children.2.duration", Val::F(1.0)),
|
|
("internal_timeline_children.2.vars.ease", Val::S("none")), ("internal_timeline_children.2.vars.duration", Val::F(1.0)),
|
|
("internal_timeline_children.2.vars.x", Val::F(100.0)), ("internal_timeline_children.2.vars.overwrite", Val::B(false)),
|
|
("internal_timeline_children.2.vars.delay", Val::F(0.0)),
|
|
],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 4.0, 8.0, 12.0, 16.0, 20.0, 24.0, 28.0, 32.0, 36.0,
|
|
40.0, 44.0, 48.0, 52.0, 56.0, 60.0, 64.0, 68.0, 72.0, 76.0,
|
|
80.0, 81.0, 82.0, 83.0, 84.0, 85.0, 86.0, 87.0, 88.0, 89.0,
|
|
90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0,
|
|
100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "keyframes_percent_default_easeEach", description: "percent keyframes WITHOUT easeEach (default per-segment ease is power1.inOut)",
|
|
gsap_calls: &["o={x:5,y:0}", "tw=gsap.to(o,{keyframes:{\"0%\":{x:0},\"50%\":{x:80},\"100%\":{x:100}},duration:2,paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[
|
|
("initial_target.x", Val::F(5.0)), ("initial_target.y", Val::F(0.0)), ("immediate_after_create.x", Val::F(5.0)),
|
|
("immediate_after_create.y", Val::F(0.0)), ("duration", Val::F(2.0)), ("totalDuration", Val::F(2.0)), ("internal_timeline_children.len", Val::F(3.0)),
|
|
("internal_timeline_children.0.startTime", Val::F(0.0)), ("internal_timeline_children.0.duration", Val::F(0.0)),
|
|
("internal_timeline_children.0.vars.ease", Val::S("power1.inOut")), ("internal_timeline_children.0.vars.duration", Val::F(0.0)),
|
|
("internal_timeline_children.0.vars.x", Val::F(0.0)), ("internal_timeline_children.0.vars.overwrite", Val::B(false)),
|
|
("internal_timeline_children.0.vars.delay", Val::F(0.0)), ("internal_timeline_children.1.startTime", Val::F(0.0)),
|
|
("internal_timeline_children.1.duration", Val::F(1.0)), ("internal_timeline_children.1.vars.ease", Val::S("power1.inOut")),
|
|
("internal_timeline_children.1.vars.duration", Val::F(1.0)), ("internal_timeline_children.1.vars.x", Val::F(80.0)),
|
|
("internal_timeline_children.1.vars.overwrite", Val::B(false)), ("internal_timeline_children.1.vars.delay", Val::F(0.0)),
|
|
("internal_timeline_children.2.startTime", Val::F(1.0)), ("internal_timeline_children.2.duration", Val::F(1.0)),
|
|
("internal_timeline_children.2.vars.ease", Val::S("power1.inOut")), ("internal_timeline_children.2.vars.duration", Val::F(1.0)),
|
|
("internal_timeline_children.2.vars.x", Val::F(100.0)), ("internal_timeline_children.2.vars.overwrite", Val::B(false)),
|
|
("internal_timeline_children.2.vars.delay", Val::F(0.0)),
|
|
],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 0.4, 1.6, 3.6, 6.4, 10.0, 14.4, 19.6, 25.6, 32.4,
|
|
40.0, 47.6, 54.4, 60.4, 65.6, 70.0, 73.6, 76.4, 78.4, 79.6,
|
|
80.0, 80.1, 80.4, 80.9, 81.6, 82.5, 83.6, 84.9, 86.4, 88.1,
|
|
90.0, 91.9, 93.6, 95.1, 96.4, 97.5, 98.4, 99.1, 99.6, 99.9,
|
|
100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "keyframes_percent_outer_ease", description: "percent keyframes, easeEach:\"none\" + tween ease \"power2.in\"",
|
|
gsap_calls: &["o={x:5,y:0}", "tw=gsap.to(o,{keyframes:{\"0%\":{x:0},\"50%\":{x:80},\"100%\":{x:100},easeEach:\"none\"},ease:\"power2.in\",duration:2,paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[
|
|
("initial_target.x", Val::F(5.0)), ("initial_target.y", Val::F(0.0)), ("immediate_after_create.x", Val::F(5.0)),
|
|
("immediate_after_create.y", Val::F(0.0)), ("duration", Val::F(2.0)), ("totalDuration", Val::F(2.0)), ("internal_timeline_children.len", Val::F(3.0)),
|
|
("internal_timeline_children.0.startTime", Val::F(0.0)), ("internal_timeline_children.0.duration", Val::F(0.0)),
|
|
("internal_timeline_children.0.vars.ease", Val::S("none")), ("internal_timeline_children.0.vars.duration", Val::F(0.0)),
|
|
("internal_timeline_children.0.vars.x", Val::F(0.0)), ("internal_timeline_children.0.vars.overwrite", Val::B(false)),
|
|
("internal_timeline_children.0.vars.delay", Val::F(0.0)), ("internal_timeline_children.1.startTime", Val::F(0.0)),
|
|
("internal_timeline_children.1.duration", Val::F(1.0)), ("internal_timeline_children.1.vars.ease", Val::S("none")),
|
|
("internal_timeline_children.1.vars.duration", Val::F(1.0)), ("internal_timeline_children.1.vars.x", Val::F(80.0)),
|
|
("internal_timeline_children.1.vars.overwrite", Val::B(false)), ("internal_timeline_children.1.vars.delay", Val::F(0.0)),
|
|
("internal_timeline_children.2.startTime", Val::F(1.0)), ("internal_timeline_children.2.duration", Val::F(1.0)),
|
|
("internal_timeline_children.2.vars.ease", Val::S("none")), ("internal_timeline_children.2.vars.duration", Val::F(1.0)),
|
|
("internal_timeline_children.2.vars.x", Val::F(100.0)), ("internal_timeline_children.2.vars.overwrite", Val::B(false)),
|
|
("internal_timeline_children.2.vars.delay", Val::F(0.0)),
|
|
],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 0.002504, 0.02, 0.067496, 0.16, 0.312504, 0.54, 0.857496, 1.28, 1.822504,
|
|
2.5, 3.327504, 4.32, 5.492504, 6.86, 8.437504, 10.24, 12.282496, 14.58, 17.147496,
|
|
20.0, 23.152504, 26.62, 30.417496, 34.56, 39.062504, 43.94, 49.207504, 54.88, 60.972496,
|
|
67.5, 74.477504, 80.48, 82.460626, 84.565, 86.796876, 89.16, 91.658126, 94.295, 97.074376,
|
|
100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "stagger_5_each02_none", description: "5 targets, stagger:0.2, 1 s each, ease none (x 0->100, y 0->50)",
|
|
gsap_calls: &["objs=5 x {x:0,y:0}", "tw=gsap.to(objs,{x:100,y:50,duration:1,stagger:0.2,ease:\"none\",paused:true})", "sub-tweens: tw.timeline.getChildren()"], driver: "tw.totalTime(t)",
|
|
meta: &[
|
|
("duration", Val::F(1.8)), ("totalDuration", Val::F(1.8)), ("tween_has_getChildren", Val::B(false)),
|
|
("internal_timeline_child_startTimes_by_target_index.len", Val::F(5.0)), ("internal_timeline_child_startTimes_by_target_index.0", Val::F(0.0)),
|
|
("internal_timeline_child_startTimes_by_target_index.1", Val::F(0.2)), ("internal_timeline_child_startTimes_by_target_index.2", Val::F(0.4)),
|
|
("internal_timeline_child_startTimes_by_target_index.3", Val::F(0.6)), ("internal_timeline_child_startTimes_by_target_index.4", Val::F(0.8)),
|
|
("internal_timeline_child_durations_by_target_index.len", Val::F(5.0)), ("internal_timeline_child_durations_by_target_index.0", Val::F(1.0)),
|
|
("internal_timeline_child_durations_by_target_index.1", Val::F(1.0)), ("internal_timeline_child_durations_by_target_index.2", Val::F(1.0)),
|
|
("internal_timeline_child_durations_by_target_index.3", Val::F(1.0)), ("internal_timeline_child_durations_by_target_index.4", Val::F(1.0)),
|
|
],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "o0.x", v: &[
|
|
0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0,
|
|
50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
] },
|
|
Series { name: "o1.x", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 10.0, 15.0, 20.0, 25.0,
|
|
30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0,
|
|
80.0, 85.0, 90.0, 95.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
] },
|
|
Series { name: "o2.x", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0,
|
|
10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0,
|
|
60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
] },
|
|
Series { name: "o3.x", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0,
|
|
40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0,
|
|
90.0, 95.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
] },
|
|
Series { name: "o4.x", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 10.0, 15.0,
|
|
20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0,
|
|
70.0, 75.0, 80.0, 85.0, 90.0, 95.0, 100.0, 100.0,
|
|
] },
|
|
Series { name: "o0.y", v: &[
|
|
0.0, 2.5, 5.0, 7.5, 10.0, 12.5, 15.0, 17.5, 20.0, 22.5,
|
|
25.0, 27.5, 30.0, 32.5, 35.0, 37.5, 40.0, 42.5, 45.0, 47.5,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
] },
|
|
Series { name: "o1.y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 2.5, 5.0, 7.5, 10.0, 12.5,
|
|
15.0, 17.5, 20.0, 22.5, 25.0, 27.5, 30.0, 32.5, 35.0, 37.5,
|
|
40.0, 42.5, 45.0, 47.5, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
] },
|
|
Series { name: "o2.y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5,
|
|
5.0, 7.5, 10.0, 12.5, 15.0, 17.5, 20.0, 22.5, 25.0, 27.5,
|
|
30.0, 32.5, 35.0, 37.5, 40.0, 42.5, 45.0, 47.5, 50.0, 50.0,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
] },
|
|
Series { name: "o3.y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 2.5, 5.0, 7.5, 10.0, 12.5, 15.0, 17.5,
|
|
20.0, 22.5, 25.0, 27.5, 30.0, 32.5, 35.0, 37.5, 40.0, 42.5,
|
|
45.0, 47.5, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
] },
|
|
Series { name: "o4.y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5, 5.0, 7.5,
|
|
10.0, 12.5, 15.0, 17.5, 20.0, 22.5, 25.0, 27.5, 30.0, 32.5,
|
|
35.0, 37.5, 40.0, 42.5, 45.0, 47.5, 50.0, 50.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "stagger_5_each02_power2in", description: "same with ease power2.in: the ease applies to each sub-tween, not to the whole stagger",
|
|
gsap_calls: &["objs=5 x {x:0,y:0}", "tw=gsap.to(objs,{x:100,y:50,duration:1,stagger:0.2,ease:\"power2.in\",paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[
|
|
("duration", Val::F(1.8)), ("totalDuration", Val::F(1.8)), ("tween_has_getChildren", Val::B(false)),
|
|
("internal_timeline_child_startTimes_by_target_index.len", Val::F(5.0)), ("internal_timeline_child_startTimes_by_target_index.0", Val::F(0.0)),
|
|
("internal_timeline_child_startTimes_by_target_index.1", Val::F(0.2)), ("internal_timeline_child_startTimes_by_target_index.2", Val::F(0.4)),
|
|
("internal_timeline_child_startTimes_by_target_index.3", Val::F(0.6)), ("internal_timeline_child_startTimes_by_target_index.4", Val::F(0.8)),
|
|
("internal_timeline_child_durations_by_target_index.len", Val::F(5.0)), ("internal_timeline_child_durations_by_target_index.0", Val::F(1.0)),
|
|
("internal_timeline_child_durations_by_target_index.1", Val::F(1.0)), ("internal_timeline_child_durations_by_target_index.2", Val::F(1.0)),
|
|
("internal_timeline_child_durations_by_target_index.3", Val::F(1.0)), ("internal_timeline_child_durations_by_target_index.4", Val::F(1.0)),
|
|
],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "o0.x", v: &[
|
|
0.0, 0.0125, 0.1, 0.3375, 0.8, 1.5625, 2.7, 4.2875, 6.4, 9.1125,
|
|
12.5, 16.6375, 21.6, 27.4625, 34.3, 42.1875, 51.2, 61.4125, 72.9, 85.7375,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
] },
|
|
Series { name: "o1.x", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0125, 0.1, 0.3375, 0.8, 1.5625,
|
|
2.7, 4.2875, 6.4, 9.1125, 12.5, 16.6375, 21.6, 27.4625, 34.3, 42.1875,
|
|
51.2, 61.4125, 72.9, 85.7375, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
] },
|
|
Series { name: "o2.x", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0125,
|
|
0.1, 0.3375, 0.8, 1.5625, 2.7, 4.2875, 6.4, 9.1125, 12.5, 16.6375,
|
|
21.6, 27.4625, 34.3, 42.1875, 51.2, 61.4125, 72.9, 85.7375, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
] },
|
|
Series { name: "o3.x", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0125, 0.1, 0.3375, 0.8, 1.5625, 2.7, 4.2875,
|
|
6.4, 9.1125, 12.5, 16.6375, 21.6, 27.4625, 34.3, 42.1875, 51.2, 61.4125,
|
|
72.9, 85.7375, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
] },
|
|
Series { name: "o4.x", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0125, 0.1, 0.3375,
|
|
0.8, 1.5625, 2.7, 4.2875, 6.4, 9.1125, 12.5, 16.6375, 21.6, 27.4625,
|
|
34.3, 42.1875, 51.2, 61.4125, 72.9, 85.7375, 100.0, 100.0,
|
|
] },
|
|
Series { name: "o0.y", v: &[
|
|
0.0, 0.00625, 0.05, 0.16875, 0.4, 0.78125, 1.35, 2.14375, 3.2, 4.55625,
|
|
6.25, 8.31875, 10.8, 13.73125, 17.15, 21.09375, 25.6, 30.70625, 36.45, 42.86875,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
] },
|
|
Series { name: "o1.y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.00625, 0.05, 0.16875, 0.4, 0.78125,
|
|
1.35, 2.14375, 3.2, 4.55625, 6.25, 8.31875, 10.8, 13.73125, 17.15, 21.09375,
|
|
25.6, 30.70625, 36.45, 42.86875, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
] },
|
|
Series { name: "o2.y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00625,
|
|
0.05, 0.16875, 0.4, 0.78125, 1.35, 2.14375, 3.2, 4.55625, 6.25, 8.31875,
|
|
10.8, 13.73125, 17.15, 21.09375, 25.6, 30.70625, 36.45, 42.86875, 50.0, 50.0,
|
|
50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
] },
|
|
Series { name: "o3.y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.00625, 0.05, 0.16875, 0.4, 0.78125, 1.35, 2.14375,
|
|
3.2, 4.55625, 6.25, 8.31875, 10.8, 13.73125, 17.15, 21.09375, 25.6, 30.70625,
|
|
36.45, 42.86875, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0,
|
|
] },
|
|
Series { name: "o4.y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00625, 0.05, 0.16875,
|
|
0.4, 0.78125, 1.35, 2.14375, 3.2, 4.55625, 6.25, 8.31875, 10.8, 13.73125,
|
|
17.15, 21.09375, 25.6, 30.70625, 36.45, 42.86875, 50.0, 50.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "yoyoEase_power1_out_step_0_05", description: "yoyoEase:\"power1.out\"; ONE instance sampled in increasing t with step 0.05 (result is PATH DEPENDENT in 3.15: the reverse ease is re-anchored where the direction flips)",
|
|
gsap_calls: &["o={x:0,y:0}", "tw=gsap.to(o,{x:100,y:50,duration:1,repeat:1,yoyo:true,ease:\"none\",yoyoEase:\"power1.out\",paused:true})"], driver: "tw.totalTime(t), same instance, increasing t",
|
|
meta: &[("totalDuration", Val::F(2.0))],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0,
|
|
50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0,
|
|
100.0, 90.25, 81.0, 72.25, 64.0, 56.25, 49.0, 42.25, 36.0, 30.25,
|
|
25.0, 20.25, 16.0, 12.25, 9.0, 6.25, 4.0, 2.25, 1.0, 0.25,
|
|
0.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 2.5, 5.0, 7.5, 10.0, 12.5, 15.0, 17.5, 20.0, 22.5,
|
|
25.0, 27.5, 30.0, 32.5, 35.0, 37.5, 40.0, 42.5, 45.0, 47.5,
|
|
50.0, 45.125, 40.5, 36.125, 32.0, 28.125, 24.5, 21.125, 18.0, 15.125,
|
|
12.5, 10.125, 8.0, 6.125, 4.5, 3.125, 2.0, 1.125, 0.5, 0.125,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.65, 0.6, 0.55,
|
|
0.5, 0.44999999999999996, 0.4, 0.35, 0.30000000000000004, 0.25, 0.19999999999999996, 0.15000000000000002, 0.09999999999999998, 0.050000000000000044,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "yoyoEase_power1_out_step_0_03", description: "yoyoEase:\"power1.out\"; ONE instance sampled in increasing t with step 0.03 (result is PATH DEPENDENT in 3.15: the reverse ease is re-anchored where the direction flips)",
|
|
gsap_calls: &["o={x:0,y:0}", "tw=gsap.to(o,{x:100,y:50,duration:1,repeat:1,yoyo:true,ease:\"none\",yoyoEase:\"power1.out\",paused:true})"], driver: "tw.totalTime(t), same instance, increasing t",
|
|
meta: &[("totalDuration", Val::F(2.0))],
|
|
t: &[
|
|
0.0, 0.03, 0.06, 0.09, 0.12, 0.15, 0.18, 0.21, 0.24, 0.27,
|
|
0.3, 0.33, 0.36, 0.39, 0.42, 0.45, 0.48, 0.51, 0.54, 0.57,
|
|
0.6, 0.63, 0.66, 0.69, 0.72, 0.75, 0.78, 0.81, 0.84, 0.87,
|
|
0.9, 0.93, 0.96, 0.99, 1.02, 1.05, 1.08, 1.11, 1.14, 1.17,
|
|
1.2, 1.23, 1.26, 1.29, 1.32, 1.35, 1.38, 1.41, 1.44, 1.47,
|
|
1.5, 1.53, 1.56, 1.59, 1.62, 1.65, 1.68, 1.71, 1.74, 1.77,
|
|
1.8, 1.83, 1.86, 1.89, 1.92, 1.95, 1.98, 2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 3.0, 6.0, 9.0, 12.0, 15.0, 18.0, 21.0, 24.0, 27.0,
|
|
30.0, 33.0, 36.0, 39.0, 42.0, 45.0, 48.0, 51.0, 54.0, 57.0,
|
|
60.0, 63.0, 66.0, 69.0, 72.0, 75.0, 78.0, 81.0, 84.0, 87.0,
|
|
90.0, 93.0, 96.0, 99.0, 97.010101, 91.161616, 85.494949, 80.010101, 74.707071, 69.585859,
|
|
64.646465, 59.888889, 55.313131, 50.919192, 46.707071, 42.676768, 38.828283, 35.161616, 31.676768, 28.373737,
|
|
25.252525, 22.313131, 19.555556, 16.979798, 14.585859, 12.373737, 10.343434, 8.494949, 6.828283, 5.343434,
|
|
4.040404, 2.919192, 1.979798, 1.222222, 0.646465, 0.252525, 0.040404, 0.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 1.5, 3.0, 4.5, 6.0, 7.5, 9.0, 10.5, 12.0, 13.5,
|
|
15.0, 16.5, 18.0, 19.5, 21.0, 22.5, 24.0, 25.5, 27.0, 28.5,
|
|
30.0, 31.5, 33.0, 34.5, 36.0, 37.5, 39.0, 40.5, 42.0, 43.5,
|
|
45.0, 46.5, 48.0, 49.5, 48.505051, 45.580808, 42.747475, 40.005051, 37.353535, 34.792929,
|
|
32.323232, 29.944444, 27.656566, 25.459596, 23.353535, 21.338384, 19.414141, 17.580808, 15.838384, 14.186869,
|
|
12.626263, 11.156566, 9.777778, 8.489899, 7.292929, 6.186869, 5.171717, 4.247475, 3.414141, 2.671717,
|
|
2.020202, 1.459596, 0.989899, 0.611111, 0.323232, 0.126263, 0.020202, 0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.03, 0.06, 0.09, 0.12, 0.15, 0.18, 0.21, 0.24, 0.27,
|
|
0.3, 0.33, 0.36, 0.39, 0.42, 0.45, 0.48, 0.51, 0.54, 0.57,
|
|
0.6, 0.63, 0.66, 0.69, 0.72, 0.75, 0.78, 0.81, 0.84, 0.87,
|
|
0.9, 0.93, 0.96, 0.99, 0.98, 0.95, 0.92, 0.89, 0.86, 0.83,
|
|
0.8, 0.77, 0.74, 0.71, 0.6799999999999999, 0.65, 0.62, 0.5900000000000001, 0.56, 0.53,
|
|
0.5, 0.47, 0.43999999999999995, 0.41000000000000003, 0.38, 0.35, 0.31999999999999995, 0.29000000000000004, 0.26, 0.22999999999999998,
|
|
0.19999999999999996, 0.17000000000000004, 0.14, 0.10999999999999999, 0.07999999999999996, 0.050000000000000044, 0.020000000000000018, 0.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "yoyoEase_power1_out_fresh_instance", description: "yoyoEase:\"power1.out\", but a FRESH tween per sample (single jump from 0 to t): the reverse ease never engages",
|
|
gsap_calls: &["o={x:0,y:0}", "tw=gsap.to(o,{x:100,y:50,duration:1,repeat:1,yoyo:true,ease:\"none\",yoyoEase:\"power1.out\",paused:true})"], driver: "fresh tw per t; tw.totalTime(t)",
|
|
meta: &[],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0,
|
|
50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0,
|
|
100.0, 95.0, 90.0, 85.0, 80.0, 75.0, 70.0, 65.0, 60.0, 55.0,
|
|
50.0, 45.0, 40.0, 35.0, 30.0, 25.0, 20.0, 15.0, 10.0, 5.0,
|
|
0.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 2.5, 5.0, 7.5, 10.0, 12.5, 15.0, 17.5, 20.0, 22.5,
|
|
25.0, 27.5, 30.0, 32.5, 35.0, 37.5, 40.0, 42.5, 45.0, 47.5,
|
|
50.0, 47.5, 45.0, 42.5, 40.0, 37.5, 35.0, 32.5, 30.0, 27.5,
|
|
25.0, 22.5, 20.0, 17.5, 15.0, 12.5, 10.0, 7.5, 5.0, 2.5,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.65, 0.6, 0.55,
|
|
0.5, 0.44999999999999996, 0.4, 0.35, 0.30000000000000004, 0.25, 0.19999999999999996, 0.15000000000000002, 0.09999999999999998, 0.050000000000000044,
|
|
0.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "yoyoEase_true", description: "yoyoEase:true (reverse ease = the forward ease, applied re-anchored) step 0.05",
|
|
gsap_calls: &["tw=gsap.to(o,{x:100,y:50,duration:1,repeat:1,yoyo:true,ease:\"power1.in\",yoyoEase:true,paused:true})"], driver: "tw.totalTime(t), increasing",
|
|
meta: &[],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 0.25, 1.0, 2.25, 4.0, 6.25, 9.0, 12.25, 16.0, 20.25,
|
|
25.0, 30.25, 36.0, 42.25, 49.0, 56.25, 64.0, 72.25, 81.0, 90.25,
|
|
100.0, 99.75, 99.0, 97.75, 96.0, 93.75, 91.0, 87.75, 84.0, 79.75,
|
|
75.0, 69.75, 64.0, 57.75, 51.0, 43.75, 36.0, 27.75, 19.0, 9.75,
|
|
0.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.125, 0.5, 1.125, 2.0, 3.125, 4.5, 6.125, 8.0, 10.125,
|
|
12.5, 15.125, 18.0, 21.125, 24.5, 28.125, 32.0, 36.125, 40.5, 45.125,
|
|
50.0, 49.875, 49.5, 48.875, 48.0, 46.875, 45.5, 43.875, 42.0, 39.875,
|
|
37.5, 34.875, 32.0, 28.875, 25.5, 21.875, 18.0, 13.875, 9.5, 4.875,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.65, 0.6, 0.55,
|
|
0.5, 0.44999999999999996, 0.4, 0.35, 0.30000000000000004, 0.25, 0.19999999999999996, 0.15000000000000002, 0.09999999999999998, 0.050000000000000044,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "yoyo_plain_power1_in", description: "reference: same yoyo tween without yoyoEase, step 0.05",
|
|
gsap_calls: &["tw=gsap.to(o,{x:100,y:50,duration:1,repeat:1,yoyo:true,ease:\"power1.in\",paused:true})"], driver: "tw.totalTime(t), increasing",
|
|
meta: &[],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 0.25, 1.0, 2.25, 4.0, 6.25, 9.0, 12.25, 16.0, 20.25,
|
|
25.0, 30.25, 36.0, 42.25, 49.0, 56.25, 64.0, 72.25, 81.0, 90.25,
|
|
100.0, 90.25, 81.0, 72.25, 64.0, 56.25, 49.0, 42.25, 36.0, 30.25,
|
|
25.0, 20.25, 16.0, 12.25, 9.0, 6.25, 4.0, 2.25, 1.0, 0.25,
|
|
0.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.125, 0.5, 1.125, 2.0, 3.125, 4.5, 6.125, 8.0, 10.125,
|
|
12.5, 15.125, 18.0, 21.125, 24.5, 28.125, 32.0, 36.125, 40.5, 45.125,
|
|
50.0, 45.125, 40.5, 36.125, 32.0, 28.125, 24.5, 21.125, 18.0, 15.125,
|
|
12.5, 10.125, 8.0, 6.125, 4.5, 3.125, 2.0, 1.125, 0.5, 0.125,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.65, 0.6, 0.55,
|
|
0.5, 0.44999999999999996, 0.4, 0.35, 0.30000000000000004, 0.25, 0.19999999999999996, 0.15000000000000002, 0.09999999999999998, 0.050000000000000044,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "easeReverse_scrub_back", description: "easeReverse:\"power1.out\" (3.15 option; yoyoEase is an alias) on a non-repeating linear tween: forward 0..0.6, BACK 0.5..0, forward again 0.1..1 (t column is the visiting order, not sorted)",
|
|
gsap_calls: &["tw=gsap.to(o,{x:100,y:50,duration:1,ease:\"none\",easeReverse:\"power1.out\",paused:true})"], driver: "tw.totalTime(t) in the listed order",
|
|
meta: &[],
|
|
t: &[
|
|
0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.5, 0.4, 0.3,
|
|
0.2, 0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7,
|
|
0.8, 0.9, 1.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 41.666667, 26.666667, 15.0,
|
|
6.666667, 1.666667, 0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0,
|
|
80.0, 90.0, 100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 20.833333, 13.333333, 7.5,
|
|
3.333333, 0.833333, 0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0,
|
|
40.0, 45.0, 50.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.5, 0.4, 0.3,
|
|
0.2, 0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7,
|
|
0.8, 0.9, 1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "timeline_defaults_ease", description: "timeline defaults {ease:\"power2.inOut\",duration:1}; child 2 overrides ease:\"none\"",
|
|
gsap_calls: &["tl=gsap.timeline({paused:true,defaults:{ease:\"power2.inOut\",duration:1}})", "tl.to(o,{x:100}).to(o,{y:100,ease:\"none\"})"], driver: "tl.seek(t)",
|
|
meta: &[("timeline_duration", Val::F(2.0))],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 0.05, 0.4, 1.35, 3.2, 6.25, 10.8, 17.15, 25.6, 36.45,
|
|
50.0, 63.55, 74.4, 82.85, 89.2, 93.75, 96.8, 98.65, 99.6, 99.95,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0,
|
|
50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0,
|
|
100.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "timeline_eased_by_tweenFromTo", description: "a linear child; the TIMELINE is eased by tl.tweenFromTo(0,2,{ease:\"power2.inOut\"})",
|
|
gsap_calls: &["tl=gsap.timeline({paused:true}); tl.to(o,{x:100,y:50,duration:2,ease:\"none\"})", "tw=tl.tweenFromTo(0,2,{ease:\"power2.inOut\",paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[("tween_duration", Val::F(2.0))],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 0.00625, 0.05, 0.16875, 0.4, 0.78125, 1.35, 2.14375, 3.2, 4.55625,
|
|
6.25, 8.31875, 10.8, 13.73125, 17.15, 21.09375, 25.6, 30.70625, 36.45, 42.86875,
|
|
50.0, 57.13125, 63.55, 69.29375, 74.4, 78.90625, 82.85, 86.26875, 89.2, 91.68125,
|
|
93.75, 95.44375, 96.8, 97.85625, 98.65, 99.21875, 99.6, 99.83125, 99.95, 99.99375,
|
|
100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.003125, 0.025, 0.084375, 0.2, 0.390625, 0.675, 1.071875, 1.6, 2.278125,
|
|
3.125, 4.159375, 5.4, 6.865625, 8.575, 10.546875, 12.8, 15.353125, 18.225, 21.434375,
|
|
25.0, 28.565625, 31.775, 34.646875, 37.2, 39.453125, 41.425, 43.134375, 44.6, 45.840625,
|
|
46.875, 47.721875, 48.4, 48.928125, 49.325, 49.609375, 49.8, 49.915625, 49.975, 49.996875,
|
|
50.0,
|
|
] },
|
|
Series { name: "tl.time", v: &[
|
|
0.0, 0.000125, 0.001, 0.003375, 0.008, 0.015625, 0.027, 0.042875, 0.064, 0.091125,
|
|
0.125, 0.166375, 0.216, 0.274625, 0.343, 0.421875, 0.512, 0.614125, 0.729, 0.857375,
|
|
1.0, 1.142625, 1.271, 1.385875, 1.488, 1.578125, 1.657, 1.725375, 1.784, 1.833625,
|
|
1.875, 1.908875, 1.936, 1.957125, 1.973, 1.984375, 1.992, 1.996625, 1.999, 1.999875,
|
|
2.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "timeline_progress_tweened", description: "child ease power1.in, and the timeline progress tweened 0->1 with power2.out (eases compose: x = 100*power1.in(power2.out(t)))",
|
|
gsap_calls: &["tl=gsap.timeline({paused:true}); tl.to(o,{x:100,y:50,duration:2,ease:\"power1.in\"})", "tw=gsap.to(tl,{progress:1,duration:1,ease:\"power2.out\",paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 2.034189, 7.3441, 14.889952, 23.8144, 33.422852, 43.1649, 52.616889, 61.4656, 69.493064,
|
|
76.5625, 82.605377, 87.6096, 91.608827, 94.6729, 96.899414, 98.4064, 99.326139, 99.8001, 99.975002,
|
|
100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 1.017095, 3.67205, 7.444976, 11.9072, 16.711426, 21.58245, 26.308445, 30.7328, 34.746532,
|
|
38.28125, 41.302688, 43.8048, 45.804413, 47.33645, 48.449707, 49.2032, 49.66307, 49.90005, 49.987501,
|
|
50.0,
|
|
] },
|
|
Series { name: "tl.progress", v: &[
|
|
0.0, 0.142625, 0.271, 0.385875, 0.488, 0.578125, 0.657, 0.725375, 0.784, 0.833625,
|
|
0.875, 0.908875, 0.936, 0.957125, 0.973, 0.984375, 0.992, 0.996625, 0.999, 0.999875,
|
|
1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "default_ease_power1_out", description: "no ease given -> default ease (power1.out)",
|
|
gsap_calls: &["tw=gsap.to(o,{x:100,y:50,duration:1,paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 9.75, 19.0, 27.75, 36.0, 43.75, 51.0, 57.75, 64.0, 69.75,
|
|
75.0, 79.75, 84.0, 87.75, 91.0, 93.75, 96.0, 97.75, 99.0, 99.75,
|
|
100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 4.875, 9.5, 13.875, 18.0, 21.875, 25.5, 28.875, 32.0, 34.875,
|
|
37.5, 39.875, 42.0, 43.875, 45.5, 46.875, 48.0, 48.875, 49.5, 49.875,
|
|
50.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "default_duration", description: "no duration given -> default duration 0.5 s (and default ease power1.out)",
|
|
gsap_calls: &["tw=gsap.to(o,{x:100,y:50,paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[("duration", Val::F(0.5))],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 19.0, 36.0, 51.0, 64.0, 75.0, 84.0, 91.0, 96.0, 99.0,
|
|
100.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 9.5, 18.0, 25.5, 32.0, 37.5, 42.0, 45.5, 48.0, 49.5,
|
|
50.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "rounding_probes", description: "evidence for GSAP time snapping/rounding",
|
|
gsap_calls: &[], driver: "",
|
|
meta: &[
|
|
("probes.len", Val::F(10.0)), ("probes.0.probe", Val::S("plain_tween")),
|
|
("probes.0.call", Val::S("gsap.to(o,{x:100,duration:1,ease:\"none\",paused:true}).totalTime(0.123456789)")), ("probes.0.t_in", Val::F(0.123456789)),
|
|
("probes.0.x", Val::F(12.345679)), ("probes.0.time", Val::F(0.123456789)), ("probes.0.totalTime", Val::F(0.123456789)),
|
|
("probes.1.probe", Val::S("plain_tween")), ("probes.1.call", Val::S("gsap.to(o,{x:100,duration:1,ease:\"none\",paused:true}).totalTime(0.999999995)")),
|
|
("probes.1.t_in", Val::F(0.999999995)), ("probes.1.x", Val::F(100.0)), ("probes.1.time", Val::F(1.0)), ("probes.1.totalTime", Val::F(1.0)),
|
|
("probes.2.probe", Val::S("plain_tween")), ("probes.2.call", Val::S("gsap.to(o,{x:100,duration:1,ease:\"none\",paused:true}).totalTime(0.99999998)")),
|
|
("probes.2.t_in", Val::F(0.99999998)), ("probes.2.x", Val::F(99.999998)), ("probes.2.time", Val::F(0.99999998)),
|
|
("probes.2.totalTime", Val::F(0.99999998)), ("probes.3.probe", Val::S("plain_tween")),
|
|
("probes.3.call", Val::S("gsap.to(o,{x:100,duration:1,ease:\"none\",paused:true}).totalTime(5e-9)")), ("probes.3.t_in", Val::F(5e-9)),
|
|
("probes.3.x", Val::F(0.0)), ("probes.3.time", Val::F(0.0)), ("probes.3.totalTime", Val::F(0.0)), ("probes.4.probe", Val::S("plain_tween")),
|
|
("probes.4.call", Val::S("gsap.to(o,{x:100,duration:1,ease:\"none\",paused:true}).totalTime(2e-8)")), ("probes.4.t_in", Val::F(2e-8)),
|
|
("probes.4.x", Val::F(0.000002)), ("probes.4.time", Val::F(2e-8)), ("probes.4.totalTime", Val::F(2e-8)), ("probes.5.probe", Val::S("repeating_tween")),
|
|
("probes.5.call", Val::S("gsap.to(o,{x:100,duration:1,ease:\"none\",repeat:1,paused:true}).totalTime(0.123456789)")),
|
|
("probes.5.t_in", Val::F(0.123456789)), ("probes.5.x", Val::F(12.34568)), ("probes.5.time", Val::F(0.1234568)),
|
|
("probes.5.totalTime", Val::F(0.123456789)), ("probes.6.probe", Val::S("repeating_tween")),
|
|
("probes.6.call", Val::S("gsap.to(o,{x:100,duration:1,ease:\"none\",repeat:1,paused:true}).totalTime(1.123456789)")),
|
|
("probes.6.t_in", Val::F(1.123456789)), ("probes.6.x", Val::F(12.34568)), ("probes.6.time", Val::F(0.1234568)),
|
|
("probes.6.totalTime", Val::F(1.123456789)), ("probes.7.probe", Val::S("tween_in_timeline")),
|
|
("probes.7.call", Val::S("tl=gsap.timeline({paused:true}); tl.to(o,{x:100,duration:1,ease:\"none\"}); tl.totalTime(0.123456789)")),
|
|
("probes.7.t_in", Val::F(0.123456789)), ("probes.7.x", Val::F(12.34568)), ("probes.7.time", Val::F(0.1234568)),
|
|
("probes.7.totalTime", Val::F(0.1234568)), ("probes.8.probe", Val::S("tween_in_timeline")),
|
|
("probes.8.call", Val::S("tl=gsap.timeline({paused:true}); tl.to(o,{x:100,duration:1,ease:\"none\"}); tl.totalTime(0.99999995)")),
|
|
("probes.8.t_in", Val::F(0.99999995)), ("probes.8.x", Val::F(100.0)), ("probes.8.time", Val::F(1.0)), ("probes.8.totalTime", Val::F(1.0)),
|
|
("probes.9.probe", Val::S("tween_in_timeline")),
|
|
("probes.9.call", Val::S("tl=gsap.timeline({paused:true}); tl.to(o,{x:100,duration:1,ease:\"none\"}); tl.totalTime(0.9999996)")),
|
|
("probes.9.t_in", Val::F(0.9999996)), ("probes.9.x", Val::F(99.99996)), ("probes.9.time", Val::F(0.9999996)), ("probes.9.totalTime", Val::F(0.9999996)),
|
|
],
|
|
t: &[],
|
|
series: &[] },
|
|
SampleCase { id: "design_t4_yoyo_repeat_delay_table", description: "design 12.3 T4: linear 0->100, d1, repeat 2, yoyo, repeatDelay .5 (tdur 4)",
|
|
gsap_calls: &["o={x:0}", "tw=gsap.to(o,{x:100,duration:1,repeat:2,yoyo:true,repeatDelay:0.5,ease:\"none\",paused:true})"], driver: "tw.totalTime(t) (increasing t)",
|
|
meta: &[("totalDuration", Val::F(4.0))],
|
|
t: &[0.25, 1.0, 1.25, 1.5, 1.75, 2.5, 2.75, 3.0, 3.25, 4.0],
|
|
series: &[
|
|
Series { name: "x", v: &[25.0, 100.0, 100.0, 100.0, 75.0, 0.0, 0.0, 0.0, 25.0, 100.0] },
|
|
Series { name: "y", v: &[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] },
|
|
Series { name: "anim.time", v: &[0.25, 1.0, 1.0, 1.0, 0.75, 0.0, 0.0, 0.0, 0.25, 1.0] },
|
|
Series { name: "anim.iteration", v: &[1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0, 3.0, 3.0] },
|
|
Series { name: "anim.progress", v: &[0.25, 1.0, 1.0, 1.0, 0.75, 0.0, 0.0, 0.0, 0.25, 1.0] },
|
|
Series { name: "anim.totalProgress", v: &[0.0625, 0.25, 0.3125, 0.375, 0.4375, 0.625, 0.6875, 0.75, 0.8125, 1.0] },
|
|
Series { name: "anim.totalTime", v: &[0.25, 1.0, 1.25, 1.5, 1.75, 2.5, 2.75, 3.0, 3.25, 4.0] },
|
|
] },
|
|
SampleCase { id: "design_t4b_exact_cycle_boundary", description: "design 12.3 T4b: repeat 2, no yoyo, repeatDelay 0: an exact boundary belongs to the iteration that ends there",
|
|
gsap_calls: &["tw=gsap.to(o,{x:100,duration:1,repeat:2,ease:\"none\",paused:true})"], driver: "tw.totalTime(t) (increasing t)",
|
|
meta: &[],
|
|
t: &[0.5, 1.0, 1.5, 2.0, 2.5, 3.0],
|
|
series: &[
|
|
Series { name: "x", v: &[50.0, 100.0, 50.0, 100.0, 50.0, 100.0] },
|
|
Series { name: "y", v: &[0.0, 0.0, 0.0, 0.0, 0.0, 0.0] },
|
|
Series { name: "anim.time", v: &[0.5, 1.0, 0.5, 1.0, 0.5, 1.0] },
|
|
Series { name: "anim.iteration", v: &[1.0, 1.0, 2.0, 2.0, 3.0, 3.0] },
|
|
Series { name: "anim.progress", v: &[0.5, 1.0, 0.5, 1.0, 0.5, 1.0] },
|
|
Series { name: "anim.totalProgress", v: &[0.16666666666666666, 0.3333333333333333, 0.5, 0.6666666666666666, 0.8333333333333334, 1.0] },
|
|
Series { name: "anim.totalTime", v: &[0.5, 1.0, 1.5, 2.0, 2.5, 3.0] },
|
|
] },
|
|
SampleCase { id: "design_yoyo_ease_true_power1_out_step_0_05", description: "design 12.3 yoyo_ease Invert: power1.out (OutQuad), repeat 1, yoyo, yoyoEase:true, one instance stepped by 0.05 (the flip lands exactly on 1, so GSAP 3.15 re-anchors at (1, 1) and equals the pure rule 1 - ease(1 - p))",
|
|
gsap_calls: &["tw=gsap.to(o,{x:100,duration:1,repeat:1,yoyo:true,ease:\"power1.out\",yoyoEase:true,paused:true})"], driver: "tw.totalTime(t), same instance, increasing t",
|
|
meta: &[],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 9.75, 19.0, 27.75, 36.0, 43.75, 51.0, 57.75, 64.0, 69.75,
|
|
75.0, 79.75, 84.0, 87.75, 91.0, 93.75, 96.0, 97.75, 99.0, 99.75,
|
|
100.0, 90.25, 81.0, 72.25, 64.0, 56.25, 49.0, 42.25, 36.0, 30.25,
|
|
25.0, 20.25, 16.0, 12.25, 9.0, 6.25, 4.0, 2.25, 1.0, 0.25,
|
|
0.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.65, 0.6, 0.55,
|
|
0.5, 0.44999999999999996, 0.4, 0.35, 0.30000000000000004, 0.25, 0.19999999999999996, 0.15000000000000002, 0.09999999999999998, 0.050000000000000044,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "design_yoyo_plain_power1_out", description: "reference: the same tween without yoyoEase",
|
|
gsap_calls: &["tw=gsap.to(o,{x:100,duration:1,repeat:1,yoyo:true,ease:\"power1.out\",paused:true})"], driver: "tw.totalTime(t), increasing t",
|
|
meta: &[],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 9.75, 19.0, 27.75, 36.0, 43.75, 51.0, 57.75, 64.0, 69.75,
|
|
75.0, 79.75, 84.0, 87.75, 91.0, 93.75, 96.0, 97.75, 99.0, 99.75,
|
|
100.0, 99.75, 99.0, 97.75, 96.0, 93.75, 91.0, 87.75, 84.0, 79.75,
|
|
75.0, 69.75, 64.0, 57.75, 51.0, 43.75, 36.0, 27.75, 19.0, 9.75,
|
|
0.0,
|
|
] },
|
|
Series { name: "y", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.65, 0.6, 0.55,
|
|
0.5, 0.44999999999999996, 0.4, 0.35, 0.30000000000000004, 0.25, 0.19999999999999996, 0.15000000000000002, 0.09999999999999998, 0.050000000000000044,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.iteration", v: &[
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
|
|
1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0,
|
|
2.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "design_yoyo_ease_true_power1_out_fresh", description: "yoyoEase:true, a FRESH tween per sample (one jump 0 -> t): 3.15 never sees a direction change and renders the forward ease (path dependence; the design deviates)",
|
|
gsap_calls: &["fresh tw per t: gsap.to(o,{x:100,duration:1,repeat:1,yoyo:true,ease:\"power1.out\",yoyoEase:true,paused:true}).totalTime(t)"], driver: "fresh tw per t",
|
|
meta: &[],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "x", v: &[
|
|
0.0, 9.75, 19.0, 27.75, 36.0, 43.75, 51.0, 57.75, 64.0, 69.75,
|
|
75.0, 79.75, 84.0, 87.75, 91.0, 93.75, 96.0, 97.75, 99.0, 99.75,
|
|
100.0, 99.75, 99.0, 97.75, 96.0, 93.75, 91.0, 87.75, 84.0, 79.75,
|
|
75.0, 69.75, 64.0, 57.75, 51.0, 43.75, 36.0, 27.75, 19.0, 9.75,
|
|
0.0,
|
|
] },
|
|
Series { name: "anim.time", v: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.65, 0.6, 0.55,
|
|
0.5, 0.44999999999999996, 0.4, 0.35, 0.30000000000000004, 0.25, 0.19999999999999996, 0.15000000000000002, 0.09999999999999998, 0.050000000000000044,
|
|
0.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "design_yoyo_ease_implies_yoyo", description: "yoyoEase without yoyo still yoyos (_yoyo = !!yoyo || !!yoyoEase)",
|
|
gsap_calls: &["tw=gsap.to(o,{x:100,duration:1,repeat:1,ease:\"none\",yoyoEase:true,paused:true})"], driver: "tw.totalTime(t), increasing t",
|
|
meta: &[("yoyo_getter", Val::B(true))],
|
|
t: &[0.5, 1.0, 1.25, 1.5, 2.0],
|
|
series: &[
|
|
Series { name: "x", v: &[50.0, 100.0, 75.0, 50.0, 0.0] },
|
|
Series { name: "y", v: &[0.0, 0.0, 0.0, 0.0, 0.0] },
|
|
Series { name: "anim.time", v: &[0.5, 1.0, 0.75, 0.5, 0.0] },
|
|
Series { name: "anim.iteration", v: &[1.0, 1.0, 2.0, 2.0, 2.0] },
|
|
] },
|
|
SampleCase { id: "design_repeat_refresh_relative_step", description: "repeatRefresh with x:\"+=100\": GSAP renders the boundary of the ended iteration (suppressed) and THEN invalidates, so each iteration starts from the exact previous end",
|
|
gsap_calls: &["tw=gsap.to(o,{x:\"+=100\",duration:1,repeat:2,repeatRefresh:true,ease:\"none\",paused:true})"], driver: "tw.totalTime(t) in the listed order",
|
|
meta: &[],
|
|
t: &[0.5, 1.5, 2.5, 3.0],
|
|
series: &[
|
|
Series { name: "x", v: &[50.0, 150.0, 250.0, 300.0] },
|
|
Series { name: "y", v: &[0.0, 0.0, 0.0, 0.0] },
|
|
Series { name: "anim.time", v: &[0.5, 0.5, 0.5, 1.0] },
|
|
Series { name: "anim.iteration", v: &[1.0, 2.0, 3.0, 3.0] },
|
|
] },
|
|
SampleCase { id: "design_repeat_refresh_relative_jump", description: "same, but jumping 0.5 -> 2.5: the boundary render lands the end of iteration 2 with iteration 2 values never refreshed (x 100), so iteration 3 runs 100 -> 200",
|
|
gsap_calls: &["tw=gsap.to(o,{x:\"+=100\",duration:1,repeat:2,repeatRefresh:true,ease:\"none\",paused:true})"], driver: "tw.totalTime(t) in the listed order",
|
|
meta: &[],
|
|
t: &[0.5, 2.5, 3.0],
|
|
series: &[
|
|
Series { name: "x", v: &[50.0, 150.0, 200.0] },
|
|
Series { name: "y", v: &[0.0, 0.0, 0.0] },
|
|
Series { name: "anim.time", v: &[0.5, 0.5, 1.0] },
|
|
Series { name: "anim.iteration", v: &[1.0, 3.0, 3.0] },
|
|
] },
|
|
SampleCase { id: "design_kf_percent_0_50_fresh", description: "percent keyframes {0%:0, 50%:100}, duration 1 (keys end before 100% -> GSAP pads with a filler tween). FIRST render uses a stale inner duration (0.5 instead of 1): GSAP cache bug",
|
|
gsap_calls: &["tw=gsap.to(o,{keyframes:{\"0%\":{x:0},\"50%\":{x:100}},duration:1,paused:true})"], driver: "tw.totalTime(t) in the listed order (first sample is the first render)",
|
|
meta: &[("duration", Val::F(1.0))],
|
|
t: &[0.125, 0.25, 0.75],
|
|
series: &[
|
|
Series { name: "x", v: &[3.125, 50.0, 100.0] },
|
|
Series { name: "y", v: &[0.0, 0.0, 0.0] },
|
|
Series { name: "anim.time", v: &[0.125, 0.25, 0.75] },
|
|
Series { name: "anim.iteration", v: &[1.0, 1.0, 1.0] },
|
|
] },
|
|
SampleCase { id: "design_kf_percent_0_50_warm", description: "same keyframes after one warm-up render (totalTime(1) then 0): the inner duration is 1 and the design values hold",
|
|
gsap_calls: &["tw=gsap.to(o,{keyframes:{\"0%\":{x:0},\"50%\":{x:100}},duration:1,paused:true})", "tw.totalTime(1); tw.totalTime(0)"], driver: "tw.totalTime(t) in the listed order",
|
|
meta: &[("duration", Val::F(1.0))],
|
|
t: &[0.125, 0.25, 0.75],
|
|
series: &[
|
|
Series { name: "x", v: &[12.5, 50.0, 100.0] },
|
|
Series { name: "y", v: &[0.0, 0.0, 0.0] },
|
|
Series { name: "anim.time", v: &[0.125, 0.25, 0.75] },
|
|
Series { name: "anim.iteration", v: &[1.0, 1.0, 1.0] },
|
|
] },
|
|
SampleCase { id: "design_kf_values_0_100_50", description: "value keyframes {x:[0,100,50]}, duration 1 (keys at 0/50/100%, easeEach power1.inOut)",
|
|
gsap_calls: &["tw=gsap.to(o,{keyframes:{x:[0,100,50]},duration:1,paused:true})"], driver: "tw.totalTime(t), increasing t",
|
|
meta: &[("duration", Val::F(1.0))],
|
|
t: &[0.25, 0.5, 0.75, 1.0],
|
|
series: &[
|
|
Series { name: "x", v: &[50.0, 100.0, 75.0, 50.0] },
|
|
Series { name: "y", v: &[0.0, 0.0, 0.0, 0.0] },
|
|
Series { name: "anim.time", v: &[0.25, 0.5, 0.75, 1.0] },
|
|
Series { name: "anim.iteration", v: &[1.0, 1.0, 1.0, 1.0] },
|
|
] },
|
|
SampleCase { id: "design_kf_steps_x_then_y", description: "array keyframes [{x:100,duration:1},{y:50,duration:0.5}] (default ease \"none\" per step)",
|
|
gsap_calls: &["tw=gsap.to(o,{keyframes:[{x:100,duration:1},{y:50,duration:0.5}],paused:true})"], driver: "tw.totalTime(t), increasing t",
|
|
meta: &[("duration", Val::F(1.5))],
|
|
t: &[0.5, 1.0, 1.25, 1.5],
|
|
series: &[
|
|
Series { name: "x", v: &[50.0, 100.0, 100.0, 100.0] },
|
|
Series { name: "y", v: &[0.0, 0.0, 25.0, 50.0] },
|
|
Series { name: "anim.time", v: &[0.5, 1.0, 1.25, 1.5] },
|
|
Series { name: "anim.iteration", v: &[1.0, 1.0, 1.0, 1.0] },
|
|
] },
|
|
SampleCase { id: "design_kf_array_default_durations", description: "array keyframes without durations: each step takes the default duration 0.5 (and ease \"none\")",
|
|
gsap_calls: &["tw=gsap.to(o,{keyframes:[{x:100},{x:0}],paused:true})"], driver: "tw.totalTime(t), increasing t",
|
|
meta: &[("duration", Val::F(1.0))],
|
|
t: &[0.25, 0.5, 0.75, 1.0],
|
|
series: &[
|
|
Series { name: "x", v: &[50.0, 100.0, 50.0, 0.0] },
|
|
Series { name: "y", v: &[0.0, 0.0, 0.0, 0.0] },
|
|
Series { name: "anim.time", v: &[0.25, 0.5, 0.75, 1.0] },
|
|
Series { name: "anim.iteration", v: &[1.0, 1.0, 1.0, 1.0] },
|
|
] },
|
|
SampleCase { id: "design_kf_ordinary_prop", description: "a plain prop (y:50) next to percent keyframes: it is tweened by the TWEEN itself with the tween's ease (none, since a keyframe tween defaults its own ease to \"none\"), not as a keyframe track",
|
|
gsap_calls: &["tw=gsap.to(o,{keyframes:{\"50%\":{x:100},\"100%\":{x:100}},y:50,duration:1,paused:true})"], driver: "tw.totalTime(t), increasing t",
|
|
meta: &[],
|
|
t: &[0.25, 0.5, 0.75, 1.0],
|
|
series: &[
|
|
Series { name: "x", v: &[50.0, 100.0, 100.0, 100.0] },
|
|
Series { name: "y", v: &[12.5, 25.0, 37.5, 50.0] },
|
|
Series { name: "anim.time", v: &[0.25, 0.5, 0.75, 1.0] },
|
|
Series { name: "anim.iteration", v: &[1.0, 1.0, 1.0, 1.0] },
|
|
] },
|
|
SampleCase { id: "design_kf_ordinary_prop_outer_ease", description: "a plain prop (y:50) next to percent keyframes: it is tweened by the TWEEN itself with the tween's ease (power2.in, since a keyframe tween defaults its own ease to \"none\"), not as a keyframe track",
|
|
gsap_calls: &["tw=gsap.to(o,{keyframes:{\"50%\":{x:100},\"100%\":{x:100}},y:50,duration:1,ease:\"power2.in\",paused:true})"], driver: "tw.totalTime(t), increasing t",
|
|
meta: &[],
|
|
t: &[0.25, 0.5, 0.75, 1.0],
|
|
series: &[
|
|
Series { name: "x", v: &[0.195313, 12.5, 95.117188, 100.0] },
|
|
Series { name: "y", v: &[0.78125, 6.25, 21.09375, 50.0] },
|
|
Series { name: "anim.time", v: &[0.25, 0.5, 0.75, 1.0] },
|
|
Series { name: "anim.iteration", v: &[1.0, 1.0, 1.0, 1.0] },
|
|
] },
|
|
SampleCase { id: "design_t5_backward_scrub", description: "design 12.5 T5: two chained to() on one prop; seek(2) then seek(0.5) restores the earlier sibling",
|
|
gsap_calls: &["tl.to(o,{a:100,duration:1,ease:\"none\"}).to(o,{a:200,duration:1,ease:\"none\"})"], driver: "tl.seek(t) in the listed order",
|
|
meta: &[],
|
|
t: &[2.0, 0.5],
|
|
series: &[
|
|
Series { name: "a", v: &[200.0, 50.0] },
|
|
Series { name: "tl.time", v: &[2.0, 0.5] },
|
|
] },
|
|
SampleCase { id: "design_t6_forward_seek_chained", description: "design 12.5 T6: fresh timeline, one forward seek(1.5): the second tween captures 100 (the first was rendered before it in the walk)",
|
|
gsap_calls: &["same build as design_t5_backward_scrub"], driver: "tl.seek(t)",
|
|
meta: &[],
|
|
t: &[1.5],
|
|
series: &[
|
|
Series { name: "a", v: &[150.0] },
|
|
] },
|
|
SampleCase { id: "design_t7_no_early_capture", description: "design 12.5 T7: stepped by 0.1 (tl.totalTime(k*0.1)): the second tween captures only when it starts, so a(1.5) = 150",
|
|
gsap_calls: &["same build as design_t5_backward_scrub"], driver: "tl.totalTime(t), increasing t",
|
|
meta: &[],
|
|
t: &[
|
|
0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0,
|
|
1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0,
|
|
],
|
|
series: &[
|
|
Series { name: "a", v: &[
|
|
10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0,
|
|
110.0, 120.0, 130.0, 140.0, 150.0, 160.0, 170.0, 180.0, 190.0, 200.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "design_t13_stacked_from", description: "design 12.5 T13: tl.from(a:50).from(a:80) on a=0: each from() renders immediately; the second captures 50 as its end",
|
|
gsap_calls: &["o={a:0}", "tl.from(o,{a:50,duration:1,ease:\"none\"}).from(o,{a:80,duration:1,ease:\"none\"})"], driver: "tl.seek(t) in the listed order",
|
|
meta: &[("a_after_first_from", Val::F(50.0)), ("a_after_build", Val::F(80.0))],
|
|
t: &[2.0, 0.5, 1.5, 0.0],
|
|
series: &[
|
|
Series { name: "a", v: &[50.0, 25.0, 65.0, 50.0] },
|
|
] },
|
|
SampleCase { id: "design_t14_zero_duration_direction", description: "design 12.5 T14: tl.set(o,{a:5},1) beside a 2 s filler; seek (suppressed) .99, 1.0, 0.5",
|
|
gsap_calls: &["tl.to(f,{x:1,duration:2},0)", "tl.set(o,{a:5},1)"], driver: "tl.seek(t) in the listed order",
|
|
meta: &[("a_after_create", Val::F(0.0))],
|
|
t: &[0.99, 1.0, 0.5, 1.5, 1.0],
|
|
series: &[
|
|
Series { name: "a", v: &[0.0, 5.0, 0.0, 5.0, 5.0] },
|
|
] },
|
|
SampleCase { id: "design_stagger_yoyo_ease", description: "stagger 0.2 over 3 targets, repeat 1, yoyo, ease none, yoyoEase power1.out on the TWEEN: the yoyo ease reaches the sub-tweens in the group's yoyo pass (3.15 copies easeReverse into each child; 3.12 swapped it in via _propagateYoyoEase). Stepped by 0.05",
|
|
gsap_calls: &["objs=3 x {x:0}", "tw=gsap.to(objs,{x:100,duration:1,stagger:0.2,repeat:1,yoyo:true,ease:\"none\",yoyoEase:\"power1.out\",paused:true})"], driver: "tw.totalTime(t), same instance, increasing t",
|
|
meta: &[("duration", Val::F(1.4)), ("totalDuration", Val::F(2.8))],
|
|
t: &[
|
|
0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45,
|
|
0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95,
|
|
1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45,
|
|
1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95,
|
|
2.0, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45,
|
|
2.5, 2.55, 2.6, 2.65, 2.7, 2.75, 2.8,
|
|
],
|
|
series: &[
|
|
Series { name: "o0.x", v: &[
|
|
0.0, 5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0,
|
|
50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 90.25, 81.0, 72.25,
|
|
64.0, 56.25, 49.0, 42.25, 36.0, 30.25, 25.0, 20.25, 16.0, 12.25,
|
|
9.0, 6.25, 4.0, 2.25, 1.0, 0.25, 0.0,
|
|
] },
|
|
Series { name: "o1.x", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 10.0, 15.0, 20.0, 25.0,
|
|
30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0,
|
|
80.0, 85.0, 90.0, 95.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
|
|
100.0, 100.0, 100.0, 90.25, 81.0, 72.25, 64.0, 56.25, 49.0, 42.25,
|
|
36.0, 30.25, 25.0, 20.25, 16.0, 12.25, 9.0, 6.25, 4.0, 2.25,
|
|
1.0, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
] },
|
|
Series { name: "o2.x", v: &[
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0,
|
|
10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0,
|
|
60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, 100.0, 90.25,
|
|
81.0, 72.25, 64.0, 56.25, 49.0, 42.25, 36.0, 30.25, 25.0, 20.25,
|
|
16.0, 12.25, 9.0, 6.25, 4.0, 2.25, 1.0, 0.25, 0.0, 0.0,
|
|
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
|
] },
|
|
] },
|
|
SampleCase { id: "design_value_rounding", description: "GSAP rounds a plain numeric property to 1e-6 when it writes it (PropTween _renderPlain); the design does not (DEVIATE); tests compare with 5e-7 abs",
|
|
gsap_calls: &["tw=gsap.to(o,{x:100,duration:1,ease:\"none\",paused:true})"], driver: "tw.totalTime(t)",
|
|
meta: &[],
|
|
t: &[0.001234567891, 0.123456789123, 0.3333333333333333],
|
|
series: &[
|
|
Series { name: "x", v: &[0.123457, 12.345679, 33.333333] },
|
|
Series { name: "anim.time", v: &[0.001234567891, 0.123456789123, 0.3333333333333333] },
|
|
] },
|
|
];
|