Check the overview thread for more information about the meeting.
Present
- Dalai Felinto
- Hans Goudey
- Hoshinova Nucleo
- Iliya Katueshenock
- Lukas Toenne
- Sam Aldhaher
- Simon Thommes
Since the Last Meeting
- Filtering of nodes and tools in the node editor and modifier data-block selectors and modifier add menu was tweaked. Now any node group with the “Is Modifier” option shows in the add modifier menu, not just assets, and likewise for tools.
- The node tools feature was moved out of experimental after several tweaks and design adjustments for 4.0.
- Performance
- The repeat zone uses lazy evaluation to avoid computing everything unnecessarily
- Jacques finished the first iteration of the baking project, with support for baking individual simulations
- Node panels received more quality of life features by Brecht
- Added support for drawing buttons inside panels and drawing the panels in the material properties editor.
- Node socket labels are shortened when they start with the panel name
- Vertical spacing has been improved as well
- Jacques added a debug utility to help detect incorrect geometry element index dependence
- The inline (pass-through) socket feature has been removed because the design discussions weren’t finished in time for 4.0.
- The node editor has had a few small UX improvements
- The “Move to Nodes” modifier operator no longer requires a geometry input to function.
- Repeat zones now store an “inspection index” so socket inspection doesn’t always store the first iteration’s values
- Float values to are moved to the “Value” node with link-drag-search
Meeting Topics
- Node Tools “Types → Curves” rename.
- Hair Curves is a compromise, but a welcome one for now.
- Once we support the old curves, we then can call it “Curves” again.
- Merge Musgrave and Noise Texture nodes
- The combined node is slightly more complicated, but removing redundant functionality can also simplify things.
- We don’t have artists involved at the moment to give feedback, but given that feedback we would be comfortable with the change.
- Update: Simon is fine with this, let’s go for it.
- #113175: Geometry Nodes: Add default input option for node groups
- Overall positive
- Geometry Nodes: Viewer Node Group
- This is aligned with the current development targets.
- Some time during 4.1 can be set aside to review its design.
- Potential 4.1 roadmap targets
- Grease Pencil 3.0 geometry nodes support
- Field support, and viewer node
- Layer domain
- Curve nodes (Falk)
- Rotations
- Missing implicit conversion from-and-back vector to rotation.
- Modifier Panels
- Volume
- Hair-related use case
- Collision
- Foreach zone
- Baking
- Material support for simulation.
- Bake node.
- Outliner baking overview.
- Subframes (if straightforward)
- Modal operator design
- Real-time mode design and prototype
- Asset Bundle:
- Frozen Node groups
- “private” node groups
- Grease Pencil 3.0 geometry nodes support
- Postponed targets:
- Gizmos
- Lists
- They would be perfect “inputs” for Foreach Zones
- Also important for collision.
- Type Inference
- Node Tools debug tools (e.g., play mode)
- Bundled modifier node groups
- Wrap-up unfinished projects
- Curve refactor
- Hair simulation
- Ship Blender with simulation bundles
- Bundled nodes
- While these 4.1 targets are interesting, Simon raised an issue regarding how we are still not targetting enough the tooling required for bundling high level nodes in Blender.
- This will be discussed again once everyone (Jacques) is around.
- Ideas to bundle targets:
- Scatter Node group
- Scatter Modifier with enums and geometry socket
- Curved caps modifier
- Array group with gizmos
- Selection nodes
Help Needed
- Documentation for Rotation Nodes (Sam will look at it)
- Show “Single Value” only for socket types that can be a field
Extra: Simon’s Feedback Corner
Simon’s 2 cents here …
- 4.0 Mesh Boolean node
- The changes in 4.0 feel like a regression.
- The counterpoint is that the changes make the node more consistent with other nodes.
- Proposal 1:
- Warning when there is only instances.
- Investigate “Self-Intersection” to work with realized instances.
- Proposal 2:
- Use top-level instances (not the nested)
- Current 4.0 workaround
- Search memory
- The experience is not always great.
- The current behaviour seems less reliable.
- This leads to less predictable results, since the user now needs to read the result.
- Menu Search
- Context menus are not affected, simple menus like Delete (where you can do X, F to delete faces) neither, nor are enums.
- So you can still do right click, S to quickly smooth something. For example.
Blender 4.0 Retrospective
Post-mortem
- Three concurrent projects yield good results on all fronts.
- Concurrent projects:
- We can still keep single-developer per feature but try to switch major projects to help motivation.
- Feedback:
- Assume feedback would come naturally.
- If we want a tight feedback loop we need to put the effort into it.
- At the beginning of projects, define who the stakeholders are and what they are needed for.
- For the node-tools for example.
- Feedback should happen more publicly.
- Design:
- Trying to formalize design and approve it as much as possible.
- Running three projects at the same time can lead to design and testing becoming a bottle-neck.
- For projects that have a big design component (node tools, real-time mode, …), focus on nailing the usability first.
- In other words, remember that usability can also be a high-risk component of a project, and as such tackle it first.
- Little project involvement from the community:
- More feedback threads on devtalk.
- The participation on module meetings was ok.
- Few community developer contributors.
- Use geometry-nodes more (the developers)
- Weekly planning worked well, although workboard wasn’t used much
- Could be improved: gitea.
- R&D Projects:
- Worth acknowledging that there were inbetween projects happening.
- Nothing to be done about that for now.
Worked well:
Could improve:
Appendix: Development Tracks
Important for planning moments. Could leave in the wiki page for the module.
Tracks:
- Simulation
- Volume
- Solvers
- Real-time mode
- Baking
- Usability
Modifier AssetPanels- Rotation sockets
- High level nodes
- Enum socket
- Panels
- Gizmos
- Context Setup Tool
- Tools
Node Tools- Node Tools Debugging
- Modal Operator
- Missing expected nodes
- Foreach zone
- Camera node
- Modeling nodes
- Performance
- Tehnical-debt
- Curve Refactor
- Support non-catmull-clark curves rendering
- Create high-level groups for taper, bevel, …
- Remove old curves
- Hair
- Animate hair
- Hair simulation
- Replacing old hair simulation
- Curve Refactor