<feed xmlns='http://www.w3.org/2005/Atom'>
<title>webao/.eslintrc.js, branch master</title>
<subtitle>WebAO fork</subtitle>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/webao/'/>
<entry>
<title>Add asset preloading system for IC message rendering</title>
<updated>2026-04-01T11:59:13+00:00</updated>
<author>
<name>David Skoland</name>
<email>davidskoland@gmail.com</email>
</author>
<published>2026-04-01T11:59:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/webao/commit/?id=10b413c0f0a31bc9476eed86812b6bb90f82caed'/>
<id>10b413c0f0a31bc9476eed86812b6bb90f82caed</id>
<content type='text'>
Fix rendering race conditions where character sprites, pre-animations,
and paired character assets were displayed before being downloaded.
All assets referenced in an MS packet are now resolved and preloaded
into the browser cache before the animation timeline starts.

- Add unified assetCache module with session-wide promise caching
- Add preloadMessageAssets orchestrator for parallel asset resolution
- Cache fileExists HEAD requests so missing files aren't re-probed
- Preload all SFX (emote, shout, realization, stab) alongside sprites
- Use synchronous setEmoteFromUrl at all render transition points
- Graceful fallback to legacy setEmote if preloading times out

Co-Authored-By: Claude Opus 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix rendering race conditions where character sprites, pre-animations,
and paired character assets were displayed before being downloaded.
All assets referenced in an MS packet are now resolved and preloaded
into the browser cache before the animation timeline starts.

- Add unified assetCache module with session-wide promise caching
- Add preloadMessageAssets orchestrator for parallel asset resolution
- Cache fileExists HEAD requests so missing files aren't re-probed
- Preload all SFX (emote, shout, realization, stab) alongside sprites
- Use synchronous setEmoteFromUrl at all render transition points
- Graceful fallback to legacy setEmote if preloading times out

Co-Authored-By: Claude Opus 4.6 (1M context) &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Set ESLint indent to 2 spaces</title>
<updated>2025-07-14T20:33:37+00:00</updated>
<author>
<name>David Skoland</name>
<email>davidskoland@gmail.com</email>
</author>
<published>2025-07-14T20:33:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/webao/commit/?id=da8d864cb28d9a08f136b44764975c772f2730a6'/>
<id>da8d864cb28d9a08f136b44764975c772f2730a6</id>
<content type='text'>
The whole codebase is formatted with 2 space indentation so
update .eslint.js to reflect that.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The whole codebase is formatted with 2 space indentation so
update .eslint.js to reflect that.
</pre>
</div>
</content>
</entry>
<entry>
<title>mostly whitespaces, please don't break</title>
<updated>2023-09-20T10:57:45+00:00</updated>
<author>
<name>stonedDiscord</name>
<email>Tukz@gmx.de</email>
</author>
<published>2023-09-20T10:57:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/webao/commit/?id=59028dd4046ad0715d80be8d1ed0031f20f05b7a'/>
<id>59028dd4046ad0715d80be8d1ed0031f20f05b7a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>enable ts linting</title>
<updated>2023-09-20T10:40:52+00:00</updated>
<author>
<name>stonedDiscord</name>
<email>Tukz@gmx.de</email>
</author>
<published>2023-09-20T10:40:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/webao/commit/?id=ef28c355ef69fee7511956751bbdb5dcd1a931b1'/>
<id>ef28c355ef69fee7511956751bbdb5dcd1a931b1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>make eslint a lot happier</title>
<updated>2023-09-20T09:52:34+00:00</updated>
<author>
<name>stonedDiscord</name>
<email>Tukz@gmx.de</email>
</author>
<published>2023-09-20T09:52:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/webao/commit/?id=5fc20f9dd53fe4d32be08d538782baa47c67853c'/>
<id>5fc20f9dd53fe4d32be08d538782baa47c67853c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ESLINT</title>
<updated>2022-03-06T03:05:02+00:00</updated>
<author>
<name>caleb.mabry.15@cnu.edu</name>
<email>caleb.mabry.15@cnu.edu</email>
</author>
<published>2022-03-06T03:05:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/webao/commit/?id=03e95e916585fb9d1d6b23b6c8af3813df6c260c'/>
<id>03e95e916585fb9d1d6b23b6c8af3813df6c260c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>(See commit message)</title>
<updated>2019-07-02T02:48:00+00:00</updated>
<author>
<name>oldmud0</name>
<email>oldmud0@users.noreply.github.com</email>
</author>
<published>2019-07-02T02:48:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/webao/commit/?id=393142f7001269140897a8ca191884e8c29bb699'/>
<id>393142f7001269140897a8ca191884e8c29bb699</id>
<content type='text'>
This commit includes another pass of refactoring to webAO, but
could not be tested because it has become virtually impossible
to compile GoldenLayout correctly and have it be detected as a
module by webpack. GoldenLayout has also been dormant for an
alarming amount of time, and its new maintainers have not been
doing a stellar job releasing bug fixes.

