<?xml version="1.0" encoding="ISO-8859-1"?>

<screensaver name="kaleidocycle" _label="Kaleidocycle" gl="yes">

  <command arg="--root"/>

  <video href="https://www.youtube.com/watch?v=SJqRaCCy_vo"/>

  <hgroup>
   <vgroup>
    <number id="delay" type="slider" arg="--delay %"
            _label="Frame rate" _low-label="Low" _high-label="High"
            low="0" high="100000" default="30000"
            convert="invert"/>

    <number id="count" type="slider" arg="--count %"
            _label="Count" _low-label="8" _high-label="64"
            low="8" high="64" default="16"/>

    <number id="speed" type="slider" arg="--speed %"
            _label="Speed" _low-label="Slow" _high-label="Fast"
            low="0.1" high="8.0" default="1.0"
            convert="ratio"/>
   </vgroup>

   <vgroup>
    <select id="rotation">
      <option id="no"  _label="Don't rotate"               arg-set="--spin 0"/>
      <option id="x"   _label="Rotate around X axis"       arg-set="--spin X"/>
      <option id="y"   _label="Rotate around Y axis"       arg-set="--spin Y"/>
      <option id="z"   _label="Rotate around Z axis"/>
      <option id="xy"  _label="Rotate around X and Y axes" arg-set="--spin XY"/>
      <option id="xz"  _label="Rotate around X and Z axes" arg-set="--spin XZ"/>
      <option id="yz"  _label="Rotate around Y and Z axes" arg-set="--spin YZ"/>
      <option id="xyz" _label="Rotate around all three axes" arg-set="--spin XYZ"/>
    </select>

    <boolean id="wander" _label="Wander" arg-set="--wander"/>

    <boolean id="wire"    _label="Wireframe"              arg-set="--wireframe"/>
    <boolean id="showfps" _label="Show frame rate" arg-set="--fps"/>
   </vgroup>
  </hgroup>

  <xscreensaver-updater />

  <_description>
Draw a ring composed of tetrahedra connected at the edges that twists
and rotates toroidally.

When a series of tetrahedra are joined at the edges in a loop, it is
possible for them to rotate continously through the center without
deforming.  This only works with an even number of tetrahedra, and
there must be eight or more, or they don't fit.

Written by Jamie Zawinski; 2013.
  </_description>
</screensaver>
