<panel selector> <command>do;
<track selector> cycle {command *[command]*}do;

  • where:
  • Track selector is the name of a track
  • Command is a command of th appropriate form
  • panel selector – Each panel in a set has a unique identifier, if there i an odd number of panels, the centre panel is panel 0, to the left and right of this are panel 1, then panel 2 and panel 3, etc. Panels to the left of centre are negative so -2, for example, panels to the right of centre are positive so +4, for example.  Specifying only the numeric part implies left and right matching pairs of panels.

In general commands look like:

<panel> <command> <data>;
where panel is the panel identifier, 1, 2 +3, -4 etc or some combination separated by : , for example, 1:2:-3

Commands are queued, processing is started with the do; command which may be included with the command or sent sometime later. Multiple commands are executed in sequence unless  written as part of an enclosing cycle {}, in which case they will execute in parallel whenever possible.


A cycle has this form

cycle 20 {}

commands inside the {} execute in a time set by the cycle time, 20 in this example, and execute properly in parallel whenever possible. Commas which must execute in sequence share the cycle time.


Turn the selected panels to the specified angle, the angle is absolute, left and right will reflect the others movement, for example:

t2 cycle 20 {1:2 turn -45;3 turn +45;}do;
panels 1 and 2 and their matching left/right partners will turn 45° and panel 3 (+3 and -3) will turn 45°, the movement will take 20 seconds and all panels will move together.

Flat commands


Raise or lower one or more panels. ‘To’ has the following form:

<selector> to <position>;
where selector selects which panels to move and position sets the height to move them to. Height is specified as a percentage of the span height set as part of the tracks setup car. Typical 1 span is 10m so 10% of this sets 1m.  By design 100% is fully lowered and 0% is fully raised. For example:

t2 1:2:3 to 50;
will move panels 1, 2 and 3 on track t2 (on both the left and right sides) to height 50%.

t2 cycle 20 {1:3 to 0;}do;
will fully raise panels 1 and 3 leaving panel 2 where it is.


Shift os the horizontal counterpart to to and moves the selected panels left and right


Squish is equivalent to to with the exception that as the panel are raised their ties is reduced and their textures adjusted so that they appear to vanish.


Colour sets the colour of one or more panels.

<selector> colour <colour> <face>where;
<colour> = <red,green,blue> | #RRggBB | #<a colour defined in the server definition file>
<face> = F B E P S R in some combination
F-> front face
B-> back face
E-> edges
P-> primary, the currently active panel prim (see note 2)
S-> secondary, the currently inactive panel prim
R-> interpret F and B as whichever face is currently front facing (see note 1)

note 1
Normally front and back a fixed faces on the panels, this is easy to understand but can be complicated in use, Adding the R face tag means F and B are properly interpreted based on the panels orientation.
Each panel consists of two prime, one is active on isn’t, laloading and texture onto the inactive face and then exchanging the active and inactive prime allows the texture to appear in several interesting ways, for example:

T2 cycle 10 {1:2 colour #red F:S;1:2 flip;}do;
will load red onto panels 1 and 2 front and secondary faces an then slowly exchange the primary and secondary prime.  When viewed the colour appears to fade in.


Texture is the same as colour except that a texture is loaded other than  solid colour.

When a texture id detected the texture load is automatically routed through the preloader and execution of the rest of the command is delayed until the preload finishes and the texture is declared “available”.  This maintains proper synchronisation between texture lads and  any other commands which might be specified at the same time.

When a texture is applied across multiple faces (1:2:3, -1:-2, etc) then the texture is properly spread across the specified faces, Its quite easy to load multiple textures onto multiple faces all with the same command (they go through the preloader together so there isn’t an extra real delay). For this to work the texture should be applied to contagious faces.

There is an extra parameter which can be applied which will force the texture to be loaded across the whole track without any other texture adjustment, this command is necessary if, for example, you need to apply a curtain texture.


Spin is the same as turn except that the turn is based on the current angle.


Retract with shift, one or more, panels backwards or forwards relative to the track by the specified distance.

<selectorretract <distance>;


Scale will change the size of one or more flats according to the specified size, for example:

<selectorscale <x,y,z>;
where x,y and z are the new sizes

For example:

T2 1:2:3 scale <1,1,1>;
will transform all 6 panels into cubes of side 1m


Exchange the role of the primary and secondary prime for the specified panels

For example 1:2 flip;

Usually this would be used as part of a texture or colour load and used as a command within the same cycle, for example:

cycle 30 { * texture myTexture F:S;* flip;}do;
which will load texture ‘myTexture’ properly aligned across the front faces of all the secondary panels, when this is complete all the panels will start a smooth ‘flip” whereby the primary panels fades out and the secondary panel fades in.  This will take the remainder of the cycle time, 20 seconds, remains after the texture load – which will be the bulk of the cycle.  The texture load will automatically run through the preloader before being applied to the panels and the main command will wait for the preload to complete


Track commands


Rebuild the flats using the current conformation.An optional second parameter can be used to specify a different prim for the panel, by default this is a plain rectangle.


Delete the panels leaving only the track


Change the conformation of the track, i.e. the number of flats and the relative size of each.  The conformation is specified as a series of “.” delimited numbers. Each number represents a panel and the size of the number represents that panels relative width.  So, for example ‘’ would generate 5 equally sized panels, ‘1.5.1’ would generate 3 panels with the centre panel 5 times the width of the two outer panels which are both the same width.

Show Using

Show using will show a sequence of textures either once or repeating using a specified display cycle.  this cycle can either be included with the common or it the command can refer to a cycle defined in, and downloaded from, the image server, and contained within its selected and loaded definitions file. For example:

show T1:T2:T3 using sd
which will show textures T1, T2, and T3 using the cycle called SD which is contained in the image server definitions file.

The display cycle used may show more than one texture at a single pass or a, in which case, textures are pulled off the input list by the cycle as required.  If the intuit list is terminated with’LOOP’ then the list will endlessly repeat.  Either start a non repeating cycle to stop or send an abort command to the track. Fo example:

show T1:T2:T3:LOOP using cycle 20 {-1:-2 texture $ B:R;=1:+2 texture $ B:R;* spin 180;}
which will endlessly show 3 textures, two at a time, one across panels-1:-2 and one across panels +1+2.  the texture will be loaded onto the rear side of the track and revealed by the panels turning through 180°. Both textures will run through the preloader together.


Align or realign the track, all panels move to their start positions start sizes and start orientations



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s