So, I give up trying to build webAO.

It's a heaping mess written in vanilla HTML/CSS/JS without the
use of a proper web framework, dependent on a raw TCP protocol
designed 7 years ago, only to be wrapped with yet another
protocol that only half the servers *want* to support, because
webAO is so bad that only incompetent players would want to keep
using it. (Unless you are a Chromebook player, in which case I am
sorry for hurling insults at you.)

webAO started off as an experiment by sD, but became real only
because I made it real. I was the one who added support for
it for tsuserver; I was the one who made the UI vaguely acceptable;
I was the one who added a button for it on the home page. It's
really my fault that this abomination lives on. I should have
learned a legitimate web framework and rewritten it when I
had the chance.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit includes another pass of refactoring to webAO, but
could not be tested because it has become virtually impossible
to compile GoldenLayout correctly and have it be detected as a
module by webpack. GoldenLayout has also been dormant for an
alarming amount of time, and its new maintainers have not been
doing a stellar job releasing bug fixes.

So, I give up trying to build webAO.

It's a heaping mess written in vanilla HTML/CSS/JS without the
use of a proper web framework, dependent on a raw TCP protocol
designed 7 years ago, only to be wrapped with yet another
protocol that only half the servers *want* to support, because
webAO is so bad that only incompetent players would want to keep
using it. (Unless you are a Chromebook player, in which case I am
sorry for hurling insults at you.)

webAO started off as an experiment by sD, but became real only
because I made it real. I was the one who added support for
it for tsuserver; I was the one who made the UI vaguely acceptable;
I was the one who added a button for it on the home page. It's
really my fault that this abomination lives on. I should have
learned a legitimate web framework and rewritten it when I
had the chance.
</pre>
</div>
</content>
</entry>
<entry>
<title>more npm</title>
<updated>2019-03-23T18:15:51+00:00</updated>
<author>
<name>stonedDiscord</name>
<email>stoned@derpymail.org</email>
</author>
<published>2019-03-23T18:15:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/webao/commit/?id=2367bd601ad039eee872894977af7ef055ca9cc5'/>
<id>2367bd601ad039eee872894977af7ef055ca9cc5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Continue major cleanup and style fixes</title>
<updated>2018-09-09T00:02:32+00:00</updated>
<author>
<name>oldmud0</name>
<email>oldmud0@users.noreply.github.com</email>
</author>
<published>2018-09-09T00:02:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/webao/commit/?id=8818ba99f804b1b1845a4757d67cc32d552956e1'/>
<id>8818ba99f804b1b1845a4757d67cc32d552956e1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Continue code cleanup</title>
<updated>2018-09-04T03:48:46+00:00</updated>
<author>
<name>oldmud0</name>
<email>oldmud0@users.noreply.github.com</email>
</author>
<published>2018-09-04T03:48:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sof.beauty/webao/commit/?id=077fcf719b1a9383b4170f33a77c95024d6f7188'/>
<id>077fcf719b1a9383b4170f33a77c95024d6f7188</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
