AcademySoftwareFoundation / AcademySoftwareFoundation/openvdb

Migrate VDB version check to SOP_NodeVDB

Open
#614 15 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
C++
Stars
3.4k
Forks
774
Avg merge
3d 9h
Merged PRs (30d)
34

Description

SOP_OpenVDB_Scatter overrides the syncNodeVersion() with a check for the version of VDB the SOP was placed in:

https://github.com/AcademySoftwareFoundation/openvdb/blob/master/openvdb_houdini/SOP_OpenVDB_Scatter.cc#L256

We'd like to move the portion that does the version comparison up into SOP_NodeVDB, something like:

`int SOP_NodeVDB::compareVersionString(const char* oldVersion, const char* nodeVersion);`

and then change the SOP_OpenVDB_Scatter implementation to use this method so that other SOPs don't need to encode this version logic.

This needs to take account of the fact that the version string has only changed recently:

> VDB 6.0.0 - "17.5.204"
> VDB 6.1.0 - "17.5.204"
> VDB 6.2.0 - "vdb6.2.0 houdini17.5.204"
> VDB 6.2.1 - "vdb6.2.1 houdini17.5.204"
> VDB 7.0.0 - "vdb7.0.0 houdini17.5.204"

Houdini version can be ignored for now, it's only the VDB version we care about.

Contributor guide

Open the contributing guide

Research direction

Start in openvdb_houdini/SOP_OpenVDB_Scatter.cc at the syncNodeVersion() implementation linked in the issue, then inspect SOP_NodeVDB. Identify the existing VDB-version comparison logic and the listed historical version-string formats. Done means SOP_NodeVDB provides the comparison and SOP_OpenVDB_Scatter uses it while ignoring the Houdini version.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.