Skip to content

Releases: make-your-own-world/MeshMill

MeshMill 0.3.0 for Windows

Choose a tag to compare

@github-actions github-actions released this 14 Oct 07:45

MeshMill 0.3.0 adds parallel tiled reduction, Depth + Density Adaptive QEM, a customizable interface, expanded performance monitoring, and command-line automation. This release builds on the large-mesh analysis and GPU-guided reduction introduced in 0.2.0.

Performance and large-mesh processing

  • Parallel tiled reduction: reduce independently processed mesh tiles with multiple CPU workers, including the CPU reduction portion of GPU-guided algorithms.
  • Boundary-Preserved Deterministic QEM: disk-backed adaptive tiles, protected boundary coordinates, deterministic target allocation, validated tile outputs, and streamed binary STL assembly keep processing memory bounded.
  • Measured speed improvement: on the 4,126,315-triangle reference mesh, cached-index tiled Fast QEM took 4.67 seconds with eight workers, compared with 8.58 seconds for in-memory Fast QEM. Sequential tiled processing took 27.34 seconds. These are reference measurements, not a guaranteed speedup for every mesh.
  • Explicit quality tradeoffs: the tiled reference result had RMS error of 0.121% versus 0.114%, P95 error of 0.236% versus 0.227%, dimension drift of 0.005% versus 0.068%, and area change of 0.095% versus 0.399%. Boundary protection retained 495 extra triangles rather than forcing the requested count by discarding protected geometry.
  • Consistent assembly: sequential, parallel, and resumed cached reference runs produced byte-identical STL output. Assembly checks verify that the output count matches all validated tile results, with no triangles lost during assembly.
  • Auto, Full mesh, and Tiled controls: choose the processing route directly. Auto compares estimated tile setup plus processing time with full-mesh processing and accounts for available resources.
  • Processing estimates: see the selected route, parallel worker count, estimated runtime, and expected quality tradeoff before optimizing.
  • Memory-aware concurrency: worker counts are bounded by both process settings and the memory budget.
  • Cancellation and resume: tile checkpoints support interrupted jobs, validated cache reuse, and rebuilding damaged checkpoints.
  • Reusable GPU preparation: GPU initialization is prepared during model loading and cached for later operations. The progress display distinguishes preparation from reduction.
  • More stable capacity estimates: idle fluctuations no longer continually change the displayed processing capacity.

Depth + Density Adaptive QEM

  • Added Depth + Density Adaptive QEM (GPU / Best), combining GPU depth-gauge surface measurements with density guidance to preserve useful detail while reducing redundant geometry.
  • Retained Depth Adaptive QEM, Density balanced, Fast QEM, and the other reduction choices so users can choose their preferred runtime and quality tradeoffs.
  • Automatic startup selection uses the combined algorithm when its compatible GPU backend is available, otherwise Density balanced is the quality-oriented fallback.
  • Preferences can select a default algorithm and Smart quality level or remember the last algorithm used.
  • Added a plain-language comparison of algorithm tradeoffs in Preferences.
  • Improved explicit GPU selection and persistence for machines with multiple NVIDIA adapters.
  • Refined the measured-quality row: surface-error, topology, and area indicators have color coding and plain-language tooltips. Duplicate reduction and drift indicators were removed.
  • Updated optimization estimates when the slider, algorithm, or Smart quality setting changes.

Themes, appearance, and readability

  • Added MeshMill Blue, Light Blue, Dark Focus, and Earth Tone window themes with matching controls, icons, panel colors, and tooltips.
  • Added separate viewport appearance selection so window styling and viewport colors can be chosen independently.
  • Added custom density-gradient endpoints with intermediate colors across the gradient.
  • Density colors now follow the selected viewport base color, and changing the theme updates the displayed model as well as the legend.
  • Added a five-position font-size slider, with one smaller size and three larger sizes around the system-default position.
  • Font sizing applies across the toolbox, settings, dialogs, version label, and quality indicators. Toolbox width adjusts to keep controls readable.
  • Restyled orientation, density, scale, selection, and ruler overlays with consistent rounded panels and visible theme-aware text and icons.
  • Fixed rounded-corner background artifacts, theme-switching color mismatches, low-contrast tooltips, and clipped controls.
  • Added a real density-gradient legend and more compact scale and XYZ panels to reduce wasted viewport space.
  • Added individual visibility and corner placement preferences for the four viewport overlays, with one overlay per corner.
  • Shortened long file paths to one line while preserving the full path in the tooltip; refined folder and copy-path controls.

