Minor·

Natsura 0.6.1.0

Unified effector and mapping shape, assemblies workflow 1.0, picker UI, cook trigger purge, rigged Nanite export

Back to Changelog

Unified effector and mapping shape, assemblies workflow 1.0, picker UI, cook trigger purge, rigged Nanite export

  • Effectors: unified multiparm shape shared with assembly decoration; picker UI for effector slots; up-vector control (orbit, align, flatten); same effector assignable multiple times to one node with different responses and maps.
  • Assemblies: workflow finalised at 1.0 (import → rig → classify → decorate); rigged Nanite skeletal assembly export to Unreal wired end-to-end; random part selection retired, distribution is mapping-only; tested at very large library scales.
  • Performance: cook triggers removed from outside-cook code; spans panel 4Hz → 1Hz heartbeat; toolbar redraw churn reduced; toolbar actions no longer write prefs. Stale channel refs are the next active bug class.
  • UI: 2-parm portable mapping form across the toolkit; picker UI replaces native add menus on map / decorator / effector slots; Natsura main menu + dev dropdown; display toolbar reorganised and context-sensitive; recipe spawn (no second cook on placement); native hotkeys; workspace panel with tear-off tabs; Guide replaces Tips Panel.
  • Grow 1.x, switch 1.0 and mappable_parms archived; existing hipfiles migrate on load.
  • natsura::grow::1.0, natsura::grow::1.1, natsura::grow::1.2 — use 2.0; pre-0.6 scenes migrate on load

