Everyone is welcome on the Google Meet linked below every other Thursday, alternating between 10:00 CET and 16:00 CET.
Present:
The meeting covers the core module topics (DNA/RNA, ID management, Depsgraph, Blendfile I/O, etc.).
Links
- Google Meet
- Core Meetings Overview
- Core module
- #Core module chat channel
Updates on Blender 5.0 Projects for 4.5 Release
- 2GB BHead limit: Should be merged in 4.5 in the coming days. Work for a few python scripts is still needed for Blender 5.0 before moving this option out of experimental (once 4.5 is branched out).
- IDProperties storage split: The PR is ready for review. This is code for 5.0, the 4.5 version will only contain the DNA changes and readfile/forward versioning parts of it.
- BigEndian removal: Done for 4.5. Campbell suggest to keep a trace in code (as comments) about areas that are endianness-sensitive, for the actual removal in 5.0.
- Embedded Linked IDs : Still very WIP, needs to be prioritized.
- Attributes Storage Modernization: The PR is actively being worked on by Hans and Jacques.
- ID Name Size Increase: It has a design task now. Unclear who will work on it?
Other Topics
Limit Size of Dynamic / C++ Names.
Even though C++ can handle this (GeometrySet
allows very long strings, around 4Gb), it should be limited, to avoid issues like:
- Logging / printing
- If we ever need to store this in DNA.
- If we ever want to use this in a file-path.
- If we ever want to show this in the UI.
Campbell suggests that 256 bytes looks like a reasonable limit, it will also match with the new ID names size.
The limit should be enforced at RNA level most likely?
‘Stale’ UI Data Crashing at Event Handling
There have been multiple reports of UI events referencing “stale” UI data, leading to crashes.
Bastien suggests that handlers should be able to request exiting the event handling loop (e.g. when reading an undo step), so that all UI/depsgraph updates can run before further event processing.
This should resolve:
Modal Operators and File Selector Issues
Regarding the issue with “modal” operators using the file selector (see this issue and notes in a previous module meeting 2025-02-27 Core Module Meeting), Campbell suggests to not automatically call the poll function again before executing the operator once the file selector is ‘validated’. This poses complex issues with general handling of events and modal operators.
Instead, we should:
- Document file selector behavior for operators exec - as the context can change.
- Update own Blender IO operators to handle this.
Campbell will handle it.
Static ID Initialization
Bastien recently found out that some static IDs (like the default materials) handle very poorly their initialization currently (e.g. not initializing their ID data part at all).
He will refactor ID initialization code to allow handling of pre-allocated buffers (similar to what is already possible when copying IDs, used by the depsgraph for its evaluated IDs management e.g.).
New Code Style for Array Size Documentation
Campbell suggests a new style convention for statically-defined array sizes, when using the define value itself is not possible. This can be statically checked/validated:
void function(char info[/*MAX_NAME*/ 64]);
Or
struct MyStruct {
char info[/*MAX_NAME*/ 64];
};
This is in keeping with the existing convention for positional struct members initialization:
struct MyStruct my_data = {
/*info*/ "var",
};
The idea sounds good, it will be further discussed in the next Admins meeting.
Next Meeting
The next meeting will be on Thursday 8th May, 16:00 CEST/Amsterdam time (your local time: 2025-05-08T14:00:00Z).
The provisional meeting agenda will be linked in the Core Meetings Overview thread before the meeting.