Skip to content

Releases: ContributionRich/Narwhal3D

Narwhal 3D 0.4.7

Narwhal 3D 0.4.7 Pre-release
Pre-release

Choose a tag to compare

@ContributionRich ContributionRich released this 28 Oct 00:49

Narwhal 3D 0.4.7

An early prerelease for Linux and Windows, with the redesigned light/dark workspace and modeling fixes since 0.4.6.

Downloads

  • Linux x86_64: Narwhal_3D-0.4.7-x86_64.AppImage — make executable and launch. All 290 bundled ELF files require GLIBC 2.28 or older; normal desktop and graphics-driver dependencies are still required.
  • Windows x86_64: Narwhal_3D-0.4.7-Windows-x86_64.zip — extract the entire folder, then run Narwhal3D.exe. Keep its adjacent folders intact. This is an unsigned portable preview, not an installer; SmartScreen may require review.

UI and rendering

  • Redesigned workspace with grey light-mode viewports and a charcoal dark mode; theme switching works without restarting.
  • Completed contextual toolbars, labelled inspector tabs, Layers controls, object-snap checkboxes and status controls.
  • Improved sidebar hover descriptions, alternate-action help, flyouts and visible draggable scrolling.
  • Viewport menus open only from the title arrow; double-click a title to maximize or restore.
  • Theme-aware Bug Report, AI Assistant, AI Settings, Print chrome and native welcome. Printed paper remains white.
  • Settings persist across launches, including theme, UI choices, snapping, gumball and supported AI/Print preferences. Credentials themselves are not saved.
  • Cleaner pixel-filtered grids, antialiased curve previews, aligned artwork/text and corrected icon color handling.
  • Popups and tooltips draw above viewport separators rather than showing seams through them.
  • Restored Delete, improved command-field editing, consistent tolerance menus, and prompt-colored command options that turn blue on hover.
  • Polished gumball controls and removed passive tooltips. Layer color pickers start with HSV Value 255.
  • Fixed the high-DPI desktop-startup layout producing extra viewports.

Modeling

  • Fixed the last-minute gumball bug: curves extruded with the gumball can now be scaled with it after display. Scaling uses a detached exact master without inherited display triangulation; smooth geometry, recipes and Undo remain intact. Failed transforms no longer claim success.
  • Ctrl+Shift Segment/Edge inputs work for Sweep1/Sweep2 rails and sections, plus non-destructive component inputs for Loft, EdgeSrf and PlanarSrf.
  • FilletEdge has line/section previews and draggable or numeric radius controls, including independent endpoint radii where supported. Invalid candidates are rejected; unsupported contour cases report their limitation.
  • Loft supports multiple ordered curves, alignment and Normal/Loose/Tight/Straight/Uniform styles.
  • SrfPt creates exact three- or four-corner surfaces.
  • Rust-backed CageEdit supports points, curves, meshes and untrimmed surfaces. Unsupported trimmed surfaces and solids remain explicitly unavailable.

Validation and limitations

  • Full source suite passed, including all six manufacturing-geometry audit gates and mutation-tested regressions.
  • Both final archives passed source/native inventory, checksum and extracted-package checks. Actual mouse-driven gumball extrusion → scaling and Undo were tested on both platforms.
  • Linux GUI acceptance used NVIDIA/OpenGL; a pristine Ubuntu desktop and every optional GPU backend were not tested.
  • Windows GUI acceptance used Mesa llvmpipe software rendering inside WinBoat because its virtual display driver lacks suitable OpenGL. This is not physical-GPU certification. The temporary test driver was removed and is not shipped.
  • Both assets are unsigned. Windows installer/file associations, complete internal runtime PE branding, and physical-GPU acceptance remain open.
  • Some advanced modeling options remain unavailable. Cross-version equivalence of older unversioned local-move recipes is not established; keep backups of important models.

Source and integrity

Both assets were built from tag v0.4.7, commit 94534c954dc77f1f1d22f2be6064bedcc8cd1f5b, source epoch 1793144099. A documentation-only follow-up on main records final platform evidence; it does not change the packaged source identity.

