1.83
2023-10-24
file: fix boolean operation corrupting mesh (issue only revealed when reloading the project)
file: detect obj and stl even if the file extension is missing
tube: add per point profile
tube: fix snapping option when creating a new tube
tube: improve snap alignment (profile view aligned with gizmo)
tube: add profile presets
curve: fix bspline broken sampling around the end points
repeat: prevent negative radius (negative scale)
gizmo: Move To Origin option now centers the current gizmo pivot instead of geometric center
hole: edit world space value instead of radius ratio
mask: world space thickness slider
1.82
2023-08-13
stylus: fix pencil being off pointer when sculpting
pivot: improve pivot of tube and curve repeat node when using the snap option
bake: fix crash if object is instance
reproject: fix crash if object is instance
1.81
2023-08-11
split: fix line split
autosave: fix corruption when auto saving during a background operation (decimate, voxel remesh)
shortcut: fix conflicts between sub and camera shortcuts
repeat: fix curve repeat with twist (1 handler mode)
insert: fix insertion orientation if underlying matrix is flipped
insert: fix insertion orientation if underlying material has inverse culling enabled
tube: fix snapping sometimes being ignored when editing a tube
tube: improve a bit gizmo orientation on flat surface
1.80
2023-08-01
twist: fix spiral mode along with closed tube
twist: fix curve twist gizmo UI handler being sometimes blocked
boolean: add polygonal boolean
boolean: trim tool has now a proper boolean option
curve: Improve curve fitting algorithm to generate less points when hand-drawing curves
decimate: improve quality (easier removal of long thin triangle)
snap: use scene pivot only if the scene scene is visible on screen
snap: flip wasn’t working properly in some cases
postprocess: add dithering option (should be disabled when rendering an image with lot of flat color and no shading)
dynTopo: fix crashes when using dynTopo with connected topology and lock stroke mode
layer: fix trim or voxel remeshing duplicating too many layers when filling holes
render: fix incorrect fov during when rendering with non screen ratio
silhouette: view mode now works properly is the mesh is transformed
interface: improve performance when display many resources (alphas, textures)
depthMasking: fix top and bottom area filtering
project: fix saveAs new automatic renaming to not override existing project
1.79
2023-07-30
# 1.79
Beta can usually be tested at [nomad - WebAssembly ](https://nomadsculpt.com/demo/)
twist: fix spiral mode along with closed tube
twist: fix curve twist gizmo UI handler being sometimes blocked
boolean: add polygonal boolean
boolean: trim tool has now a proper boolean option
curve: Improve curve fitting algorithm to generate less points when hand-drawing curves
decimate: improve quality (easier removal of long thin triangle)
snap: use scene pivot only if the scene scene is visible on screen
snap: flip wasn't working properly in some cases
postprocess: add dithering option (should be disabled when rendering an image with lot of flat color and no shading)
dynTopo: fix crashes when using dynTopo with connected topology and lock stroke mode
layer: fix trim or voxel remeshing duplicating too many layers when filling holes
render: fix incorrect fov during when rendering with non screen ratio
silhouette: view mode now works properly is the mesh is transformed
interface: improve performance when display many resources (alphas, textures)
depthMasking: fix top and bottom area filtering
project: fix saveAs new automatic renaming to not override existing project
1.78
2023-06-16
trim: fix crashes
repeat: fix performance when validating many instances
bake: fix baking for objects with big bounding boxes
1.77
2023-06-16
primitive: popup menu with topology control
primitive: fix undo state not being recorded in some cases
randomize: symmetry supported
randomize: fix falloff for random samples
dynTopo: improve performance for global remesh
dynTopo: fix many issues with undo crashes
dynTopo: global remesh now supports non uniform scale correctly
dynTopo: reorder triangles when converting a mesh into dynTopo (better performance)
reproject: reprojection now reads color, roughness and metalness texture data
baking: texture baking now reads color, roughness, metalness, opacity and emissive texture data
material: texture transform are now synchronised by default
stroke: skip the first sculpting operation when resuming a brush stroke (snap radius on)
stroke: expose sampling radius for position and normal (Filter sub menu)
stroke: add depth masking option (Filter sub menu)
stroke: add keep sharp edges (Filter sub menu)
move: add silhouette option
resources: add replace button for images resources
resources: tool preset can now have custom icon
mask: switch from 8bit to 16bit (avoid step artefact with high poly and masking)
extract: improve border smoothing
extract: possibility to smoothing everything, not just the border
extract: add edge loop on the border of the extraction for better uniform density
extract: add thickness uniform checkbox, to decide whether the mask should modulate the thickness or not
triplanar: use face interpolation instead of vertex interpolation for low res painting
triplanar: plane solo mode now snaps the camera automatically
curve: add twist option
curve: add spiral option
repeat: curve repeater respects instance count value even with custom radiuses
gizmo: mask transform supported with multiple mesh
postprocess: add presets
interface: fix performance issue with drop shadows
shape: 2d shape drawn on screen can be edited after the end of the stroke
voxel: fix 64bit version (when resolution is high, usually greater than 1625)
render: fix transparent export (black border)
join: keep uv even if one of the joined object has no uvs
camera: flip the camera according to the scene center instead of the camera pivot
history: fix some undo and redos crashes
inspector: debug uv mode button renamed as inspector with a bit more control
snap: cube icon were partially rendered depending on screen size
decimate: fix crash happening with uv mesh and non uniform scale and with parts without uvs
gltf: fix some issues when loading the legacy glb.lz4 format
instance: when joining multiple instances, keep the layers synchronised
remesh: add Instant Meshes quad remesher
images: greyscale images were sometime incorrectly loaded
1.76
2023-03-01
obj: fix vertex color space selector
stroke: add randomize option
interface: split stroke options into sub menu
save: saving new file was wrongly opening a project popup
layer: fix layer being corrupted when sculpting with offset greater than one
1.75
2023-02-27
stylus: fix stylus not working for light/primitive editing when stylus sculpt only option is used
spot: intensity slider was missing from contextual popup
shadow: objects with no shadow casting are now ignored from shadow map maximum range precision
shadow: adjust shadow map resolution depending on the number of shadows (min 512, max 1024)
paint: add roughness and metalness slot for stroke painting
paint: material preset can now be selected, cloned a bit more easily (for now the texture are not saved, only color rough and metalness)
uv: debug channel improvements and bug fixes
material: opacity texture now supported for refraction and subsurface, it will be used as dithering
multires: if max frame sampling is set to 0 or disabled, the mesh wasn’t render to its highest level
history: fix crash when undoing lot of operations with dynamic topology with layer operations
camera: update snap cube with more options (tap twice on the same face will flip the camera, small external rectangle will refocus the camera)
1.74
2023-02-19
scene: add an option to inject new node on the gizmo position
scene: scale and skew ignored when adding a node on the gizmo position
baking: fix overall quality
baking: add opacity baking (from mask data)
light: add contextual panel for faster tweaking
light: fix temperature colorspace
repeat: fix curve saving in some case
repeat: prevent gizmo and repeater widgets being both visible at the same time
primitive: prevent gizmo and viewport widgets being both visible at the same time
uv: extra viewing options
cylinder: fix radius button
box: fix density not being adjusted when scaling on 1 dimension
interface: fix left handed broken popup (gizmo angle, etc)
matcap: fix import
1.73
2023-02-17
gltf: fix export
1.72
2023-02-16
stroke: connected topology now considers mask as unconnected topology
delLayer: fix alpha being ignore with painting
delLayer: force non accumulate mode, which give much better alpha stability
gizmo: remove world button instead add a reset align to the pivot mode
gizmo: add pin mode (pivot stays still when you switch between objects)
curve: align feature for repeater curve
curve: add scale control for repeater curve
array: add fit option to insert objects instead of appending them
scene: when adding new lights or cameras, put them them in their own respective group
interface: fix bug when a slider is interacted while a help popup is opened
decimate: quality should be consistent no matter the mesh coordinates scale
interface: fix duplicate cancel button
gltf: fix texture not being exported correctly
baking: handle UVs outside 0-1 range
heightmap: improve render export quality when debug heightmap option is enabled
1.71
2023-01-17
file: new internal file format, .nom instead of glb.lz4 (compressed lz4), should be faster
material: fix emissive channel
material: add intensity slider for emissive channel
material: ignore alpha channel for texture preview (except for color slot)
texture: mipmap saving fixed
texture: correctly save metalness if roughness is not present (and vice-versa)
dynTopo: try to keep sharp edges intact when decimating
dynTopo: non manifold triangles should stop appearing if the surface is manifold
dynTopo: generate less intersected triangles
stroke: fix offset issue
stroke: add small falloff preview
symmetry: multiple radial now supported (/!\ use low value)
symmetry: gizmo now supports radial and multiple plane symmetry
decimation: reduce memory peak usage (can avoid crashes in some cases)
matrix: fix dynTopo, DelLayer and Layer behaviour if the object has skew or non uniform scale
curve: fix spline closed repeat curve node positioning
layer: painting could lose quality when loading/saving frequently (glb export was fine)
mask: fix potential extract crash with shell enabled and smoothness at 0
voxel: try to keep consistent flip culling parameter if the base voxelised mesh was flipped inside-out
color: vertex color are now packed with rgbm instead of rgb10 bit (less banding, especially on the dark)
triplanar: fix masking symmetry
postprocess: color grading now shows the unselected channel in the overlay widget
pressure: add smoothing average option
1.70
2022-11-28
files: fix obj export (textures)
1.69
2022-11-27
ios: better support with multitouch and pointer hovering (mouse, trackpad, pencil)
file: fix glTF export with skew in transform
view: hierarchy line view tool setting now respected
keyboard: fix bug with unrecognized key (scancode based)
subsurface: fix bug when a far away light is pointing away from the mesh
render: fix broken shadows
mask: extract bug when the mesh has non uniform scale or skew
texture: bake from another hires mesh (color, roughness, metalness, normal map)
texture: can import texture (material menu)
voxel: fix result when main object has non uniform scale or skew
smudge: fix behaviour when main object has non uniform scale or skew
gizmo: masking pivot now saved (and should be retained when undoing)
gizmo: smooth normals are now updated correctly using gizmo with vertex mode
1.68
2022-10-24
ios: fix traditional chinese being ignored (again…)
file: fix critical bug (crash at loading when nomad files are dropped inside the Nomad folder)
mask: mask extract now retains material and symmetry pivot
mask: fix pivot position when using extraction
mask: extraction retains UVs
interface: gizmo and transform clone/instance button can now be held
interface: offset menu panel if the side toolbar requires a second column (gizmo pivot, snap angle, etc)
voxel: fix remeshing inside hierarchy
voxel: remeshing output had sometimes the faces flipped
uv: switch from half float to quantised 16bit integer (better quality)
layer: extraction retains UVs
1.67
2022-10-21
ios: fix traditional chinese being ignored
voxel: fix voxel when remeshing multiple mesh inside a hierarchy
voxel: fix intersection mode (all objects hidden)
project: save/load custom pivot
tube: missing last division in y (lathe as well)
triplanar: two sided wasn’t forced on the planes
gizmo: auto positioned pivot if the mesh has masking
symmetry: fix crash when displaying the symmetry and deleting the last mesh on the scene
scene: long press will only move the pressed item, unless the long press occurs on the primary selected item
1.66
2022-10-18
ios: fix app language not being respected in some special case
ios: add touchpad and mouse scroll support
scene: add scene hierarchy
scene: lights and cameras exposed as scene node
scene: add instancing
scene: add Repeat nodes: mirror, radial, array, curve
scene: repeat nodes replaces the previous system for primitive mirroring, and can be used for any mesh
textures: roughness and metalness textures are correctly saved when imported from Procreate
textures: obj can export textures and mtl files if the model has previously imported textures
textures: improve specular glossiness texture support when importing glTF or glb
textures: fix colorspace when importing PNG images with gAMA 1.0 attribute
textures: use the alpha channel of the color texture as transparency
textures: unlit mode now use color and alpha textures
textures: matcap mode now use alpha and normal textures
textures: support gltf uv transform
textures: support gltf texture sampler
shadow: fix shadows being non consistent when using the perspective camera
shadow: fix artefact when a light was currently selected
shadow: add softness slider
shadow: add contact shadow
shadow: add experimental screenspace shadow as an alternative to shadowmaps (spot, directional, point)
render: allow multiselection material editing
render: add subsurface scattering material
render: add reflectance slider per material (f0 specular for non-metallic materials)
render: add experimental ssgi (screen-space global illumination)
render: less banding when rendering screenshot with transparent background
render: less banding on dark tones
render: synchronise environment exposure when switching between them
render: add a neutral tone mapping and use tweak the ACES one
render: add pixel art postprocess
render: add scanline postprocess
render: add Object-ID color shading mode
matcap: add new matcap (from blender CC0 call for content)
matcap: improve quality for a few matcaps (banding removal, jpg artefacts, etc)
matcap: keep higher quality for 16 bit matcaps (~10/11 bits precision in practice)
mask: no need to hold shortcut to trigger sharp and blurring shortcuts (simply tap on masked area)
mask: hold finger to trigger lasso masking
tool: add new tool (lasso selection)
smooth: hold to lasso select multiple objects
undo: stylus is ignored when dealing with multi-touch gesture (accidental undo)
undo: long press 2 fingers to undo continuously
redo: long press 3 fingers to redo continuously
layer: channel masking can now be used with layers (e.g. paint only roughness, etc)
layer: fix missing history recording when entering factor manual input
gizmo: fix camera-plane translation not working incorrectly
gizmo: allow value dragging in gizmo menu
transform: improve the snap feature
transform: control are now optimised with snapping in mind
matrix: if the object has skew/shear, it will be displayed in the matrix menu
matrix: no more automatic baking when using shear/skew or non uniform scale with the gizmo
matrix: note that sculpting with mirroring might not work as expected if the object has shear/skew
file: more robust triangulation if obj model has ngon
file: more robust obj loader (merge obj group if they share the same material)
file: gltf can now export layer normals and it respect smooth shaded attribute
file: gltf export unlit attribute
interface: localised in 14 languages (to keep english, go in Nomad About menu)
interface: hex color input is always in srgb (internal usage for material is linear)
interface: add key binding customization
interface: many small improvements
stroke: screen project supports pen pressure
stroke: add alpha rotation option (and option to lock brush rotation)
trim: protect masked area if flip mode is activated
preset: add reload option for tool preset
dyntopo: fix global remesh polygon distribution (if mesh was not dyntopo)
hdr: fix hdr processing (bugs on certain devices)
primitive: tap on handlers for manual input
voxel: use much less memory to avoid crashes
1.65
2021-11-23
ios: fix open with feature when Nomad is not yet opened
android: import popup can now load multiple files
light: fix fourth light being ignored
render: fix rendering bug when adding a light in certain conditions
primitive: fix crash when validating mirrored box and sphere if Debug Primitive UVs is activated
insert: fix rotation interaction when the object has custom gizmo and is not centered
texture: support read-only (no editing) textures from obj (procreate) and glTF
flatten: add experimental options
file: fix crash when saving model with UVs
file: fix material library being emptied out in some rare occurence
file: fix glb loading potentially corrupted from 1.62 and 1.63
1.64
2021-11-13
voxel: fix remesh
1.63
2021-11-13
ios: fix startup crash on iOS 12 and 13
uv: collapse small edges automatically so that uv unwrap has more chance of succeeding
interface: keep dot and circle colors when sculpting
outline: fix artefacts when using outline on a mesh with hidden masked areas
trim: fix rare crash when using plane trimming
voxel: fix crash when saving a file just after a voxel remesh in certain condition
heightmap: fix color space
1.62
2021-11-11
uv: improve experimental support (enable in Debug menu, unwrapper in Topology … menu)
clay: add flatten offset parameter
layer: fix extract feature (keep transform)
eyedrop: fix color issue with background
render: fix render bug when adding a point light (jaggy shadows, etc)
heightmap: improve quality of heightmap debug feature (banding)
gesture: add three finger vertial drag to edit radius
split: add front vertex option (fix mask behavior as well)
gizmo: fix rotation on primitive with non uniform scale
voxel: add sharp edges option
voxel: remesher is now using less memory and is a bit faster
primitive: fix cylinder radius handler not being positioned correctly
primitive: no transparency for mirrored mesh when using the View tool
render: use cubemap for environment instead of octahedral (less artefact on sharp background)
render: improve refraction support when depth of field is enabled
file: support multiple file loading when importing from Nomad
file: fix random crashes when importing image files
file: keep objects separate instead of merging them when loading/saving obj files
1.61
2021-10-13
background: fix reference image color issue
1.60
2021-10-13
ios: allow more memory usage for M1 iPad Pro
ios: improve drag n drop support (object file only)
primitive: fix radius icon for cylinder and tube being disabled (if lathe tool was used)
mask: fix accumulate behaviour when it is disabled
insert: allow sculpting on cloned object (if the base object is not a primitive)
project: add “Export selection only” to internal “Save as”
light: modal popup for editing parameters
layer: add extract feature
tube: fix radius being clamped (slider only)
1.59
2021-09-17
interface: fix button being wrongly selected when scrolling on left panel (e.g: insert, trim)
smudge: fix behavior when symmetry is activated
misc: fix crash when opening paint menu after adding primitive