Skip to content

Releases: LBEILC/Multiplane

Multiplane 0.3.13

Choose a tag to compare

@LBEILC LBEILC released this 19 Oct 11:01

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 --root no 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 in shots/ and other/ 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 x264 and --raster gpu because 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

Choose a tag to compare

@LBEILC LBEILC released this 19 Oct 08:09

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

Choose a tag to compare

@LBEILC LBEILC released this 17 Oct 23:00

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

Choose a tag to compare

@LBEILC LBEILC released this 17 Oct 02:32

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, and multiplane resume then failed with output_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 status and continue it with multiplane resume instead 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.log in 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

Choose a tag to compare

@LBEILC LBEILC released this 16 Oct 11:23

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

Choose a tag to compare

@LBEILC LBEILC released this 16 Oct 07:03

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 chromium

New

  • Resume an interrupted render. render now 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 with resume_unavailable when 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 status now 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 a worker_stalled warning is reported. Each frame is retried at most twice; a third stall ends the job with browser_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 resume requests 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

Choose a tag to compare

@LBEILC LBEILC released this 15 Oct 16:29

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 chromium

Fixed

  • 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

Choose a tag to compare

@LBEILC LBEILC released this 15 Oct 12:46

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 chromium

Changed

  • 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 dofSamples in results. render, stills and verify report dofSamples next to blurSamples ({ min, max, mean, histogram }): how many depth-of-field accumulations went into each delivered frame.
  • standard starts lower and stops earlier. Under --quality standard (the default), motion blur starts at no more than 4 samples (a shot's post.motionBlur above 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-blur still sets the start, and a limit no larger than the start keeps the shot's count fixed.
  • New --quality fast. The same as standard with 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; standard remains the default for final videos.
  • Fewer browsers for unmeasured 3D shots. Without a multiplane benchmark result, 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 -1 for 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 (and done in status.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 textureBackground no longer fills transparent cards. It applies only to cards with annotations or browserFrame; a card's own style.textureBackground still 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 with internal_error after capturing all stills.
  • No more favicon.ico 404 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

Choose a tag to compare

@LBEILC LBEILC released this 15 Oct 03:13

The desktop app now includes three.js for the 3D layer.

npm install multiplane
npx playwright install chromium

Changed

  • The desktop app bundles three.js 0.180.0. Rendering 3D shots with the app or its bundled command (multiplane.cmd on Windows, Multiplane.app/Contents/Resources/bin/multiplane on 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 install three@0.180.0 themselves.
  • multiplane doctor and 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

Choose a tag to compare

@LBEILC LBEILC released this 15 Oct 02:28

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.