Repository navigation
Links: Homepage - Discord - Issues - Documentation - Binaries (Windows and Linux) - Youtube
Warning
Hesiod, currently in its developmental phase, is being released as a Free and Open Source Software (FOSS). The application is currently unstable and subject to frequent changes. Feel free to explore its capabilities, contribute to its development, and provide feedback to help shape its future iterations.
Hesiod v0.6.0 Release Notes
Hesiod v0.6.0 is a major release featuring an overhauled UI design system, an automated crash recovery & autosave system, unified & brand-new terrain generation nodes, high-DPI fractional scaling support, batch export progress tracking, and a completely restructured documentation website.
🌟 Highlights
💾 Autosave & Crash Recovery
- Automatic Project Snapshots: Added
AutosaveManagerto periodically take atomic background recovery snapshots of open projects without interrupting workflow. - Startup Recovery Prompt: When launching after an unexpected crash or termination, Hesiod detects deferred recovery snapshots and prompts to restore your unsaved work.
- Configurable Settings: Toggle autosave and set snapshot intervals in Application Settings (
enable_autosave,autosave_interval_s). - Unsaved Changes Guard: Added prompts when closing or loading projects with unsaved modifications.
🎨 Refined "Industrial Design" UI & High-DPI Scaling
- UI Refresh: Clean, modern, high-contrast dark theme with streamlined headers, collapsible attribute categories, and consistent typography.
- Fractional DPI Scaling: Resolved cursor offsets, missing panels, stale graph outlines, and popup menu hover trails across fractional interface scales on Linux and Windows.
- Node Settings Toolbar: Added a 9-button quick-action toolbar to the node properties panel (reload, reset, preview, center, etc.).
- Node Library Palette: Redesigned node browser with category color coding, smooth hover/flyout animations, drag-and-drop node instantiation, and persistent panel width.
🧩 Node Additions & Consolidations
New Nodes
Circus: Generates glacial cirques and bowl-shaped amphitheater landforms based on HighMap primitives.ValleyHead: Generates realistic mountain valley heads and glacial amphitheaters.Jagged/JaggedFbm: Applies customizable jagged/fractal-edge displacement with amplitude preservation.LooseSymmetry: Introduces directional and polar symmetry operations with customizable center flattening.ColorizeBivariate: 2D bivariate color mapping with dedicated sharpness and color ramp controls.PolarShape: Generates procedural polar-coordinate shapes and profiles.SpectralEqualizer: Frequency-domain equalization and spectral filtering for heightmaps.StrataPlates: Procedural tectonic plate strata and layered terrace generation.DepositionFillHoles: Dedicated depression filling and sediment deposition filter.CoastalFetch: Calculates wave fetch and wind exposure along coastlines.Compare: Visual and numeric difference comparison between heightmap inputs.WaterElevationFromDepth: Converts water depth maps into absolute terrain water surface elevations.TextureSelectColor: Color-key masking and selective texture isolation.AreaRemove: Removes isolated heightmap features or islands below a size threshold.
Consolidated & Upgraded Nodes
CoherentNoise: Consolidated individual noise nodes into a single, unified procedural noise generator.PathResample,PathNoise,PathTransform: Unified and streamlined all path modifier workflows into dedicated transform/resample nodes.Bump: Merged standardBumpandBumpLorentziannodes into a unified primitive.FlowFixingMST: Added midpoint pathfinding options and midpoint offset ratio controls.FlowSimulation: Added full-resolution computation mode and automatic removal of small residual water pools.SnowSimulation: Enhanced realism and deposition stability.DirectionalBlur: Upgraded to high-performance GPU execution.Equalize: Added a reference heightmap input for direct histogram matching.TextureTransform: Added UV scaling parameter support.
📤 Export & Import Improvements
- Batch Export Execution State: Real-time per-node progress bars and visual execution statuses during multi-node batch export.
- Filename Templates: Support for customizable filename template tokens and predefined metadata fields in export nodes.
- EXR 32-bit Float Support: Native OpenEXR range-preserving import and export support for heightmaps.
-
Export Framing & Options: Added options to force
$2^n$ or$2^n + 1$ dimensions, flip X/Y axes, and export masked sub-regions. -
Robust Import: Added safeguards preventing crashes when loading unknown or corrupted file formats in
ImportHeightmapandImportTexture. - Flatten Export Dialog: Added aspect-ratio controls and coordinate frame origin fixes.
⚡ Performance & Core Engine
- OpenMP Settings: Exposed OpenMP thread pool configuration in application settings for multi-threaded node execution.
- HighMap Submodule: Synchronized and optimized erosion algorithms, hydraulic stream logging, range queries, and memory access patterns.
- Compile Time Optimization: Cleaned up header dependencies using IWYU (Include-What-You-Use) and optimized build targets.
- Graph Editor Refactoring: Extracted
GraphEditorandGraphWorkspaceWidgetarchitecture, decoupling node proxies from the core data model.
📖 Documentation Overhaul
- Material for MkDocs Theme: Modernized documentation with searchable literate-nav and category-grouped summaries.
- Core Concepts Section: Comprehensive deep dives on Heightmaps & Virtual Arrays, Broadcast & Receive Routing, Masks & Selectors, Tiling & Overlap, and an interactive Glossary.
- Interactive Guides: Added "Patch of Graphs" workflow guides, node reference pages with parameter tables and diagrams, and user manual expansions.
🐛 Bug Fixes & Stability
- Fixed application crash on Linux with Qt6 in
QTerrainRenderer. - Fixed node deletion and brush array loading crashes on degenerate arrays.
- Fixed color shift issues in
TextureAdvection. - Fixed missing model creation when dropping connections in the graph editor.
- Fixed CLI batch mode execution issues in headless environments.
- Corrected East/West orientation gizmo in 3D viewport.
- Restored signed slider ranges and corrected legacy attribute serialization in multi-group nodes.
- Fixed AppImage packaging and Nix build dependencies.
New Contributors
- @barrulus
- @Leonhardmaster2
- @Pazelock
- @PatchByte is back!
Full Changelog: v0.5.2...v0.6.0