Changelog
The Anti-Jank Update (Part 1)
This update is quite ambitious, so I had to pull a Caves and Cliffs and split it into two. 0.7.0 lays the technical groundwork for 0.8.0, which will be focused on the UI and making a better user experience.
In this update, the world exporter has been almost completely re-written. If you've been following the GitHub repo, this is what's been happening in the async_world_capture
branch.
The new exporter is written in a way such that it can be executed off of the main thread, with all block updates during the export being properly accounted for. This works using a proxy, "snapshot" object, which uses a client-side block update detector to create a thread-safe view of the world at a given time, without any overhead upon creation. This means that, along with some internal optimizations, the initial world exporter can now operate concurrently with the frame exporter to improve export times and make the UI more responsive.
Additionally, the export pipeline has been re-written as to not piggyback off of the Replay Mod's render pipeline. A custom pipeline that's built for the unique needs of the replay exporter rather than a video exporter significantly improves code cleanliness and paves the way for better UI clarity (some of which is already implemented.)
I also updated the mod to 1.19.3 because some people were asking for that.
Changes
-
Updated to 1.19.3
-
Removed Joml as a jar-in-jar dependency as that's now provided by Minecraft.
-
Updated model adapters to use Joml types where relevant.
-
-
Overhauled world exporter
-
Wrote
ChunkView
abstract class which represents a block view that declares which chunks are loaded. -
All Vcap capture classes now use this
ChunkView
abstraction, allowing them to be used on things other thanWorld
instances. -
Created
WorldSnapshot
class, a thread-safe view of a world at a specific point in time. -
World exporter works asynchronously, exporting chunks in parallel to drastically improve export time.
-
-
Re-wrote replay export pipeline
-
Created new
ReplayExporter
, an adaption ofVideoRenderer
designed specifically for exporting replays. -
Removed all the janky workarounds that were in use to get
VideoRenderer
to export replays. -
Implemented backend for better UI feedback about export "phases." This replaces the prints to console that were in use before.
-
Fixed an issue where entities wouldn't export properly if the export region started at the very beginning of the replay.
-
Fixed an issue where player skins wouldn't export if the playhead was in the middle of the export region.
-
Moved replay finalization and serialization off of the main thread.
-
-
Small UI update
-
New export progress screen displays world export progress as well as replay export progress.
-
Added warning about the fluid exporter's memory issues to export screen.
-
-
Misc.
- Made the Blender addon camera export start at frame zero, regardless of the starting frame.
Dependencies
90% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Metadata
Release channel
BetaVersion number
0.7.0Loaders
Game versions
1.19.3Downloads
266Publication date
February 16, 2023 at 4:34 AMPublisher
Igrium
Owner