collections { group { name: "main"; parts { part { name: "base"; type: RECT; description { state: "default" 0.0; color: 255 128 32 128; } } part { name: "p1"; type: RECT; description { state: "default" 0.0; rel1.relative: 0.10 0.10; rel2.relative: 0.45 0.45; color: 255 32 32 128; map { on: 1; backface_cull: 1; perspective: "persp"; light: "light"; rotation { center: "p1"; x: 0.0; } } } description { state: "rotated" 0.0; inherit: "default" 0.0; map.rotation.x: 360.0; } } part { name: "p1.back"; type: RECT; description { state: "default" 0.0; rel1.relative: 0.10 0.10; rel2.relative: 0.45 0.45; color: 255 32 255 128; map { on: 1; backface_cull: 1; perspective: "persp"; light: "light"; rotation { center: "p1"; x: 180.0; } } } description { state: "rotated" 0.0; inherit: "default" 0.0; map.rotation.x: 540.0; } } part { name: "p2"; type: RECT; description { state: "default" 0.0; rel1.relative: 0.55 0.10; rel2.relative: 0.90 0.45; color: 32 255 32 128; map { on: 1; rotation { center: "p2"; z: 0.0; } } } description { state: "rotated" 0.0; inherit: "default" 0.0; map.rotation.z: 360.0; } } part { name: "p3"; type: RECT; description { state: "default" 0.0; rel1.relative: 0.10 0.55; rel2.relative: 0.45 0.90; color: 32 32 255 128; map { on: 1; perspective: "persp"; rotation { center: "p3"; y: 0.0; } } } description { state: "rotated" 0.0; inherit: "default" 0.0; map.rotation.y: 360.0; } } part { name: "p4"; type: RECT; description { state: "default" 0.0; rel1.relative: 0.55 0.55; rel2.relative: 0.90 0.90; color: 255 255 32 128; map { on: 1; light: "light"; perspective: "persp"; rotation { center: "p1"; y: 0.0; } } } description { state: "rotated" 0.0; inherit: "default" 0.0; map.rotation.y: 360.0; } } part { name: "persp"; type: RECT; dragable { x: 1 1 0; y: 1 1 0; confine: "base"; } description { state: "default" 0.0; min: 32 32; max: 32 32; color: 0 0 0 128; perspective { zplane: 0; focal: 1000; } } } part { name: "light"; type: RECT; dragable { x: 1 1 0; y: 1 1 0; confine: "base"; } description { state: "default" 0.0; min: 24 24; max: 24 24; color: 255 255 255 128; color2: 40 40 40 128; perspective { zplane: -1000; } } } } programs { program { name: "init"; signal: "load"; source: ""; action: STATE_SET "default" 0.0; target: "p1"; target: "p1.back"; target: "p2"; target: "p3"; target: "p4"; after: "rot1"; } program { name: "rot1"; action: STATE_SET "rotated" 0.0; transition: LINEAR 4.0; target: "p1"; target: "p1.back"; target: "p2"; target: "p3"; target: "p4"; after: "rot2"; } program { name: "rot2"; action: STATE_SET "default" 0.0; target: "p1"; target: "p1.back"; target: "p2"; target: "p3"; target: "p4"; after: "rot1"; } } } }