Skip to main content

YuukSpace Script (YSS)

YuukSpace Script (YSS) is the scripting language used in AST sessions.

YSS allows you to fire custom events and define different blocks within the same session.

Example Script:

[anchor;id=top]
[setting.session.type=bst]
[setting.spirals.line_duration=1500]
[controller=random]
[block=start;id=initial]
[setting.session.type=mst;id=initial]
[setting.spirals.line_duration=2000;id=initial]
[style.text.main.color=#FF0000;apply=1] This is a test of the first block
Second line
Third Line[sound=/static/testing/ding.mp3]
[block=end;id=initial]
[block=start;id=bsttest]
[setting.session.type=bst;id=msttest]
[setting.spirals.line_duration=1000;id=msttest]
This is a test of the BST block
BST block tests are cool [sound=/static/testing/ding.mp3]
[style.text.main.color=#FF0000;apply=1] BST application is fun
[block=end;id=bsttest]

Element Reference

[anchor]

Allows you to define a location in the script to go to, with required extra parameter id denoting the unique name of the location.

Usage:

[anchor;id=backhere]
.....
[block=end;id=someOtherPlace;goto=backhere]

[setting.*]

Used to define settings for the session. Pass the extra attribute `id` to denote that the parameter should be associated with a certian block session.

Current Settings Implemented:

  • [setting.session.type=sessionType] - Sets the session type. Supported Session Types: bst (Brainwash Spiral Task), mst (Mantra Spiral Task)
  • [setting.spirals.line_duration=durationHere] - Determines how long the line/word should be on the screen. durationHere should be time in Milliseconds.

[style.*]

Used to define on-screen style changes. Extra attributes include `id` to denote that the style change should only occur in the block and `apply` that accepts a positive number or the word 'always' to determine how long the style change should last for.

Current Style Implemented:

  • [style.text.main.color=hexGoesHere] - Sets the color of the session center text using a Hexadecimal Representation. (i.e. #0066FF)
  • [style.text.main.add_class=classNameHere] - Adds an arbitrary class to the session center text. Class name can only be one and should not include the CSS selector (.)
  • [style.text.main.size=sizeHere] - Changes the size (All CSS units of size accepted) of the session center text.
  • [style.text.main.font_family=fontFamilyHere] - Sets the font family css attribute for the session center text. Accepts a string. Single Quotations should be around custom font families.

[sound]

Used to play a sound effect. Takes no attributes. URL for Sound can be direct or relative.

[controller]

Used to determine how the session's blocks are controlled. Two valid choices are `sequential` (default) and `random`. Sequential will go down the list of blocks in order, random will generate a random list from the available blocks and play them in that order. Note: If you select Random, any text outside of a block will be played at the end of the randomized block list no matter where it is in the script.

[block]

Block is used to create a compartmentalized session within an AST session. Blocks require a start value and an end value, with each containing the ID attribute. Block End Values can also include the optional goto attribute to jump to another part of the session forward or backward. Warning, at the current time of development, jumping backward will create an infinite loop that will make the AST session impossible to finish. Blocks can have localized settings by denoting the ID attribute on settings tags.

[setting.spirals.line_duration=1500] # Set line duration to 1500ms globally.
[setting.session.type=mst] # Set global session type to MST
[controller=sequential]
Welcome
Lets begin
Be a good subject.
[block=start;id=lineChange]
[setting.spirals.line_duration=2000;id=lineChange] # set line duration to 2000ms for the lineChange block only. After the block is finished, the global settings will be back in play.
[setting.session.type=bst;id=lineChange] # Set this block only to be an BST session. After this block, global settings will take back over.
This is a test
I love tests
I am a good test. [sound=/path/to/positve.mp3]
This is a test
I love tests
I am a good test. [sound=/path/to/positve.mp3]
This is a test
I love tests
I am a good test. [sound=/path/to/positve.mp3]
This is a test
I love tests
I am a good test. [sound=/path/to/positve.mp3]
[block=end;id=lineChange]