Releases: SaltieRL/WebReplayViewer
Releases · SaltieRL/WebReplayViewer
Bug fixes with scoreboard
Ships a fix for the scoreboard issue occurring in #46. When we don't have data for that frame, we fill in a default value of -100
. This additional check sets the minimum game time to 0 for calculations.
More bug fixes and slight event bus adjustment
Currently the fix list is as follows:
- Fixes a bug on calculated.gg where the
.fullscreen
div does not maintain width and height - Fixes issues where the game managers were not deconstructed correctly
- Fixes orthographic camera zoom computation on various screen sizes (see this screenshot)
- Fixes a bug where camera settings were not properly updated when the game was paused until the player hit "play" again
- Remove calls to
render
from the ReplayViewer
Some adjustments to the API:
- Dropped subscriber support from the
FPSClock
in favor of the new global event bus. You can no longer subscribe to it when receiving frames but instead but use theaddFrameListener
event listener. - Adjusted the calls to tear down a number of managers (static
destruct
method) including theGameManager
. Currently only called in theReplayViewer
componentcomponentWillUnmount
but may need to be called before reinitialization as well.
Orthographic views
EventBus + Fullscreen
In this version 0.3.0
, we add a few features and bug fixes:
- Moved all camera updates to new event bus system. Will eventually migrate all events to global event bus
- Added full screen toggle support. Note that this also increases the size of the canvas (and requires hardware capable of supporting this larger render space)
- Fixed an issue where sprites would display too small in orthographic views
Bug fixes and performance improvements
This version adds a number of fixes, including:
- Proper memoization and caching of loaded models into memory
- Hashing player names to avoid illegal property characters (Fixes #25)
- Clock unsubscription and resetting on unmount (should fix #26)
- CSS fixes for slider that doubled screen width
- Removal of reselect dependency (lower bundle size)
- Removes a redundant import in the example project
In addition, the following new features were added:
GameManagerLoader
wrapper that, givenGameBuilderOptions
, will handle asynchronous loading of all models and will display loading percentages.- Previously, we merged the responsibility of loading replay data/metadata and building the scene into one single async call. However, this is misleading since the user assumes these load times are responsible for the API call alone. Showing loading progress provides a better UX
- Separation of Application and replay viewer in the example project. This lets us test the performance of the replay viewer in a more realistic environment, allowing us to check that certain features like in-memory model storage work as intended. This is especially important for letting us simulate CPU latency in the future