Repository navigation
Releases: LBEILC/Multiplane
Release list
Multiplane 0.3.13
Two fixes contributed by @fisHarly0: copied job commands keep their encoder and raster settings, and a relative --root no longer splits one project into several on the Jobs page. Both the renderer and the desktop app changed; an npm release follows.
Renderer
- A relative
--rootno longer splits a project. Jobs started with a relative--root(for example--root .) stored that relative value in their events. The desktop app resolved it against each shot's own directory, so shots inshots/andother/showed up as two different projects. The root is now resolved against the working directory when the command starts and stored as an absolute path. Jobs recorded by earlier versions keep their current grouping, because the original working directory was not recorded. Fixes #3 (#5, thanks @fisHarly0).
Desktop app
- Copied commands keep encoder and raster settings. "Copy command" left out
--encoder x264and--raster gpubecause they match the built-in defaults. If your saved preferences named a different encoder or raster mode, running the copied command used those instead. Copied commands now always include the raster mode, and the encoder for MP4 renders. Fixes #2 (#4, thanks @fisHarly0).
Installers
| System | File |
|---|---|
| Windows x64 | Multiplane-Setup-0.3.13-x64.exe |
| macOS, Apple silicon | Multiplane-0.3.13-arm64.dmg |
| macOS, Intel | Multiplane-0.3.13-x64.dmg |
| Linux x64 | Multiplane-0.3.13-x86_64.AppImage |
On Windows, 0.3.2 and later update themselves from the About page (only the changed blocks are downloaded). The installers are not code-signed: on Windows choose "More info", then "Run anyway" in SmartScreen; on macOS right-click the app and choose "Open" the first time. On Linux, make the AppImage executable (chmod +x) and run it; it needs FUSE. Without FUSE, extract it once with --appimage-extract and run squashfs-root/AppRun from then on.
FFmpeg is not bundled; install one with libx264 support. Chromium is downloaded on first use from the Environment page.
SHA-256:
| File | SHA-256 |
|---|---|
| Multiplane-Setup-0.3.13-x64.exe | 67cc5d930833ca9fe0825b8d9a89ee2d28ffb9f2e7497f3be3ecaf3f895bae93 |
| Multiplane-0.3.13-arm64.dmg | 11e7b969ab4b88e3dc22f03c91e716640fe210139c0bd8c933c798f55adeb81c |
| Multiplane-0.3.13-x64.dmg | d7b9d875b3a86c7bf7c106b30cd20de4e002e0d8c301188e721d0456909d7f90 |
| Multiplane-0.3.13-x86_64.AppImage | 5e50a91a15992490e846d082b92cccaac8fbc7ed3692fca39bb1432b425dd2e5 |
| latest.yml | 62445c1aaaa60a69eefab1245f93b7e70c1f7f093ff8ccd83d5f95602aa88748 |
| Multiplane-Setup-0.3.13-x64.exe.blockmap | 891b517df7a973260481d161c1e3487c65b5a63cc8ce437a9333027e6c8f220f |
| release-notes.json | dcded191689902b1807982a974e92d8d40e26fced37eb867abb1cc5c545224ac |
Verified
CI run 39223751942 passed the daily renderer suite, desktop tests and smoke checks on Windows, macOS and Linux. Build run 39223769387 passed the full renderer suite on Linux and built and verified all four installers (Windows x64, macOS arm64 and x64, Linux x64). Both runs used commit f47a4a958bd711f4ac8cf35abb2bdadd657d3a41. The local Windows full suite (47 test files), desktop tests (177 passed, 1 skipped), packaging, hosted-render check and release check passed. After a test-only virtual-clock fix, the release pipeline reused unaffected local checks and reran the changed test and release check on the final source commit. Windows update metadata matches the installer SHA-512 and size.
Licence
Apache-2.0. Third-party notices are in THIRD_PARTY_NOTICES.md and inside each installer.
Multiplane 0.3.12
A tray fix for the desktop app. Only the desktop app changed; the renderer is the same as 0.3.11, so there is no npm release.
Desktop app
- Tray popup opens next to the icon. When the Multiplane tray icon was tucked into the hidden icons flyout (the arrow next to the clock on Windows), the popup ignored where the icon was and opened pressed against the taskbar. It now opens above the icon, or below it if there is not enough room. When the icon sits on the taskbar itself, nothing changes.
Installers
| System | File |
|---|---|
| Windows x64 | Multiplane-Setup-0.3.12-x64.exe |
| macOS, Apple silicon | Multiplane-0.3.12-arm64.dmg |
| macOS, Intel | Multiplane-0.3.12-x64.dmg |
| Linux x64 | Multiplane-0.3.12-x86_64.AppImage |
On Windows, 0.3.2 and later update themselves from the About page (only the changed blocks are downloaded). The installers are not code-signed: on Windows choose "More info", then "Run anyway" in SmartScreen; on macOS right-click the app and choose "Open" the first time. On Linux, make the AppImage executable (chmod +x) and run it; it needs FUSE. Without FUSE, extract it once with --appimage-extract and run squashfs-root/AppRun from then on.
FFmpeg is not bundled; install one with libx264 support. Chromium is downloaded on first use from the Environment page.
SHA-256:
| File | SHA-256 |
|---|---|
| Multiplane-Setup-0.3.12-x64.exe | 36bc9071490505cb9cc7fcd414d677e53809fa06b79bb12a2b7b68e8c7456fb3 |
| Multiplane-0.3.12-arm64.dmg | 1bb94d087bd13708595acc0a8af9bef95039f96d3ee18435bbecea4065dcbcfd |
| Multiplane-0.3.12-x64.dmg | fa8814f7fb27dcd91c045c8ba55b72bd6bd3c503251fe710a38ce78a85cc9dd1 |
| Multiplane-0.3.12-x86_64.AppImage | c38ae8f9fd11494d86c7cf45af2c9a5ec4f5fd5fee7c21daf686fa64d19e1db2 |
| latest.yml | b5adb61b19d383c6d2d7b65acda46e7da8859e641fb64023e690b93997436448 |
| Multiplane-Setup-0.3.12-x64.exe.blockmap | 6b251aaf4c241c5c24374fb5f70927d4ea7cd5589d18f7e343246ada81f07577 |
| release-notes.json | af63fefe6fc454bc8d41e00b105ae1b4390968bba5f1b7e1b16d3c5ed13cfec1 |
Verified
CI run 39212243947 passed the daily renderer suite, desktop tests and smoke checks on Windows, macOS and Linux. Build run 39212262492 passed the full renderer suite on Linux and built and verified all four installers (Windows x64, macOS arm64 and x64, Linux x64). Both runs used commit 55565aba321a0bb1ce2b466cbb0e3cfb412c7ae5. Local Windows checks passed: tray tests (6 passed), desktop tests and type checking (177 passed, 1 skipped), packaging, the hosted-render check and the release check. The release script selected desktop-only local validation; the local full renderer suite was not rerun. Windows update metadata matches the installer SHA-512 and size.
Licence
Apache-2.0. Third-party notices are in THIRD_PARTY_NOTICES.md and inside each installer.
Multiplane 0.3.11
Display fixes for the Jobs page and the tray. Only the desktop app changed; the renderer is the same as 0.3.10, so there is no npm release.
Desktop app
- Progress numbers no longer doubled. The rolling-number styles were not loaded, so frame counts, speed, elapsed and remaining time on the Jobs page and in the tray were drawn twice side by side (for example
10,82510,825). The styles now ship with the app. - Latest frame preview stays visible. In the Preview tab of a running render, the latest finished frame turned into a broken image after its first update, because the refreshed image address was still HTML-escaped. It now keeps updating.
- Rolling numbers line up. A broad style rule in the job list and the tray shifted rolling numbers about 2.5 px above the text next to them. And because progress updates arrive many times a second, fast-changing digits were interrupted mid-roll and looked stuck halfway, like superscripts. Each number now finishes its roll before moving to the latest value (about 0.6 s at most), and always ends on the last value it received. With reduced motion turned on, numbers still update instantly.
Installers
| System | File |
|---|---|
| Windows x64 | Multiplane-Setup-0.3.11-x64.exe |
| macOS, Apple silicon | Multiplane-0.3.11-arm64.dmg |
| macOS, Intel | Multiplane-0.3.11-x64.dmg |
| Linux x64 | Multiplane-0.3.11-x86_64.AppImage |
On Windows, 0.3.2 and later update themselves from the About page (only the changed blocks are downloaded). The installers are not code-signed: on Windows choose "More info", then "Run anyway" in SmartScreen; on macOS right-click the app and choose "Open" the first time. On Linux, make the AppImage executable (chmod +x) and run it; it needs FUSE. Without FUSE, extract it once with --appimage-extract and run squashfs-root/AppRun from then on.
FFmpeg is not bundled; install one with libx264 support. Chromium is downloaded on first use from the Environment page.
SHA-256:
| File | SHA-256 |
|---|---|
| Multiplane-Setup-0.3.11-x64.exe | 22c959b62b95e50ddcc1b1bb5967264ccf35d39f3774180bd5cc75787ea88db8 |
| Multiplane-0.3.11-arm64.dmg | bffe38dab3f53390599baa44999f99d3ab04048ddcc8633104fc0d4c8b3f627e |
| Multiplane-0.3.11-x64.dmg | ad3595d685a92d0a52e358e9f6ae1ac7e6d4ee1376799ab8082da1d91e11b49d |
| Multiplane-0.3.11-x86_64.AppImage | 6814be0847992c8e9149d53d4455c558198ba7dc0ef121c480bdd1bf730312c8 |
| latest.yml | e35c841ec08896d51b045d7161ce6e76d65195bd0cce586be22b16a7b8e4773c |
| Multiplane-Setup-0.3.11-x64.exe.blockmap | 3163e67fcdfeefb4ff1365e651b28360cb8c7e36ba81e7518c66b5e47ea8f610 |
| release-notes.json | 10b01f9d7fc1f9346ca46addb09ee9d13ec1ff6386e8364770fb89d29f18acba |
Verified
CI run 39042402678 passed the daily renderer suite, desktop tests and smoke checks on Windows, macOS and Linux. Build run 39042414098 passed the full renderer suite on Linux and built and verified all four installers (Windows x64, macOS arm64 and x64, Linux x64). Both runs used commit efbd46ac53f351aa0fd8b69425e448525a2672f4. Local Windows checks passed: the full renderer suite (46 test files, with concurrency limited to 2), desktop tests (174 passed, 1 skipped), packaging, the hosted-render check and the release check. Although only the desktop app changed, the release script selected the full renderer suite because a desktop test helper changed. Windows update metadata matches the installer SHA-512 and size.
Licence
Apache-2.0. Third-party notices are in THIRD_PARTY_NOTICES.md and inside each installer.
Multiplane 0.3.10
Fixes for renders whose process is cut off: no more half-written videos at the output path, and the desktop app now shows why a render process died. Both the renderer and the desktop app changed; an npm release follows.
Renderer
- No partial video after an interruption. Without
--overwrite, the finished video was copied to the output path. If the process was ended during that copy, an incomplete file was left behind while the job could still be resumed, andmultiplane resumethen failed withoutput_exists. The video is now published in one step (a hard link, or a same-directory rename where hard links are not supported), so the output path holds either nothing or the complete video. An existing file at the output path is still never replaced without--overwrite. - Skill: long renders. The bundled skill tells agents that a render can outlast their command tool's timeout: give it a long enough timeout or run it in the background, and if the command is cut off, check the job with
multiplane statusand continue it withmultiplane resumeinstead of starting over.
Desktop app
- See why a render process died. Renders started by the app (hosted renders and resumes started from the Jobs page) now keep their standard error in
stderr.login the job directory. When such a render exits unexpectedly, the job details show the last 20 lines of it. When there is no error output, the details explain the usual cause (the agent session that started the render timed out or ended) and point to hosting in Settings; finished segments are kept and the job can be resumed.
Installers
| System | File |
|---|---|
| Windows x64 | Multiplane-Setup-0.3.10-x64.exe |
| macOS, Apple silicon | Multiplane-0.3.10-arm64.dmg |
| macOS, Intel | Multiplane-0.3.10-x64.dmg |
| Linux x64 | Multiplane-0.3.10-x86_64.AppImage |
On Windows, 0.3.2 and later update themselves from the About page (only the changed blocks are downloaded). The installers are not code-signed: on Windows choose "More info", then "Run anyway" in SmartScreen; on macOS right-click the app and choose "Open" the first time. On Linux, make the AppImage executable (chmod +x) and run it; it needs FUSE. Without FUSE, extract it once with --appimage-extract and run squashfs-root/AppRun from then on.
FFmpeg is not bundled; install one with libx264 support. Chromium is downloaded on first use from the Environment page.
SHA-256:
| File | SHA-256 |
|---|---|
| Multiplane-Setup-0.3.10-x64.exe | 0e5da5210300888914f28e874a7e69d2946ab42eedf427e21a3c1599fd546502 |
| Multiplane-0.3.10-arm64.dmg | ae70ec04b17f7530f02d3832950d1d027f1062e98312db3585b7a7bb94d68542 |
| Multiplane-0.3.10-x64.dmg | 30fe3ea978e28cbeb71dc15f71f032eaa87a3792b72527075a9834097e4d8d62 |
| Multiplane-0.3.10-x86_64.AppImage | 2235755a870ea16277b0752929fd0affa8773c6c45f16e4c8cda68f3c3cc9b48 |
| latest.yml | 0af4012a3392478a21f7d62f3ce271f8fe2dd3220c4eba0b2927b9c6c11efcca |
| Multiplane-Setup-0.3.10-x64.exe.blockmap | 6f40180374fb03a3efc0330a58bc827255b75f4c2f9f7a3f652f131267d3dc79 |
| release-notes.json | f922894bc790d7d76f7613a79c783ea339c7f1760235e31ec78069b468e65c44 |
Verified
CI run 38992837203 passed the daily renderer suite, desktop tests and smoke checks on Windows, macOS and Linux. Build run 38992847646 passed the full renderer suite on Linux and built and verified all four installers (Windows x64, macOS arm64 and x64, Linux x64). Both runs used commit 54d377d54ed1acc35c39c485dbec5a18f7ac8779. The local Windows full suite (46 test files), desktop tests, packaging, hosted-render check and release check passed. Windows update metadata matches the installer SHA-512 and size.
Licence
Apache-2.0. Third-party notices are in THIRD_PARTY_NOTICES.md and inside each installer.
Multiplane 0.3.9
Fixes for the desktop app's video preview and Settings page. The renderer is unchanged from 0.3.8, so there is no new npm release.
Desktop app
- Seeking in the preview works. In longer videos, dragging the timeline, stepping one frame, or jumping to the start or end snapped back to the first frame, because the app served video files without byte-range support and only the part already loaded could be seeked. The app now answers range requests, so any frame can be reached right away.
- The play button pauses. During playback the play button was redrawn on every frame, so a click on it was lost and only clicking the picture paused. It now changes only when playback starts or stops.
- Settings polish. "Notify when a job finishes" is a switch like "Host renders in Multiplane", and empty path fields show their hint in the interface font instead of a fallback font.
- The failure banner's description uses the secondary text colour, as in the design.
Installers
| System | File |
|---|---|
| Windows x64 | Multiplane-Setup-0.3.9-x64.exe |
| macOS, Apple silicon | Multiplane-0.3.9-arm64.dmg |
| macOS, Intel | Multiplane-0.3.9-x64.dmg |
| Linux x64 | Multiplane-0.3.9-x86_64.AppImage |
On Windows, 0.3.2 and later update themselves from the About page (only the changed blocks are downloaded). The installers are not code-signed: on Windows choose "More info", then "Run anyway" in SmartScreen; on macOS right-click the app and choose "Open" the first time. On Linux, make the AppImage executable (chmod +x) and run it; it needs FUSE. Without FUSE, extract it once with --appimage-extract and run squashfs-root/AppRun from then on.
FFmpeg is not bundled; install one with libx264 support. Chromium is downloaded on first use from the Environment page.
SHA-256:
| File | SHA-256 |
|---|---|
| Multiplane-Setup-0.3.9-x64.exe | aa7cbf2ac9bc969fcf78ee1af47605e783e92afd15000f40a3c6a0215fc72801 |
| Multiplane-0.3.9-arm64.dmg | e1f5d699fc673b88b78c4cd99c6765461a4ebde334f32370a29da5f62225e19e |
| Multiplane-0.3.9-x64.dmg | 14b5c2c79cb69dc127d4d18be07e7036659cad0439cf141b4e978f910113831f |
| Multiplane-0.3.9-x86_64.AppImage | dcc3b80eba64fd77e799125647c8bf37d04b326298df0861c5a1bee5e4d21cc4 |
| latest.yml | 2993bea2264e48964b9ec3c1bca30e66a3ebca2d2800cd273c5e9b73d9d3ad3b |
| Multiplane-Setup-0.3.9-x64.exe.blockmap | b64140c2c07b4485c143106b35756168850d4f81ca961a95ac6d87503203b441 |
| release-notes.json | 152561bd500507cf392369c002261f4e66a99b697f5397d7e19f44fc60dfa046 |
Verified
CI run 38890310095 passed the daily renderer suite, desktop tests and smoke checks on Windows, macOS and Linux. Build run 38890323666 passed the full renderer suite on Linux and built and verified all four installers (Windows x64, macOS arm64 and x64, Linux x64). Both runs used commit c4bcaa8eac3ad0cd97016a73897171424d725c2f. The local Windows full suite, desktop tests, packaging, hosted-render check and release check passed. Windows update metadata matches the installer SHA-512 and size.
Licence
Apache-2.0. Third-party notices are in THIRD_PARTY_NOTICES.md and inside each installer.
Multiplane 0.3.8
A redesigned desktop app, and renders that continue after an interruption instead of starting over. A stuck browser can no longer stall a render silently.
npm install multiplane
npx playwright install chromiumNew
- Resume an interrupted render.
rendernow encodes in segments of about 10 seconds and keeps each one on disk as soon as it is checked. If a render stops part way (the process is killed, the machine crashes or loses power, the browser keeps crashing, or you stop it),multiplane resume <job>skips the segments already encoded, renders only the rest and joins them without re-encoding. The result has the same frames as a render that never stopped. Resuming refuses withresume_unavailablewhen a file the shot loaded, the audio file, or the Multiplane, Chromium, FFmpeg, raster or encoder version has changed, and says which; a different GPU or driver only warns (resume_renderer_changed).multiplane statusnow reports whether a render can be resumed and how many frames are done. See section 6.1 of the protocol.
Fixed
- A stuck browser no longer stalls a render forever. If a worker holds frames but delivers none for
max(120 seconds, 10 × the slowest frame so far), its browser is closed and relaunched and the frame is rendered again from scratch, with the same pixels, and aworker_stalledwarning is reported. Each frame is retried at most twice; a third stall ends the job withbrowser_crashed. - Stopping always finishes. If a render ended (for example on an error) while another worker was stuck inside
render(t), cleanup waited for that frame forever. Workers now get 5 seconds to finish, then their browsers are closed. Segments already encoded are kept, so the job can be resumed. - Slightly faster capture. Motion frames skip a redundant still-frame check: about 2 % faster on a 3D promo and up to 9 % on 2D examples, with identical output.
Desktop app
- Redesigned Jobs page. Job details are split into Preview, Summary, Timeline and Options. Finished videos play in a frame-accurate player: step one frame at a time, jump between cuts, and read the exact frame number and timecode. Any frame opens in a viewer that zooms to actual pixels; failed determinism checks compare reference, actual and difference images side by side or by flickering between them. Summary shows the output, whether it was verified, and the picture, post-processing, performance and environment at a glance; Timeline shows how long each phase took; Options lists the effective settings in plain words and copies them as a command. Progress numbers roll, bars glide, and status changes are animated, all of which turn off with reduced motion.
- Resume from the app. A failed or stopped render that can continue shows Resume with the frames already done. The new job links back to the original. When resuming is refused, the app explains why, for example which files changed. The app now also takes over
resumerequests when hosting is on. - Tray popover. Clicking the tray icon on Windows and macOS opens a small panel with running, queued and recently finished jobs. The tray icon and the taskbar button show render progress. Linux keeps the system menu.
- Faster start. The window appears right away in the saved theme (no light flash in the dark theme), jobs show as soon as they are read, and settings load in the background.
- Update notes in your language. The About page lists what changed in each version since the installed one, in the interface language, instead of the raw release text.
- The project name no longer shows as
.when a job's project root is a relative path.
Installers
| System | File |
|---|---|
| Windows x64 | Multiplane-Setup-0.3.8-x64.exe |
| macOS, Apple silicon | Multiplane-0.3.8-arm64.dmg |
| macOS, Intel | Multiplane-0.3.8-x64.dmg |
| Linux x64 | Multiplane-0.3.8-x86_64.AppImage |
On Windows, 0.3.2 and later update themselves from the About page (only the changed blocks are downloaded). The installers are not code-signed: on Windows choose "More info", then "Run anyway" in SmartScreen; on macOS right-click the app and choose "Open" the first time. On Linux, make the AppImage executable (chmod +x) and run it; it needs FUSE. Without FUSE, extract it once with --appimage-extract and run squashfs-root/AppRun from then on.
FFmpeg is not bundled; install one with libx264 support. Chromium is downloaded on first use from the Environment page.
SHA-256:
| File | SHA-256 |
|---|---|
Multiplane-0.3.8-arm64.dmg |
e17768b7da93b5f6d2a8cc089dc76e0031b68ca68c9be98d615ff8195e43b92a |
Multiplane-0.3.8-x64.dmg |
6beb1a5de78b94f6150c779615116d2666537585e67822325ea9792abc7b32de |
Multiplane-0.3.8-x86_64.AppImage |
b073f3f7b3afe1ffab2ed8c0c263d99d9542a08247d393f3d5b95ca0bccaa8b5 |
Multiplane-Setup-0.3.8-x64.exe |
2e53832e0211e9ec364f59fc577fb9471631332cee05dddcb3ad09a8bbd04a4d |
Verified
CI run 38858062800 passed the daily renderer suite, desktop tests and smoke checks on Windows, macOS and Linux. Build run 38858071046 passed the full renderer suite on Linux and built and verified all four installers (Windows x64, macOS arm64 and x64, Linux x64). Both runs used commit ad11c742f17feb2b70e93c02cd9356a82067f733. The local Windows full suite, desktop tests and hosted-render check passed. Windows update metadata matches the installer SHA-512.
Licence
Apache-2.0. Third-party notices are in THIRD_PARTY_NOTICES.md and inside each installer.
Multiplane 0.3.7
Fixes streaks in out-of-focus areas of 3D shots that use both depth of field and motion blur, a regression in 0.3.6.
npm install multiplane
npx playwright install chromiumFixed
- No more streaks in strong depth of field with motion blur. In 0.3.6, the bundled 3D layer split a frame's depth-of-field samples across its motion samples by giving every capture the same small lens pattern, only rotated. All captures then sampled the same few distances from the lens centre, and out-of-focus areas, such as during a focus pull, showed horizontal and vertical streaks. Each frame now uses one lens pattern with all its samples, and the captures take interleaved points from it, so together they cover the pattern exactly once. On the frame where the streaks were found, the result is within 0.63 (mean RGB difference, 0–255) of a single 96-sample capture, and rendering time is unchanged. Shots without the 3D layer render the same pixels as 0.3.6.
- Linux: the bundled command's output is clean. On systems without FUSE, the AppImage runtime printed the list of extracted files into the command's standard output, which broke
--json. The AppImage now uses the current AppImage runtime, which stays quiet. - The desktop app explains full downloads. When an in-app update cannot download only the changed parts, the About page now says why, for example when the installed version was never published on GitHub.
Installers
| System | File |
|---|---|
| Windows x64 | Multiplane-Setup-0.3.7-x64.exe |
| macOS, Apple silicon | Multiplane-0.3.7-arm64.dmg |
| macOS, Intel | Multiplane-0.3.7-x64.dmg |
| Linux x64 | Multiplane-0.3.7-x86_64.AppImage |
On Windows, 0.3.2 and later update themselves from the About page (only the changed blocks are downloaded). The installers are not code-signed: on Windows choose "More info", then "Run anyway" in SmartScreen; on macOS right-click the app and choose "Open" the first time. On Linux, make the AppImage executable (chmod +x) and run it; it needs FUSE. Without FUSE, extract it once with --appimage-extract and run squashfs-root/AppRun from then on.
FFmpeg is not bundled; install one with libx264 support. Chromium is downloaded on first use from the Environment page.
SHA-256:
| File | SHA-256 |
|---|---|
Multiplane-0.3.7-arm64.dmg |
5216ad5135a4ea66de8d65ef994d77b669e7d6d6fbc80ab8888223f59a9f87f9 |
Multiplane-0.3.7-x64.dmg |
dc371fe34ad2717b60bae0e60b35a66b28b7ccc93bf87dd53b520b0fa07721b3 |
Multiplane-0.3.7-x86_64.AppImage |
3ba48c15e0734a3906e9cf730360d8441b9f76b8c6a36e5b9280ddd3d3a9fccc |
Multiplane-Setup-0.3.7-x64.exe |
a964536e1571a7eb26a6ad32ab06eb34aec0b71162427d83f31c434d90acc5f7 |
Verified
The full test suite passes on Linux in CI and on Windows locally, and the everyday suite on Windows, macOS and Linux in CI. All four installers were installed, launched, used to render a real video (including a 3D shot) and removed in CI; this is the first release where the Linux AppImage passes that check, including the bundled command without FUSE. A packaged Windows build accepted a render from its bundled command, reconnected to it with multiplane wait after the terminal closed and delivered the video. 3D determinism checks (out of order, after reload, one and two workers) pass with identical pixels.
Licence
Apache-2.0. Third-party notices are in THIRD_PARTY_NOTICES.md and inside each installer.
Multiplane 0.3.6
Faster 3D shots with motion blur and depth of field, a new fast quality preset, and fixes found while rendering a long production video.
npm install multiplane
npx playwright install chromiumChanged
- 3D shots with motion blur and depth of field are much faster. The bundled 3D layer no longer multiplies depth-of-field samples by motion samples. It first decides how many motion samples a frame needs, then splits the frame's depth-of-field budget across them (
max(2, ceil(budget / N))per capture, with the lens pattern rotated by sample time, so the blended frame still covers the whole aperture). The rotating lens pattern no longer counts as motion: whether to add samples is judged from extra captures with a fixed lens phase, so depth-of-field noise no longer pushes still or slow 3D frames to the sample limit. It also keeps the captures it has already made when samples double. On a 1080p 3D shot with depth of field, three frames went from 45.4 s to 19.7 s with the first of these changes, and the 3D part of that shot from 64 to 8 motion samples per frame with the second; splitting the depth-of-field budget took two 3-second sections of a production video from 88.6 s to 68.8 s and from 92.3 s to 61.5 s, with no visible increase in noise. - New
dofSamplesin results.render,stillsandverifyreportdofSamplesnext toblurSamples({ min, max, mean, histogram }): how many depth-of-field accumulations went into each delivered frame. standardstarts lower and stops earlier. Under--quality standard(the default), motion blur starts at no more than 4 samples (a shot'spost.motionBlurabove 4 starts at 4) and doubles up to 32 instead of 64. In a comparison against a 256-sample reference averaged in linear light, a fast typography frame has a mean error of 1.75 (99th percentile 5.7) under the new default. An explicit--motion-blurstill sets the start, and a limit no larger than the start keeps the shot's count fixed.- New
--quality fast. The same asstandardwith a limit of 16 samples: renders sooner, and very fast motion shows slightly more visible steps (mean error 2.11, 99th percentile 10.7 on the same frame). Use it when speed matters more than the last bit of quality;standardremains the default for final videos. - Fewer browsers for unmeasured 3D shots. Without a
multiplane benchmarkresult, shots that use WebGL or the 3D layer start at most 4 browsers (other shots: at most 12, as before). Many WebGL browsers share one graphics card and could slow down the whole computer. - 3D cards take
lodBias.layer.card({ ..., lodBias })(default 0, unchanged output) sharpens a card shown smaller than its texture; try-1for small text on a card facing the camera.
Fixed
- The desktop app no longer marks running renders as failed. A system query that timed out on a fully loaded machine was taken as "the render process exited unexpectedly". The app now uses a lightweight presence check; only a process confirmed gone is reported as exited.
- Progress moves during capture.
progress.done(anddoneinstatus.json) counts frames already captured, so heavy shots no longer sit at 0 for minutes. - The app's bundled command hands renders to the app. Renders started with
multiplane.cmd(Windows) or the bundled command on macOS were refused by the running app ("Rendering locally: Invalid hosted request.") and rendered in the terminal instead, so closing the terminal stopped them. The app now accepts requests from its own executable. - 3D layer: a layer-wide
textureBackgroundno longer fills transparent cards. It applies only to cards withannotationsorbrowserFrame; a card's ownstyle.textureBackgroundstill applies. - 3D layer: card borders no longer flicker against the image at long distances (for example a narrow field of view with the camera far away).
stills --draft --out <dir>no longer ends withinternal_errorafter capturing all stills.- No more
favicon.ico404 in render logs. The local server answers that path with 204 when the shot root has no icon.
Shots without motion blur and without the 3D layer render the same pixels as 0.3.3. Shots with motion blur use the new standard sample counts, and 3D shots with depth of field use the new split, so their output differs slightly from 0.3.3.
Installers
| System | File |
|---|---|
| Windows x64 | Multiplane-Setup-0.3.6-x64.exe |
| macOS, Apple silicon | Multiplane-0.3.6-arm64.dmg |
| macOS, Intel | Multiplane-0.3.6-x64.dmg |
On Windows, 0.3.2 and later update themselves from the About page (only the changed blocks are downloaded). If you are on 0.3.0 or 0.3.1, install this version by hand once. The Linux AppImage is not included yet. The installers are not code-signed: on Windows choose "More info", then "Run anyway" in SmartScreen; on macOS right-click the app and choose "Open" the first time.
SHA-256:
| File | SHA-256 |
|---|---|
Multiplane-0.3.6-arm64.dmg |
c67192e0a39e0040187b33d8393756ccc1318ce409c9ddd3b02097183c39a722 |
Multiplane-0.3.6-x64.dmg |
d753d5448b8f68f4a8e8e4b3941d45c4335850ce19e9730b8b9e6521dccfafb2 |
Multiplane-Setup-0.3.6-x64.exe |
c8872ff2aa5b0edbfde3c537f93d8158acb4ac76308f442bdac56df74fe577fa |
Verified
The full test suite and the desktop app tests pass on Windows; the everyday suite passes on macOS and Linux in CI. A packaged Windows build accepted a render from its bundled command, reconnected to it with multiplane wait after the terminal closed and delivered the video. Both macOS installers were installed, launched, used to render a real video and removed in CI.
Licence
Apache-2.0. Third-party notices are in THIRD_PARTY_NOTICES.md and inside each installer.
Multiplane 0.3.3
The desktop app now includes three.js for the 3D layer.
npm install multiplane
npx playwright install chromiumChanged
- The desktop app bundles three.js 0.180.0. Rendering 3D shots with the app or its bundled command (
multiplane.cmdon Windows,Multiplane.app/Contents/Resources/bin/multiplaneon macOS) no longer requires installing three.js in the project. The installer grows by about 3 MB. With the npm package, three.js stays an optional dependency: projects that use the 3D layer installthree@0.180.0themselves. multiplane doctorand the Environment page show whether three.js is available, its version and whether it comes from the app or the project.
Rendering output is unchanged from 0.3.2.
Installers
| System | File |
|---|---|
| Windows x64 | Multiplane-Setup-0.3.3-x64.exe |
| macOS, Apple silicon | Multiplane-0.3.3-arm64.dmg |
| macOS, Intel | Multiplane-0.3.3-x64.dmg |
On Windows, 0.3.2 updates itself from the About page (only the changed blocks are downloaded). If you are on 0.3.0 or 0.3.1, install this version by hand once. The Linux AppImage is not included yet. The installers are not code-signed: on Windows choose "More info", then "Run anyway" in SmartScreen; on macOS right-click the app and choose "Open" the first time.
SHA-256:
| File | SHA-256 |
|---|---|
Multiplane-0.3.3-arm64.dmg |
3eac511f7341ce6b9cd26423a65bd28ae7a38d881f207882d3366697c1d90f29 |
Multiplane-0.3.3-x64.dmg |
de360938b6f6dadc9ca44226f2387f3610ce4f9ee7a54e1b477e17a6547576af |
Multiplane-Setup-0.3.3-x64.exe |
dd43c1ab06ef1371a459a7fefc88ff05d83e1a6cc42558db5b35d79d5c7b2b5d |
Verified
A packaged Windows build rendered the 3D example with its bundled command from a project without three.js installed; the 3D determinism checks pass with identical pixels. Both macOS installers were installed, launched, used to render a real video and removed in CI.
Licence
Apache-2.0. Third-party notices, now including three.js (MIT), are in THIRD_PARTY_NOTICES.md and inside each installer.
Multiplane 0.3.2
Fixes in-app updates on Windows.
Fixed
- Updates install into the existing directory. Updating from inside the app could install the new version into the default folder (
%LOCALAPPDATA%\Programs\Multiplane) instead of the folder the app was installed in, leaving two copies. The updater now passes the running app's folder to the installer. - Updates download only the changed blocks. The updater could fall back to downloading the whole installer (about 130 MB) when its cached block map and cached installer belonged to different versions. It now checks that they match and otherwise fetches the previous block map from the release; a typical update downloads well under 1 MB.
- The download progress shows the bytes actually downloaded, and the updater's own log (differential or full download, and why) is written to the app log.
If you installed 0.3.0 or 0.3.1 on Windows, install 0.3.2 once by hand from the installer below (choose the same folder). Those versions still contain the old updater; updates from 0.3.2 on use the fixed one. If an earlier in-app update left a second copy under %LOCALAPPDATA%\Programs\Multiplane, delete that folder after installing 0.3.2; do not run its uninstaller, which would also remove the registration of your main installation.
The renderer is unchanged from 0.3.1; the npm package stays at 0.3.1.
Installers
| System | File |
|---|---|
| Windows x64 | Multiplane-Setup-0.3.2-x64.exe |
| macOS, Apple silicon | Multiplane-0.3.2-arm64.dmg |
| macOS, Intel | Multiplane-0.3.2-x64.dmg |
The Linux AppImage is not included yet. The installers are not code-signed: on Windows choose "More info", then "Run anyway" in SmartScreen; on macOS right-click the app and choose "Open" the first time.
SHA-256:
| File | SHA-256 |
|---|---|
Multiplane-0.3.2-arm64.dmg |
d22f7f97c8add69491d259ce9c752cdbd5f94be86956e5d6fcff8dc49dbc73ad |
Multiplane-0.3.2-x64.dmg |
17ba2db587d3ab545377a1013cda84006c95e1ee7044f4a74cc8fb2a8bcdaddb |
Multiplane-Setup-0.3.2-x64.exe |
e6fd552b1ef85278df24d45dee109112532f580332a2d23fcba7600f42d74f15 |
Verified
The update flow was run end to end on Windows with a local update server and two test builds: installed into a custom folder with spaces, then updated from inside the app. The new version was installed into the same folder, and only the changed blocks (about 0.5 MB of a 131 MB installer) were downloaded. The 0.3.2 installer was installed over 0.3.1 on a real Windows 11 machine. Both macOS installers were installed, launched, used to render a real video and removed in CI.
Licence
Apache-2.0. Third-party notices are in THIRD_PARTY_NOTICES.md and inside each installer.