Cleanup 1st Sprint Nodes #82370

Closed
opened 2020-11-03 17:40:08 +01:00 by Dalai Felinto · 23 comments

For the first sprint a few nodes were added to get familiar with the code.
However they are not complete

  • Triangulate: Add more options
  • Subdivision: Remove Simple and Optimal Display (can discuss separate render/viewport level later)
  • Combine Strings: Remove for now
  • Group Instance ID: Remove for now
  • Edge Split: Need Enable Edge Angle option
  • Transform: could use rotation order setting (that can be added later when necessary)
For the first sprint a few nodes were added to get familiar with the code. However they are not complete - [x] Triangulate: Add more options - [x] Subdivision: Remove Simple and Optimal Display (can discuss separate render/viewport level later) - [x] Combine Strings: Remove for now - [x] Group Instance ID: Remove for now - [x] Edge Split: Need Enable Edge Angle option - [ ] ~~Transform: could use rotation order setting~~ (that can be added later when necessary)
Author
Owner

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Author
Owner

Added subscriber: @dfelinto

Added subscriber: @dfelinto
Author
Owner

Added subscriber: @PiloeGAO

Added subscriber: @PiloeGAO
Author
Owner

@PiloeGAO hi, maybe you are interested on helping with this one?

@PiloeGAO hi, maybe you are interested on helping with this one?
Author
Owner

