<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bedrock-js, branch v1.1.0</title>
<subtitle>Bedrock emulator and assembler for webpages
</subtitle>
<id>https://code.benbridle.com/bedrock-js/atom?h=v1.1.0</id>
<link rel='self' href='https://code.benbridle.com/bedrock-js/atom?h=v1.1.0'/>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-js/'/>
<updated>2025-09-12T05:28:54Z</updated>
<entry>
<title>Update version to 1.1.0</title>
<updated>2025-09-12T05:28:54Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-09-12T05:28:54Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-js/commit/?id=60bfb4f0f675ab4cb9b07d6fcd772d46d6b7222a'/>
<id>urn:sha1:60bfb4f0f675ab4cb9b07d6fcd772d46d6b7222a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement a faster core in WebAssembly</title>
<updated>2025-09-12T05:28:44Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-09-12T05:20:19Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-js/commit/?id=19c5679b8be4fe879e165576e97f96b85f5b5044'/>
<id>urn:sha1:19c5679b8be4fe879e165576e97f96b85f5b5044</id>
<content type='text'>
This is a massive commit that restructures a lot of the library. The
primary change is the implementation of a second Bedrock core using
WebAssembly, which performs much better than the existing JavaScript
core. The JavaScript core has been retained as a fallback for browsers
that don't support WebAssembly.

Benchmarking both cores using the numbers benchmark and with all of the
devices stubbed out in the emulator demonstrates a 40x speedup for the
WebAssembly implementation (going from 4800ms to 120ms).
</content>
</entry>
<entry>
<title>Measure run performance</title>
<updated>2025-09-07T07:04:41Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-09-07T07:04:41Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-js/commit/?id=4c67a10f265dde1c3aa430cb851062a38646d6f2'/>
<id>urn:sha1:4c67a10f265dde1c3aa430cb851062a38646d6f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve transmission rendering performance</title>
<updated>2025-09-07T06:47:51Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-09-07T06:46:29Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-js/commit/?id=53fa574c9af4095f07f4883547939a25522f81e6'/>
<id>urn:sha1:53fa574c9af4095f07f4883547939a25522f81e6</id>
<content type='text'>
Previously, the DOM would be updated every time a complete character
was pushed to the transmission parser by the stream device. This caused
frequent re-renders of the transmission panel and massively slowed down
the emulator.

To fix this, the contents of the transmission parser are now only
flushed to the transmission panel when the state panel updates, which
is currently every 10_000 cycles.
</content>
</entry>
<entry>
<title>Show assembled bytecode when checking program</title>
<updated>2025-09-07T06:43:07Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-09-07T06:43:07Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-js/commit/?id=e09013621b3c26945d16d7f2a621bd18f1e814e4'/>
<id>urn:sha1:e09013621b3c26945d16d7f2a621bd18f1e814e4</id>
<content type='text'>
Clicking the CHECK button will open the bytecode panel if the program
assembles successfully, displaying the assembled bytecode.
</content>
</entry>
<entry>
<title>Adjust scale factors used for scroll input</title>
<updated>2025-07-08T05:49:45Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-07-08T05:49:45Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-js/commit/?id=ba13eb2771cbab72a9de8e834536cb957aff38ad'/>
<id>urn:sha1:ba13eb2771cbab72a9de8e834536cb957aff38ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update version to 1.0.1</title>
<updated>2025-07-05T06:03:34Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-07-03T10:34:32Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-js/commit/?id=f93133df345321e4d3a28e2529e07c3ef821a88e'/>
<id>urn:sha1:f93133df345321e4d3a28e2529e07c3ef821a88e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Support touchscreen devices</title>
<updated>2025-07-05T06:03:34Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-07-05T06:03:24Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-js/commit/?id=39da0e91c2011966961071a1d3c138db32449dba'/>
<id>urn:sha1:39da0e91c2011966961071a1d3c138db32449dba</id>
<content type='text'>
Click events on touchscreen devices are handled by the touchstart and
touchend events. These events will now enable and disable the pointer
device, move the pointer position, and press and release the primary
pointer button.
</content>
</entry>
<entry>
<title>Add a nocursor attribute to the &lt;bedrock&gt; element</title>
<updated>2025-07-04T11:03:52Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-07-04T11:03:40Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-js/commit/?id=8f54cac05765bb47488bec7242bb865a1dc1f7d4'/>
<id>urn:sha1:8f54cac05765bb47488bec7242bb865a1dc1f7d4</id>
<content type='text'>
This attribute hides the mouse cursor on the program canvas.
</content>
</entry>
<entry>
<title>Force a render if a frame takes longer than half a second to run</title>
<updated>2025-07-04T11:03:49Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-07-04T11:03:09Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/bedrock-js/commit/?id=2eeae95c4fed369e3be6a2100bfd591db46e0a33'/>
<id>urn:sha1:2eeae95c4fed369e3be6a2100bfd591db46e0a33</id>
<content type='text'>
</content>
</entry>
</feed>
