Issues with custom node registration (annotation issue) #60382

Closed
opened 4 years ago by jdent02 · 7 comments

Having some confusing issues trying to port our appleseed exporter to 2.8

During registration I see a number of reports like the following:

"make annotation: AppleseedasAreaLightNode.in_intensity"

Which is all good. But for some reason I also see this:

"Warning: class AppleseedasAreaLightNode contains a properties which should be an annotation!"

Now it doesn't tell me which property it's keying on for that, and all node properties are listed with "make annotation" messages. I do have a number of internal variables which are using default Python types (as they are not adjustable or accessible to users), but according to the release notes these do not need to be annotations since they aren't bpy.props variables. In any case I have no idea what the properties are that supposedly need to be an annotation. Some additional feedback prompts would help here.

Having some confusing issues trying to port our appleseed exporter to 2.8 During registration I see a number of reports like the following: "make annotation: AppleseedasAreaLightNode.in_intensity" Which is all good. But for some reason I also see this: "Warning: class AppleseedasAreaLightNode contains a properties which should be an annotation!" Now it doesn't tell me which property it's keying on for that, and all node properties are listed with "make annotation" messages. I do have a number of internal variables which are using default Python types (as they are not adjustable or accessible to users), but according to the release notes these do not need to be annotations since they aren't bpy.props variables. In any case I have no idea what the properties are that supposedly need to be an annotation. Some additional feedback prompts would help here.
Poster

Added subscriber: @jdent02

Added subscriber: @jdent02
Poster

Or am I reading it wrong in that I need to make that property an annotation? If so, this new requirement completely breaks our node creation system, which is based on dynamically creating the node classes based on OSL shader metadata

Or am I reading it wrong in that I need to make that property an annotation? If so, this new requirement completely breaks our node creation system, which is based on dynamically creating the node classes based on OSL shader metadata
Collaborator

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Collaborator

Afaics the ...contains a properties which should be an annotation warning is printed as a summary for all the other make annotation: ... warnings.
So you get this once and then all the specific ones for each property.

So are you saying you get a warning also for properties which are not from bpy.props?

Afaics the `...contains a properties which should be an annotation` warning is printed as a summary for all the other `make annotation: ...` warnings. So you get this once and then all the specific ones for each property. So are you saying you get a warning also for properties which are not from `bpy.props`?
Poster

No, it appears I misread the warnings by thinking they were status messages instead. The properties in question are dynamically created during module registration using setattr, apparently that no longer works? Is there an alternative?

We build the node dynamically based on the OSL shaders that are available to appleseed so we don't want to hard code our properties beforehand.

No, it appears I misread the warnings by thinking they were status messages instead. The properties in question are dynamically created during module registration using setattr, apparently that no longer works? Is there an alternative? We build the node dynamically based on the OSL shaders that are available to appleseed so we don't want to hard code our properties beforehand.
Poster

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
jdent02 closed this issue 4 years ago
jdent02 self-assigned this 4 years ago
Poster

User error, not a bug.

User error, not a bug.
Sign in to join this conversation.
No Label
good first issue
legacy module/Animation & Rigging
legacy module/Core
legacy module/Eevee & Viewport
legacy module/Grease Pencil
legacy module/Modeling
legacy module/Nodes & Physics
legacy module/Pipeline, Assets & IO
legacy module/Platforms, Builds, Tests & Devices
legacy module/Python API
legacy module/Rendering & Cycles
legacy module/Sculpt, Paint & Texture
legacy module/User Interface
legacy module/VFX & Video
legacy project/2.81
legacy project/2.82
legacy project/2.83
legacy project/2.90
legacy project/2.92
legacy project/2.93
legacy project/3.0
legacy project/3.1
legacy project/3.2
legacy project/3.4
legacy project/Add-ons (BF-Blender)
legacy project/Add-ons (Community)
legacy project/Alembic
legacy project/Animation & Rigging
legacy project/Asset Browser
legacy project/Automated Testing
legacy project/BF Blender: 2.8
legacy project/BF Blender: After Release
legacy project/BF Blender: Next
legacy project/BF Blender: Regressions
legacy project/BF Blender: Unconfirmed
legacy project/Blender 2.70
legacy project/Blender Cloud
legacy project/Code Quest
legacy project/Collada
legacy project/Compositing
legacy project/Core
legacy project/Cycles
legacy project/Datablocks and Libraries
legacy project/Dependency Graph
legacy project/Documentation
legacy project/EEVEE & Viewport
legacy project/Freestyle
legacy project/Game Data Conversion
legacy project/Game Engine
legacy project/Game Physics
legacy project/Game Python
legacy project/Game UI
legacy project/Geometry Nodes
legacy project/Good First Issue
legacy project/Grease Pencil
legacy project/Images & Movies
legacy project/Import/Export
legacy project/Infrastructure: Blender Buildbot
legacy project/Infrastructure: Blender Web Assets
legacy project/Infrastructure: Websites
legacy project/Modeling
legacy project/Modifiers
legacy project/Motion Tracking
legacy project/Nodes
legacy project/Nodes & Physics
legacy project/OpenGL Error
legacy project/Overrides
legacy project/Papercut
legacy project/Physics
legacy project/Pillar
legacy project/Pipeline, Assets & I/O
legacy project/Platform: Linux
legacy project/Platform: macOS
legacy project/Platforms, Builds, Tests & Devices
legacy project/Platform: Windows
legacy project/Python API
legacy project/Render & Cycles
legacy project/Render Pipeline
legacy project/Sculpt, Paint & Texture
legacy project/Straightforward Issue
legacy project/Text Editor
legacy project/Tracker Curfew
legacy project/Translations
legacy project/USD
legacy project/User Interface
legacy project/UV Editing
legacy project/VFX & Video
legacy project/Video Sequencer
legacy project/Virtual Reality
papercut
Priority › High
Priority › Low
Priority › Normal
Priority › Unbreak Now!
Status › Archived
Status › Confirmed
Status › Duplicate
Status › Needs Information from Developers
Status › Needs Information from User
Status › Needs Triage
Status › Resolved
straightforward issue
Type › Bug
Type › Design
Type › Known Issue
Type › Patch
Type › Report
Type › To Do
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#60382
Loading…
There is no content yet.