Navigation, selection, and desktop workflow

  • Added a titlebar full-screen button and Ctrl+Enter toggle, with configurable shortcut mapping.
  • Improved keyboard orbiting around the visible view center and close-range, depth-scaled panning.
  • Improved keyboard zoom and roll behavior at close zoom levels.
  • Corrected orientation-cube rotation and the displayed reference after saving named views.
  • Refined maximized-window and overlay positioning.
  • Simplified target selection: the optimization slider and Draft/Balanced/Fine quality choices drive the displayed target triangle count.
  • Moved model units beneath Display type in the toolbox.
  • Refined selection optimization and cancellation, including clearing selection when a provisional selected-region optimization is canceled.
  • Fixed a selection-optimization type error and improved button sizing and tooltip placement.
  • Removed redundant ready/status text and right-aligned processing estimates in the toolbox.

Progress and performance monitoring

  • Consolidated long operations into one status panel with overall progress and progress for the current stage.
  • Added measurable progress for point-density analysis, surface-area measurement, topology checks, and result analysis.
  • Renamed result-quality measurement to Analyzing results.
  • Kept live CPU, RAM, GPU, and VRAM measurements updating independently of operation-progress messages.
  • Improved GPU sampling to include relevant activity rather than showing a misleading flat line.
  • Added configurable metrics refresh rate and retained-history duration, with an estimated memory cost.
  • Added graph history scrolling and zoom, automatic following of the newest samples, and resuming live scrolling at the right edge.
  • Default history retains 15 minutes with one-second sampling.
  • Added clearer runtime breakdowns for completed operations, including counts, cumulative stage totals, and the latest operation.
  • Arranged cumulative runtime information on the left and latest-operation information on the right.
  • Refined I/O reporting around cumulative totals, active I/O time, and peak samples.

Command line and PowerShell automation

  • Improved standalone CLI help, usage examples, version reporting, and automatic Balanced target behavior.
  • Updated algorithm choices and GPU selection for the current reduction paths.
  • Added Generate PowerShell script for completed full-mesh optimization passes, visible with Save current mesh.
  • Scripts can replay multiple passes without opening the GUI and use Draft/Balanced/Fine quality choices for processing other STL files.
  • Added an editable script window with Copy, Save As, and Reset.
  • Scripts preserve supported algorithm and GPU options; crop and view-rotation actions are excluded from the exported optimization sequence.

About, support, and reporting

  • Added an editable bug-report dialog with optional diagnostic information, disabled by default, that users can review before opening GitHub Issues.
  • Optional diagnostics include CPU type, GPU model, CUDA capability/version information, mesh statistics, settings, and operation runtime totals.
  • Added clearer feature-request and support buttons in About.
  • Added readable rendered Markdown changelogs in a larger centered window.
  • Refined the unobtrusive version control beside General, manual update checking, and copying the installed version with a right-click.
  • Automatic update checks remain optional and off by default.

Documentation, benchmarks, and papers

  • Added matched algorithm comparisons, benchmark inputs and results, and detailed wireframe and density comparison figures.
  • Updated reduction, GPU analysis, tiled-processing, out-of-core, and platform-testing documentation.
  • Refreshed the application screenshots for the new interface.
  • Added regression coverage for GPU-guided reduction, deterministic tiled output, boundary preservation, cancellation, checkpoint recovery, and streamed assembly.