(we plan to tackle this in the next sprint, so usually it is not something I'm comfortable leaving for the community. That said if you think you have the time we could try it.

(we plan to tackle this in the next sprint, so usually it is not something I'm comfortable leaving for the community. That said if you think you have the time we could try it.
Member

Added subscriber: @HooglyBoogly

Added subscriber: @HooglyBoogly
Member

Edge Split: Need Enable Edge Angle option

I actually purposefully left this out. I think the interface is simpler if you just set the angle to 180 degrees if you don't want to use edge angle. That or an enum type at the top of the node that would control between the angle or using sharp edges.

And for some background for @PiloeGAO, we talked about removing simple because there are plans to remove this from the modifier and related code in the future, and removing optimal display because there are other considerations about where to expose display options for evaluated geometry that still need to be thought out properly for geometry nodes.

> Edge Split: Need Enable Edge Angle option I actually purposefully left this out. I think the interface is simpler if you just set the angle to 180 degrees if you don't want to use edge angle. That or an enum type at the top of the node that would control between the angle or using sharp edges. And for some background for @PiloeGAO, we talked about removing simple because there are plans to remove this from the modifier and related code in the future, and removing optimal display because there are other considerations about where to expose display options for evaluated geometry that still need to be thought out properly for geometry nodes.

In #82370#1048835, @dfelinto wrote:
@PiloeGAO hi, maybe you are interested on helping with this one?

It will be a true honor to contribute again. I have some free time so I could spend time on that.

> In #82370#1048835, @dfelinto wrote: > @PiloeGAO hi, maybe you are interested on helping with this one? It will be a true honor to contribute again. I have some free time so I could spend time on that.

@dfelinto hi, I made a differential request for subdivision surface inputs. You can find it here: https://developer.blender.org/D9487

@dfelinto hi, I made a differential request for subdivision surface inputs. You can find it here: https://developer.blender.org/D9487

I made a new diff for the triangulate node (I added missing enums). You can find it here: https://developer.blender.org/D9502

I made a new diff for the triangulate node (I added missing enums). You can find it here: https://developer.blender.org/D9502

@dfelinto Hi, I plan to spend time on this task this weekend (and hopefully finish it). But I have some questions/suggestions:

  • Maybe "Combine Strings" and "Group Instance ID" are useless for now but could be useful when the instance system is finished. So you should keep them.
  • For "Edge Split: Need Enable Edge Angle option", I agree with the point of view of @HooglyBoogly about keeping the simpler interface.
  • For the "Transform" node, I plan to add an enum with different orders (Translation Rotation Scale, Translation Scale Rotation, [...], Scale Translation Rotation). What did you think about that?
@dfelinto Hi, I plan to spend time on this task this weekend (and hopefully finish it). But I have some questions/suggestions: - Maybe "Combine Strings" and "Group Instance ID" are useless for now but could be useful when the instance system is finished. So you should keep them. - For "Edge Split: Need Enable Edge Angle option", I agree with the point of view of @HooglyBoogly about keeping the simpler interface. - For the "Transform" node, I plan to add an enum with different orders (Translation Rotation Scale, Translation Scale Rotation, [...], Scale Translation Rotation). What did you think about that?
Author
Owner

@PiloeGAO re: "Combine Strings" and "Group Instance ID": If a node is useless for now, then it shouldn't be there. There is no point to the users to see that in the UI if the node cannot be used. They should even be removed individually (or hidden from the UI) so it is easy to bring them back one by one if needs be.

The reasoning is that at any moment we should be able to stop the tasks we are working on and deploy the product. If we have lingering features that are not complete, not usable, ... this gets on the way.

We were a bit more relaxed with this in the first sprint, but as part of the preparation to master in the upcoming sprint I want to see this mindset in everyone involved.

@PiloeGAO re: "Combine Strings" and "Group Instance ID": If a node is useless for now, then it shouldn't be there. There is no point to the users to see that in the UI if the node cannot be used. They should even be removed individually (or hidden from the UI) so it is easy to bring them back one by one if needs be. The reasoning is that at any moment we should be able to stop the tasks we are working on and deploy the product. If we have lingering features that are not complete, not usable, ... this gets on the way. We were a bit more relaxed with this in the first sprint, but as part of the preparation to master in the upcoming sprint I want to see this mindset in everyone involved.
Author
Owner

Added subscriber: @JacquesLucke

Added subscriber: @JacquesLucke
Author
Owner

@PiloeGAO: Re: rotation order I think it is a good idea (cc @JacquesLucke )

@PiloeGAO: Re: rotation order I think it is a good idea (cc @JacquesLucke )
Author
Owner

@HooglyBoogly re: Edge Split I see no reason why to deviate from what we do in the modifier:

  1. I don't expect users that only want to split the sharp edges to realize that an angle of 180 leads to no split.

  2. I thought we had already talked about that before create this task no? Were you not in the meeting, or did you just change your mind since? (or didn't consider all the angles).

  3. If you are serious about proposing that can you also investigate when was this introduced, and what was the reasoning to have this as a separate option?

@HooglyBoogly re: Edge Split I see no reason why to deviate from what we do in the modifier: 1. I don't expect users that only want to split the sharp edges to realize that an angle of 180 leads to no split. 2. I thought we had already talked about that before create this task no? Were you not in the meeting, or did you just change your mind since? (or didn't consider all the angles). 3. If you are serious about proposing that can you also investigate when was this introduced, and what was the reasoning to have this as a separate option?
Member

Re: rotation order

I'm not sure if this should be a setting on the node, a separate input, or whether this should be part of the rotation input.
E.g. in Animation Nodes there is a separate socket type for Euler rotations that combines a 3d vector with a rotation order (you rarely have to deal with the rotation order though).
I guess for now it's fine if it is just a setting in the node. It can always be exposed as input later when necessary. The versioning code for this should be relatively straight forward.

Re: rotation order I'm not sure if this should be a setting on the node, a separate input, or whether this should be part of the rotation input. E.g. in Animation Nodes there is a separate socket type for Euler rotations that combines a 3d vector with a rotation order (you rarely have to deal with the rotation order though). I guess for now it's fine if it is just a setting in the node. It can always be exposed as input later when necessary. The versioning code for this should be relatively straight forward.

I made a diff request for removing "Combine Strings" and "Group Instance ID" from UI, you can find it here: https://developer.blender.org/D9558

I made a diff request for removing "Combine Strings" and "Group Instance ID" from UI, you can find it here: https://developer.blender.org/D9558

The diff for the Edge Split node is available here: https://developer.blender.org/D9564

The diff for the Edge Split node is available here: https://developer.blender.org/D9564

Added subscriber: @skartemka

Added subscriber: @skartemka

Removed subscriber: @skartemka

Removed subscriber: @skartemka

Added subscriber: @skartemka

Added subscriber: @skartemka

I made some researches last weekend for the transform node but I found nothing working and/or efficient.
@JacquesLucke may found a better way to implement it.

I made some researches last weekend for the transform node but I found nothing working and/or efficient. @JacquesLucke may found a better way to implement it.
Author
Owner

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Dalai Felinto self-assigned this 2020-11-30 09:28:48 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#82370
No description provided.