<feed xmlns='http://www.w3.org/2005/Atom'>
<title>TaSTT.git/template.anim, branch master</title>
<subtitle>Free self-hosted STT for VRChat.</subtitle>
<id>https://git.yummers.dev/TaSTT.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/TaSTT.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/'/>
<updated>2022-10-03T00:24:18+00:00</updated>
<entry>
<title>Add 4th layer of indexing</title>
<updated>2022-10-03T00:24:18+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2022-10-03T00:24:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=21c17fcb5698ed238e5397a0c2b0530034804d34'/>
<id>urn:sha1:21c17fcb5698ed238e5397a0c2b0530034804d34</id>
<content type='text'>
* Double board size from 6x16 to 8x22
* Reduce parameter bits used (thanks to extra layer of indexing)
* Rename template.anim to template.anim.txt to prevent Unity from
  constantly rewriting it
* osc_ctrl.encodeMessage now pads the message so that all empty space is
  overwritten
* Delete osc_ctrl.sendMessageCellContinuous. Now that we use a single 'Enable'
  bit, this idea is sidelined.
  * We can probably achieve the same effect by making TaSTT.shader a little
    more clever. For example, if we pass it the current cell number, it could
    render a time-based 'fade-in' effect which simulates smooth streaming.
</content>
</entry>
<entry>
<title>Paging now works for other players at 40 characters per second</title>
<updated>2022-10-03T00:24:17+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2022-10-03T00:24:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=7e7a0d1c4179fb1a0cc771a25ad56be6b5dd5405'/>
<id>urn:sha1:7e7a0d1c4179fb1a0cc771a25ad56be6b5dd5405</id>
<content type='text'>
* Shorten animations to 1 frame
* Eliminate fx internal transition delays
  * These were causing the shader parameters to interpolate, causing the
    inconsistent / flickering letters I was seeing
</content>
</entry>
<entry>
<title>Add 'Do Nothing' animation</title>
<updated>2022-10-03T00:24:17+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2022-10-03T00:24:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=9222e7e9a21704dd6083adf8f53ce4437ba64a74'/>
<id>urn:sha1:9222e7e9a21704dd6083adf8f53ce4437ba64a74</id>
<content type='text'>
Per the VRC docs, state behaviors may not execute if the total length of
time in the state is &lt; 0.02 seconds. Adding a 2-frame 'Do Nothing'
animation to the top of every layer seems to help with stability.

*shrug*

More cleanup:

* Generate a unique return-home transition for each terminal state
  instead of reusing the same one.
* Use globally unique state names in animator.
* All animations are at least 2 frames long.
</content>
</entry>
<entry>
<title>big code dump</title>
<updated>2022-09-28T23:54:01+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2022-09-28T06:04:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=98c6d47d73abfad32eb32520531c887d34bb31ed'/>
<id>urn:sha1:98c6d47d73abfad32eb32520531c887d34bb31ed</id>
<content type='text'>
Summary: added generator for animations and FX layer.

* add generate_animations.sh
  * generates an animation for every cell (14*6=72) and every letter (60);
    72*60 = 4212 total animations
* add generate_fx.py
  * seems to work in-game
  * drives every parameter needed
* add {group,cell}_names.txt
  * name of every group &amp; cell parameter
    * the STT has 72 individual character slots called cells. They are
      grouped into 4-character groups to save on parameter bandwidth.
      Thus each slot may be indexed with 8 bits.
* add SetLetters.cs
  * this thingy looks at each group parameter and uses it to set each
    cell parameter. The generated fx layer hooks the script in.
* check in SDK-generated assets as references until code generators are
  complete
</content>
</entry>
</feed>
