Releases: casual-simulation/casualos
Releases · casual-simulation/casualos
v0.9.6
Changes:
- Breaking Changes
- Removed
@
and#
expressions.- This means that
@id
and#id
will no longer work. - Instead, use
getBots("#id")
andgetBotTagValues("#id")
.
- This means that
- Removed
- Improvements
- The inventory now begins with a top down view.
- The center viewport button will now set the rotation to be top down.
- Inventory now begins with an increased zoom value.
- Manually control when we submit the frame to the VRDisplay
- This allows us to be able to do multiple rendering passes on the WebGL canvas and have them all appear in VR correctly.
- Before this fix, any elements that were rendered onto the WebGL canvas after the first pass were absent from VR. This was because the
THREE.WebGLRenderer
prematurely submitted the frame to theVRDisplay
. This was a problem because it appears that the WebVR API ignores subsequent calls to theVRDisplay.submitFrame
function until the current frame has passed.
- Added the
hasTag
function to allow users to check if the file has a specific tag on it. - Moved formula calculations to a background thread.
- This helps get a more consistent framerate by running formulas in the background while the scene is rendering.
- As a result, the
window
global variable will not be available formulas.- This means formulas like
window.alert()
orwindow.location
orwindow.navigator.vibrate()
will not work anymore. - This also means that channels are more secure since you should no longer be able to write a formula that directly modifies bots in another channel. (no crossing the streams)
- This means formulas like
- The new system works by tracking dependencies between formulas.
- It looks for calls to
getTag()
,getBot()
,getBots()
andgetBotTagValues()
to track dependencies. - It is fairly limited and does not yet support using variables for tag names. So
getTag(this, myVar)
won't work. ButgetTag(this, "#tag")
will work. - There are probably bugs.
- It looks for calls to
- Additional improvements include showing the error message produced from a formula.
- If the formula throws an error then it will show up instead of the formula text.
- The UI has not been updated so you cannot scroll to read the full error message.
- Improved line performance.
- Improved label positioning to be more consistent.
- Improved users to share inventories, menus, and simulations when they are logged in with the same username.
- Old inactive users will now be deleted automatically to keep the data model clear of unused users.
- This only affects bots that have the
aux._user
tag set.
- This only affects bots that have the
- Improved our usage of Vue.js to prevent it from crawling the entire game tree to setup property listeners.
- This reduces rendering overhead significantly.
- Changed the size of the inventory's dragging bar.
- Bug Fixes
- Fixed rendering warning that was caused by
aux.line.to
if the line was too short. - The context will now no longer allow for bot placement if it is not being visualized.
- The bot's label should now always appear on page reload.
- The bot sheet should now no longer have an incorrect layout upon adding a new bot.
- The config ID in sheets will now read as
config
and notconfi
. - Switching contexts in AUXPlayer will now add the old context to the browser history so you can use the back and forward buttons to go back and forth.
- Fixed rendering warning that was caused by