Publication Focus Version
Depth + Density Adaptive QEM Combined depth-gauge and density-guided reduction, with formulas, benchmarks, and comparisons. 1.1
Boundary-Preserved Deterministic QEM Bounded-memory tiled reduction, protected boundaries, deterministic processing, and streamed assembly. 1.0

Download

Most Windows users should choose the installer.

  • Portable ZIP: extract the complete archive and run MeshMill.exe.
  • [Full sample STL](h...
Read more

MeshMill 0.2.0 for Windows

Choose a tag to compare

@github-actions github-actions released this 09 Oct 22:57

MeshMill 0.2.0 adds substantial large-mesh and interface performance improvements, a higher-quality GPU-guided reduction option, measured quality comparisons, improved navigation, and a production Windows installer.

Performance improvements

  • Parallel large-mesh analysis: analysis of the 4,126,315-triangle reference mesh improved from 10.531 seconds with one worker to 1.838 seconds with eight workers, a 5.73x speedup. Both runs produced identical bounds, 50 adaptive tiles, and 4,126,315 assigned triangles.
  • Faster adaptive-index creation: complete index creation improved from 8.836 seconds to 5.406 seconds with a warm filesystem cache, a 1.63x speedup. Partition publication remains single-owner so output stays deterministic and tile files do not receive competing writes.
  • Memory-aware STL analysis: large binary STL files are inspected and partitioned in bounded blocks instead of requiring the complete source to be allocated at once.
  • Bounded overview loading: meshes above the configured memory budget open as a manageable read-only overview rather than exhausting system memory or freezing the interface.
  • Automatic processing budgets: MeshMill derives worker counts, overview limits, and geometry-job capacity from available CPU, RAM, and VRAM instead of relying on a fixed triangle ceiling.
  • Adaptive spatial indexing: uneven meshes are divided according to their measured triangle distribution. The reference mesh produced 50 independently addressable tiles with a 65,075-triangle median and a 249,043-triangle maximum.
  • Reusable caches: persistent source fingerprints, spatial indexes, GPU kernels, density data, and comparison results avoid repeating validated work when the underlying mesh and settings have not changed.
  • Responsive geometry operations: reduction, analysis, loading, and other heavy geometry work run outside the interface, with progress reporting and cancellation where the operation can be safely interrupted.
  • Measured CPU and GPU dispatch: small jobs stay on the CPU when GPU transfer and synchronization would cost more than the calculation. GPU analysis is used where resident data and parallel surface measurements provide a measured benefit.
  • Expanded performance telemetry: the metrics panel now separates CPU, RAM, GPU, and VRAM and reports geometry activity, processing capacity, cumulative I/O totals, active I/O time, and peak transfer samples.
  • Faster close-range navigation: pointer-centered orbiting and depth-scaled panning keep viewport movement usable when working close to dense geometry.

These improvements were implemented before and independently of Depth Adaptive QEM. The out-of-core work in this release covers bounded inspection, overview loading, indexing, scheduling, and caching. Full streaming reduction and cross-tile assembly remain roadmap work.

Depth Adaptive QEM

Depth Adaptive QEM is a new optional GPU / Higher Quality algorithm. It uses adaptive, physically scaled surface probes on the GPU, then hands the measured surface guidance to boundary-preserving Fast QEM assembly.

Fast QEM remains the default because it starts immediately and works on every supported system. Depth Adaptive QEM is available when MeshMill detects compatible NVIDIA hardware.

On the project’s 4,126,315-triangle reference mesh at a matched 250,000-triangle target:

Algorithm Time RMS error P95 error Maximum drift Area error
Fast QEM 9.827 s 1.1721 mm 2.3504 mm 0.6987 mm 0.3993%
Depth Adaptive QEM 10.156 s 1.0668 mm 2.0586 mm 0.0234 mm 0.1241%

This measured run improved RMS surface error by 9.0%, P95 error by 12.4%, maximum dimension drift by 96.7%, and area error by 68.9%, with a 3.3% runtime increase.

The Windows packages include the minimal CUDA runtime needed by this algorithm. It does not install a system-wide CUDA toolkit or a background service. The first run prepares and caches GPU kernels for the local machine; later runs reuse that cache.

Quality comparisons

Viewport and workflow

  • Left-drag now pans the viewport.
  • Middle-drag orbits around visible geometry under the pointer.
  • Panning scales with the picked geometry depth, including close zoom levels.
  • Improved maximized-window layout, overlays, ruler visibility, and zoom shortcuts.
  • Added per-application CUDA GPU selection by PCI address for multi-GPU systems.
  • Added manual update checks and optional checks when the app opens. Automatic checking is off by default, and no update service or scheduled task is installed.
  • Verified installer upgrades preserve settings and reopen the active STL when requested.

Research and engineering notes

The release documentation records the tested CPU and GPU strategies, relevant public research, formulas, benchmark methods, failures, and design decisions. GPU prototypes that did not improve the complete reduction path remain documented rather than being shipped as misleading acceleration options.

Roadmap additions

  • Printable solid synthesis derived from Depth Adaptive QEM.
  • A hybrid depth-and-density adaptive reduction path.
  • Full out-of-core reduction and assembly.
  • Multi-mesh workspaces, alignment, overlap analysis, and merge workflows.
  • Control profiles and expanded navigation customization.
  • Optional distributed geometry processing and coordinated synthesis.

Windows download

Most users should download MeshMill-0.2.0-windows-x64-setup.exe.

  • Installer: normal Windows installation with Start menu and optional desktop shortcuts. Upgrades preserve settings and shortcut choices; uninstall removes MeshMill preferences.
  • Portable ZIP: no installation. Extract the complete ZIP, then run MeshMill.exe.
  • Sample STL: optional large test geometry for experimenting with MeshMill.
  • SHA256SUMS.txt: checksums for verifying downloads.

These packages are self-contained. Python, Node.js, and development dependencies are not required.

Platform status

Windows is the supported release platform. Linux and macOS downloads are published separately as clearly labeled testing previews because they have not received the same real-hardware validation.

Localization status

MeshMill 0.2.0 is currently distributed in English. Updated translations were deferred because the available translation, validation, and review work exceeded current resource and processing capacity. Existing community translation files remain in the repository for future completion, but they are not included in these packages because they have not passed the 0.2.0 release validation gates.

Licensing

MeshMill is released under GPL-3.0. Third-party notices and the CUDA redistribution exception are included with the source and packages.

MeshMill 0.2.0-preview.2 Preview for Linux and macOS

Choose a tag to compare

@github-actions github-actions released this 05 Oct 03:55

Linux and macOS testing previews

These downloads are for early testing on Linux and macOS. Windows users should use the supported Windows release shown as Latest on the Releases page.

  • linux-x86_64.tar.gz: 64-bit Linux systems
  • macos-arm64.zip: Apple silicon Macs
  • macos-x86_64.zip: Intel Macs
  • Matching SHA256SUMS files: download verification

These packages are self-contained and unsigned. They passed automated native builds and packaged smoke tests, but have not received the same real-hardware coverage as the Windows release. See docs/PLATFORM_TESTING.md and report problems through the platform test issue form.

MeshMill 0.1.2 for Windows

Choose a tag to compare

@github-actions github-actions released this 05 Oct 05:55

Windows download

Most users should download MeshMill-0.1.2-windows-x64-setup.exe.

  • Installer: normal Windows installation with Start menu and optional desktop shortcuts.
    Upgrades preserve settings and shortcut choices; uninstall removes MeshMill preferences.
  • Portable ZIP: no installation. Extract the complete ZIP, then run MeshMill.exe.
  • Sample STL: optional large test geometry for experimenting with MeshMill.
  • SHA256SUMS.txt: checksums for verifying downloads.

These packages are self-contained. Python, Node.js, and development dependencies are not required.

Linux and macOS downloads are published separately as clearly labeled preview releases.