WIP: Brushstroke Tools: Initial Version #328
No reviewers
Labels
No Label
Kind
Breaking
Kind
Bug
Kind: Community
Kind
Documentation
Kind
Easy
Kind
Enhancement
Kind
Feature
Kind
Proposal
Kind
Security
Kind
Studio Request
Kind
Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: studio/blender-studio-pipeline#328
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "SimonThommes/blender-studio-pipeline:brushstroke_tools-initial-version"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Package brushstroke tooling developed for the Blender Studio Project Gold production based majorly on Geometry Nodes in a convenient addon to create, manage and edit brushstroke objects.
Principles
Progress
Required:
Nice to have:
hook up to bounding box size via context linking with exponent sliderproject on selection
with surface obejctTBD:
To Fix:
use_attribute
toggle when brush stroke object isn't activemake preset
work on active context brushstroke if not active objectNodes
Brushstroke Tools: Initial Versionto WIP: Brushstroke Tools: Initial VersionWas just reading this because I was curious, left some general code style comments. Maybe that's useful.
@ -0,0 +7,4 @@
m.register()
def unregister():
for m in modules:
Generally it's recommended to unregister in reverse registration order:
for m in reversed(modules):
@ -0,0 +202,4 @@
mod_info = settings.preset_object.modifier_info.add()
mod_info.name = mod.name
utils.mark_socket_context_type(mod_info, 'Socket_2', 'SURFACE_OBJECT')
It's not really necessary to have empty return statements.
@ -0,0 +35,4 @@
if not settings.context_brushstrokes:
return
if len_prev == len(settings.context_brushstrokes):
settings.active_context_brushstrokes_index = idx
Generally, the code would be easier to read if line lengths were more limited. E.g. for Blender we have a 120 line length limit. That also makes it easier to have two files open next to each other. Such limits can be enforced automatically with auto-formatters like
autopep8
(what we currently use in Blender) or e.g.black
.@ -0,0 +124,4 @@
return bs['BSBST_surface_object']
def get_flow_object(bs):
if not 'BSBST_flow_object' in bs.keys():
Would recommend using
x not in y
instead ofnot x in y
for improved readability.https://stackoverflow.com/a/3481700
@JacquesLucke thanks for the input! I implemented most of the suggestions
eeb5453f9c
to88b9de2ab2
Checkout
From your project repository, check out a new branch and test the changes.