Asset Bytes SHA-256
Linux AppImage 437,832,184 6097aa60cdc8702e59370f83b66d13a6de42da2c3b10c0a4cc3cded753cd67a9
Windows ZIP 355,197,176 23015f7338358f7fd62fcabada325bd615d06f0eb9f0898cac3279d0eb638290

Matching .sha256 files are attached. Checksums verify integrity, not publisher authentication.

Narwhal 3D 0.4.6

Narwhal 3D 0.4.6 Pre-release
Pre-release

Choose a tag to compare

@ContributionRich ContributionRich released this 25 Oct 18:42

Changes from 0.4.5

Added

  • Every part of every kind of solid can be moved. Points, edges and faces on cylinders, cones, tubes, extruded circles and ellipses, spheres, tori and faces with holes were previously refused.
    • A wall that closes through a seam is rebuilt as the exact ruled surface between its rims; a cylinder whose top slides sideways becomes an exact oblique cylinder.
    • Faces with holes are rebuilt as one smooth surface that keeps every hole.
    • Cone tips and sphere poles move, stretching the surface smoothly.
    • Moving a circle's single point carries the whole circle; a move that carries every vertex translates the solid exactly.
    • A test covers 20 kinds of solid with every part moved in six directions (2,094 moves). One known refusal remains: a sideways pole stretch of an ellipsoid, which OCCT's self-intersection check cannot certify.
  • Open surfaces and polysurfaces can be edited too, not just solids. Planar surfaces (with or without holes), lofts, edge surfaces, Sweep1, Sweep2, open pipes, open extrusions, open cones and partial revolves previously refused every move. Each edit is sewn back together and must keep the same boundary. A curved wall between two rims keeps its curvature when one rim moves, so a bent pipe stays bent and a revolved arc keeps its bulge. A new test covers 15 kinds of surface (1,008 moves).
  • Revolve is exact. A revolved curve is now a real OCCT shape with a replayable recipe, so it can be moved part by part, booleaned, exported and reloaded exactly. A full turn of a closed profile becomes a closed solid. An open cone (Solid=No) is now exact as well.
  • Extrusions of profiles with any number of segments are fully editable. Caps with more than six edges were refused before, so profiles with arcs (for example a keyhole) could not move anything across the cap plane. Tangent arcs stay tangent when a shared point moves.

Changed

  • A lifted point on an extrusion cap rebuilds the cap as one smooth exact NURBS surface over its original plane instead of a folded patch. Lines and arcs on the cap stay analytic, and on the reported model the cap area matches the reference result within 0.1%.
  • Finished moves are certified best-first, which brings a lifted fillet face from about 9 s to under 1 s.
  • Edge-length and volume measurements use adaptive integration, which is accurate for rational B-splines.
  • The Revolve command reports a clear message instead of failing when a curve cannot be revolved exactly.
  • Every native Narwhal component in the AppImage is now built in a glibc 2.28 container, so the whole package requires at most glibc 2.28 (0.4.5 needed 2.35 for some components).

Fixed

  • Point edits on six-edge extrusion caps no longer freeze the window on release (the reported solve dropped from about 14 s to about 1.2 s).
  • Sequential point edits on a curved cap stay smooth and fast: a second point can be moved, moving a point back no longer folds the cap (which took 7–15 s), and the solid check no longer stalls (one edit took 139 s). Edge tolerances no longer grow with each edit, and models saved by earlier builds still rebuild exactly.
  • Curved faces, edges and vertices on exact extrusions now go through the certified exact local-move core instead of blanket refusals.
  • Live Gumball extrusion previews work again, and an unexpected candidate failure no longer breaks the drag.
  • The welcome window's update check no longer gives up after four seconds on a slower connection (it failed about half the time on an ordinary home connection), and a failed check now logs its real cause.

Packages and validation

  • Linux x86_64 AppImage and unsigned Windows x86_64 portable ZIP, both built from audited public source commit 5a40d6d1eee16b26f4e6b5714862c711cafad797.
  • The complete source test suite, including the analytic representation/coherence/round-trip gates, passes, and the Linux real-window UI suite passes 28/28.
  • The AppImage passes the independent extracted-image verifier; every bundled ELF requires at most glibc 2.28. A real launch shows the native welcome window and a successful update check.
  • The Windows directory and ZIP verifiers pass. Inside Windows, the extracted final ZIP's launcher version and headless routes exit 0, and the packaged exact geometry core passes the surface-movability test.
  • Windows remains an unsigned early portable preview, not an installer; SmartScreen may require More info → Run anyway. Physical-GPU Windows acceptance (the test VM lacks OpenGL 2.0), file associations, signing and complete internal runtime resource replacement remain open.