Node Updates

  • Natsura Assembly Decoration — effector support via shared list
  • Natsura Assembly Decoration — flipping fix: face-gravity correction + unified rotation across opposing whorl elements
  • Natsura Assembly Decoration — mapping default range auto-picks
  • Natsura Assembly Decoration — random part selection removed; distribution is mapping-only
  • Natsura Assembly Decoration — sub-component rig support in classify
  • Natsura Assembly Edit — pivot and per-element tweaks, utility inside assembly resource
  • Natsura Assembly Pack — pack assemblies into instanced output, utility inside assembly resource
  • Natsura Assembly Resource — template + editing updates
  • Autocode Effector — utility for preparing effectors inside decorations
  • Natsura Bake — supersampling + seam handling
  • Natsura Build Assembly Rig — nearpoint-lookup autorigging with cycle removal
  • Natsura Classify — refreshes assembly_decoration multiparm on change
  • Natsura Classify — sub-component rig support
  • Natsura Classify — viewport-based attribute + group assignment
  • Natsura Clusters Decoration — deprecated this release; use assembly_decoration for module placement
  • Natsura Core Fetch — invalid string new parm ref removed
  • Natsura Core Fetch — Per-slot menus: unlink, duplicate, jump-to, replace
  • Natsura Core Fetch — Picker bucketing: already on this grow / on other grows / orphan
  • Natsura Core Fetch — Pickers replace menureplace add menus on map / decorator / effector slots
  • Natsura Core Fetch — Preview decorators (trunk_preview, leaf_preview) and intrinsic vectors in their own columns
  • Natsura Core Fetch — ~1,100 LOC Python + comparable DialogScript removed
  • Natsura Core Grow — opexist guard before object merge (no invalid-path spam)
  • Natsura Core Grow — removed invalid string new parm ref
  • Natsura Core Grow — stamps Natsura version on node for upgrade tooling
  • Natsura Core Simulate — cache-if removed where misfiring
  • Natsura Core Simulate — object-merge stack subnet
  • Natsura Core Simulate — profile outputs added
  • Natsura Create Proxy — outputs bounds / VDB / medial axis / particles; optional leaf removal
  • Natsura Direction Effector (Experimental) — uniform direction effector
  • Effector Template — template for ingesting effectors inside decorations
  • Natsura Execute Logic — All effectors prefixed experimental_ in tab menu while contract settles
  • Natsura Execute Logic — Ancestor effector reads vectors from parent, grandparent and further up the lineage
  • Natsura Execute Logic — dynamic invoke setup
  • Natsura Execute Logic — illegal-graph handling restored (regressed in 1068)
  • Natsura Execute Logic — parent_id → id_parent across schema
  • Natsura Execute Logic — Same effector assignable to one node multiple times, each with own response and map (for layered behaviours) Signal names collision-resistant; / → _ so paths work as names Rename tracked via channel ref to parm (was Python, brittle) Menus cached (too many to update live) Multiparm: fixed-size 32 slots across grow + assembly decoration
  • Natsura Execute Logic — Up-vector control: orbit, align, flatten — control the frame of growth, not just the heading
  • Natsura Export Unreal Nanite Assembly — Analytics opt-in, off by default
  • Natsura Export Unreal Nanite Assembly — Effectors prefixed experimental_ until contract settles across grow + assembly decoration
  • Natsura Export Unreal Nanite Assembly — Flatten + phyllotaxy controls are sensitive on perfectly upright branches — getting a flat layout of secondary branches off a near-vertical leader can produce unstable rotations. Perturbing the leader slightly off vertical works around it.
  • Natsura Export Unreal Nanite Assembly — Forking controls on grow are limited. Current parms don't cover all the branching cases artists want; wider controls planned for a later release.
  • Natsura Export Unreal Nanite Assembly — Houdini 20.5 and 21.0
  • Natsura Export Unreal Nanite Assembly — Maps plugged into decorations don't surface their attributes on the decorator parm UI. The map drives the value correctly downstream; only the parm-side attribute list is wrong.
  • Natsura Export Unreal Nanite Assembly — Nanite skeletal assemblies imported to Unreal can appear to have instances at the root in the skeletal mesh editor. Fix in-engine by switching preserve-area to voxelise; the issue also goes away if you spawn the tree as an instanced skinned mesh. Unclear if it's a Natsura-side or Unreal-side issue; continuing to investigate.
  • Natsura Export Unreal Nanite Assembly — Residual double / triple cooks on some scenes. Most cases were resolved by the cook-trigger purge; the remaining ones show up as duplicate cook markers in the editor log on what should be a single-cook edit. Root cause not yet isolated.
  • Natsura Export Unreal Nanite Assembly — Wind sidecar: <name>_wind.json alongside USD
  • Natsura Export Unreal Nanite Assembly — Wind tools experimental; not a runtime match for Unreal wind
  • Natsura Export Unreal Nanite Assembly — Wind tools experimental; not a runtime match for Unreal wind, just enough to see where the wind layers are while setting up the rig Natsura main menu dropdown + dev dropdown (dev tools out of the main menu) Display toolbar: reorganised, MMB scroll, dev moved to far right Display toolbar: context-sensitive grow / switch / split by graph-port count on current selection Toolbar dropdown: license key, update check, support info, projects, examples, docs Recipe spawn: trunk preview + empty decoration / effector slots + follow rows on placement; no second cook Native hotkeys (file-driven via Houdini's loader): toggle stowbars, pause cook Grow uses action button scripts instead of menu callbacks (faster, less script churn) Workspace panel: toolbar + guide / attributes / spans tabs, tear-off floating Python panels in folder structure; dev panels moved to separate dev project Guide (was Tips Panel): markdown format, search across names + content, prev/next, multiple libraries Multiparm right-click batch-set channel expressions Panel scene tracking moved to background service (Qt signals); spans and simulate-selector still poll for scoped state the service doesn't cover upgrade/v0_6/grow_nodes.py runs on load: migrates pre-0.6 effector slots, realigns follow rows, cleans orphan channel refs migrate_unified_effector_list: moves misaligned follow snapshots; clears obsolete effector_text_fields afterscenesave.py stamps hip with Natsura version Back-compat: pre-unification hipfiles load (graph_operation_count silently ignored, effector_list loads normally, per-row instance parms migrate) Cook triggers removed from outside-cook code (UI, menus, graph layer) No node.geometry() or cook-dependent parm.eval() outside cook Declarative state: parm rawValue / type metadata / userData; readers read declarations APEX-auto-from-sops: ad-hoc groups (groups not guaranteed to exist at that stage) Spans panel: 4Hz → 1Hz heartbeat (cheap signature check; full driver sweep only on change) Toolbar capability-fade + category-aware fade reduce redraw churn on prefs changes Toolbar actions no longer write prefs (was rebuilding toolbar on every prefsChanged, killing open dropdowns) Effector rename no longer breaks attribfromparms refs Auto-merge enable condition #-1 → # Surface decorator map refs cleaned via upgrade clear_stale_follow_depths widened (unified + legacy multiparm names) Trunk decoration skeleton on grow Decorator multiparm sorting Simulate display settings + colour source_radius copy-to-points parent_id → id_parent applied across core_grow.preview_code, assembly_decoration.editgraph1, simulate.POSTPROCESS, execute_logic.graph_process_main (all-or-nothing; partial application breaks the schema) Stale start = -0.041666666666666664 channel keyframes stripped Stale channel refs is the active bug class right now. Symptoms: parameters not updating after edit, slot values detached from their source, defaults reasserting unexpectedly. Sending us the scene is the fastest path to a fix.
  • Natsura Export Unreal Nanite Assembly — wired through fuse + skin chain
  • Natsura Fuse Tree Rig and Skin — utility for grafting tree skeletons, useful for grafting assemblies onto simulation
  • Natsura Grow — custom right-click menu replaces native
  • Natsura Grow — menuscript-driven live parm update; no OnInputChanged proliferation
  • Natsura Grow — orbit / align / flatten (up) modes on effectors
  • Natsura Grow — pack/unpack workaround for single-point-remaining decoration bug
  • Natsura Grow — recipe spawn populates trunk preview, decorator drag slot, follow rows on placement (no second cook)
  • Natsura Grow — tab menu spawns recipe
  • Natsura Grow — trunk decoration skeleton fix
  • Natsura Grow — unified effector_list multiparm (absorbed graph_operation_count)
  • identify_shared_instances — flat instanced structure for duplicates
  • identify_shared_instances — Pipeline tested at very large library scales
  • Natsura Import Assembly — bring assemblies in from external sources, internal utility of resource
  • Natsura Import Highpoly — SOP input from graph
  • Natsura Ingest Mappings (Experimental) — broken expressions cleaned by upgrade pass
  • Natsura Ingest Mappings (Experimental) — standardised parm refs
  • Natsura Map Blend (Experimental) — redundant map_if branch removed
  • Natsura Map, Natsura Map If, Natsura Map Blend (Experimental) — 2-parm shape
  • Natsura Mappable Parms (Experimental) — redundant under 2-parm mapping
  • Natsura Partition Assemblies — split large datasets into chunks for parallel processing, utility inside assembly resource
  • Natsura Pivot Edit — pivot adjustment of assemblies, utility inside assembly resource
  • Rig to Assembly — convert a rig to an assembly representation, experimental. go from simulation to assembly decoration.
  • Natsura Scan Extend Profiles (Experimental) — multitrunk extension
  • Natsura Scan Profiles (Experimental) — scatter-based rebuild
  • Natsura Scan to Parts (Experimental) — nearpt method replaces VDB (VDB kept breaking)
  • Natsura Simulate — bypass switch when no APEX graph present (no empty-cook errors)
  • Natsura Simulate — display settings + colour restored
  • Natsura Simulate — POSTPROCESS chain (attribwrangle, edgetransport, color)
  • Natsura Simulate — skeleton split out post-cook
  • Natsura Simulate — source_radius copy-to-points fix
  • SOP Create Nanite Assembly — rigged Nanite export wired end-to-end (grow → fuse → skin → export → USD)
  • Natsura Surface Decoration — 2-parm mapping shape
  • Natsura Surface Decoration — defensive hscript on map_blend
  • Natsura Surface Decoration — gather_controls thread-pool parms exposed
  • Natsura Surface Decoration — removed stale OUT_decorate_package ref
  • Surface Wizard — internal cleanup
  • Natsura Switch — map-driven gates respect 2-parm shape
  • Natsura Switch — use 1.1
  • Natsura Trunk Decoration — 2-parm portable form: {name} + {name}_map, shared execute_mapbutton action (handles promote, unlink, replace from either parm) All map expression links on float parms removed; the map value drives the parm directly
  • Natsura Trunk Decoration, Natsura Core Decorate, Natsura Core Decoration — 2-parm mapping shape
  • Natsura Visualize Assemblies — inspection (motion, pivots, rigs, colours), utility inside assembly resource
  • Natsura Wrangle — signal-naming pass