Info
Developers or artists interested in contributing are welcome to join at the links below.
- Workboard - plans, ongoing work, and community tasks
- Chat Channel - general development communication
- Video Call - dailies at 14:00 CEST
- Meeting Agendas and Notes - updated throughout the week
Week starting 2021-11-01
- Winter time starts, so the meeting time may change for some.
- Possible 3.1 targets (in initial order of priority):
- Simulations
- Unlikely to get something releasable for 3.1.
- Find an MVP goal in the next couple weeks
- Talk with the HQ about first goals
- Node group assets
- Figure out if we can help the asset browser team with that
- Socket types:
- Enum sockets
- New socket type
- User defined enums?
- Store enums as strings or integers?
- T82157: Investigate Support for Enums data type for Node Group Inputs
- Euler rotation sockets
- New socket type
- Use it in “Rotation” sockets
- Store it as float3 or new Euler attribute type?
- Consider having a “rotation” socket that uses quaternions internally.
- T92766: Decide how rotation socket type should be stored
-
T92765: 2D Vector Socket Type
- New socket type: easy
- Support new socket type in most existing nodes
- Reuse existing Vector Math node?
- Enum sockets
-
T89658: Support previewing geometry in the viewport
- Override the normal display for the object
- Only for the viewport, not render
- Named attribute nodes
- Patch that contains get, set, and remove and display which names are used outside of a group
- Include an operator to expose names by default
- Remove multi-input from the remove node
- Dynamic attributes on instances
- Nodes that need to support instance attributes properly:
- Realize Instances
- Add a “levels” input to realize instances node
- Instance attributes override geometry attributes when realizing
- Instance on Points
- Instances to Points
- Realize Instances
- Renderer support can be added separately.
- Think about the domain for instances attributes (new domain vs point domain).
- T92926: Support dynamic attributes on instances
- Nodes that need to support instance attributes properly:
- Procedural modeling (selections, extrude, …)
- Mesh topology based field inputs
- Boundary edges
- Edge angle
- Neighboring element counts
- Modeling operations
- Merge by distance
- Store a
BMesh
optionally in mesh geometry components- Generally we would like to use
Mesh
overBMesh
where possible, but re-implementing things like Bevel is just not feasible.
- Generally we would like to use
- Extrude
- Bevel, solidify, etc.
- Mesh topology based field inputs
- Performance profiling tools for nodes
- Use node editor overlays
- Which time should each node show?
- The Set Position could show the time of the entire field evaluation and/or we can try to show the evaluation time of individual field operations.
- Add time to every node, or colored area with a tooltip?
- Geometry fields / geometry loops.
- A proposal for each method on devtalk.
- Goals:
- The ability to generate unique geometry on every point
- Levels sets (more volume nodes)
- Think about the name for the UI
- How to deal with volume grids in the context of fields/attributes.
- Sample volume node
- Support in proximity and raycast nodes
- Global resolution somehow?
- New nodes like volume boolean
- Cache Node / Checkpoints
- Explicit freezing of the geometry.
- Implementation is much simpler than automated caching
- Same problem with anonymous attributes though
- Node warnings for field inputs and functions
- Add warnings to the nodes evaluating fields
- UV Mapping nodes
- Some method for UV to XYZ?
- Unwrapping operators exposed as nodes
- Performance improvements
- Instances in the viewport
- Create a design task on phabricator for a better Instances API for renderers.
- Field evaluation improvements
- Procedure optimization passes
- Mutable parameters
- Reusing buffers between different variables
- Proper switch node branching for fields
- Automated Caching
- Goal: Faster feedback after changes, without a special Cache node.
- Should be transparent to the user (except maybe a cache size in preferences).
- Real problem here is the implementation details:
- How to figure out what has changed (the depsgraph is not granular enough).
- Either make depsgraph more granular or use some hashing based approach.
- Anonymous attribute IDs are not consistent over redraws
- How to figure out what has changed (the depsgraph is not granular enough).
- Instances in the viewport
- Simulations
- Feedback from Entagma (Dalai).
- Mostly aligns with the plans above, which is nice to hear.
-
T92729: More general “Compare” node (Hans)
- Refactor add menu and allow searching for Add Floats, …
- Simulation prototype
- The proposal was to work in a real-time cloth simulation (waving flag) prototype.
- Feedback from Ton:
- Focus on design before considering prototyping.
- Realtime clock exist within the context of realtime viewport.
- Scene, View [port] and object times.
- How to map the different times.
- Behavior for merge by distance on curves
- By default, merging spline endpoints shouldn’t be done, since it’s not a straightforward operation (so splines are handled individually)
- However, since the node has a “Connected”/“All” option, the choice could tie into that.