Narwhal 3D 0.4.5

Narwhal 3D 0.4.5 Pre-release
Pre-release

Choose a tag to compare

@ContributionRich ContributionRich released this 23 Oct 22:25

Changes from 0.4.4

Added

  • Added exact Rust/OCCT local movement for box faces, edges, and vertices; repeated edits of resulting curved NURBS solids; axial cylinder caps; and axial circular cylinder rims.
  • Sweep1 and Sweep2 rail prompts now accept exact analytic/NURBS edges selected directly from surfaces and solids—never viewport meshes.
  • Grid Snap now applies to Gumball translation independently of object snapping, including native U/V/W lattice snapping for free three-dimensional Perspective movement.
  • The native welcome window now checks GitHub releases asynchronously after first paint, shows concise release news, and offers an explicit SHA-256-verified update action.
  • AppImage updates replace the current package atomically. Windows portable updates validate ZIP paths, types, duplicate names, expansion bounds, and reparse points before staging; installation waits for Narwhal to exit and retains rollback recovery.

Changed

  • Point, edge, and face drags now use a complete prospective boundary wireframe rather than repeatedly rebuilding an expensive shaded solid; exact manufacturing geometry is solved once on release.
  • Post-edit display now shows only real analytic BRep boundaries. Experimental fake midpoint U/V surface lines were removed.
  • Direct editing prefers a smooth exact result whenever one exists, while allowing a real NURBS crease only when no smooth candidate exists and every exactness, topology, validity, self-intersection, and airtightness certificate passes.

Fixed

  • Restored live drag previews for points, boundary curves, and faces. Edge previews translate the selected real edge and stretch every incident real boundary from both moved endpoints.
  • Fixed Grid Snap flattening point/edge/face movement onto the bottom plane in Perspective.
  • Fixed Gumball translation so Grid Snap moves by grid increments.
  • Fixed axis-constrained command stages such as Box height becoming impossible to complete with Grid Snap enabled; the shared correction also covers Cylinder, Cone, Extrude, and other axis-distance prompts.
  • Fixed the crash when scaling an exact solid after moving one of its points by avoiding OCCT's unsafe optional ShapeFix_Shape recognition pass while still requiring valid, airtight transformed NURBS.
  • Rebuilt deferred Scale1D, Scale2D, and Scale3D commits from canonical double-precision drag state instead of accumulated float32 preview matrices.
  • Exact local_move results remain editable on later operations rather than falling into the generic “curved solid is not implemented” refusal.
  • Faces, edges, and vertices on repeatedly edited and selectively filleted curved NURBS solids now move through the certified native OCCT core with deterministic recipe replay.
  • Points, boundary curves, and the whole surface of standalone one-face Sweep1 BReps can now move while remaining one valid exact open face.
  • Selective fillet/chamfer recipes now persist geometric edge signatures instead of unstable topology indices.
  • Fixed sub-tolerance UV trim endpoint round-off in source-built .3dm output while preserving exact 3-D edges and surfaces.
  • Normal development launches now discover source-built Rust cores when packaged runtime copies are absent.

Packages and validation

  • Linux x86_64 AppImage and unsigned Windows x86_64 portable ZIP are built from audited public source commit 9b21bfdc2bc5b387d016c1fc1e2ee01b3fa78932.
  • Complete source tests and analytic representation/coherence/round-trip gates pass; Linux real-window UI passes 28/28.
  • Windows native version/headless package routes and offline Wine version/headless routes pass. The Winboat VirtIO/Remote Display adapter still lacks OpenGL 2.0 for rendered-window acceptance—the same measured limitation as 0.4.4—so physical-GPU Windows acceptance remains pending.
  • Windows remains an unsigned early portable preview, not an installer. SmartScreen may require More info → Run anyway. File associations, signing, complete internal runtime PE resource replacement, and physical-GPU acceptance remain open.