andybeers
(Andy Beers)
January 25, 2024, 7:00am
1
Hello!
I’m looking for issues in the core USD repo that would be approachable for someone trying to improve C++ skills. I’ve coded it C++ on and off over the years but it’s been awhile so it feels like I’m starting over.
I started looking through the open issues on GitHub and it’s not clear which issues are currently being looked at, or which might be manageable as a ‘good first issue’. I realize tagging everything properly is time consuming but even some advice on filtering through what may or may not be currently worked on internally would be helpful.
Thanks for any help / guidance!
1 Like
dhruvgovil
(Dhruv Govil)
January 28, 2024, 6:52pm
2
@jesswang maybe we could add a “good first issue” tag on GitHub ?
A few of the aswf projects have started doing this.
1 Like
jesswang
(Jessica Wang)
January 30, 2024, 12:01am
3
I like it! I’ve added the label as an option in the Github repo.
1 Like
dhruvgovil
(Dhruv Govil)
January 30, 2024, 1:35am
4
Awesome. Thanks! I’ll see if I can scrounge through a few and send your way later to see if they might be good fits
2 Likes
dhruvgovil
(Dhruv Govil)
February 1, 2024, 6:58am
5
Some suggestions:
Once @varun has the new usdchecker, it would be a good place for beginners to add tests and learn the C++ API
Some issues that I could recommend.
opened 04:06PM - 12 Oct 23 UTC
### Description of Issue
We recently discovered a bug in Blender where it was… exporting the color3f attributes as float3. We'll resolve it in a PR to them, but it would be great if the usdchecker had code to check for such inconsistencies. usdview won't catch it since color3f is an alias for float3, but it does mean the files are slightly out of spec.
I've already set up Blenders unit tests to use usdchecker to verify exports, but it doesn't seem like usdchecker currently catches this particular case.
### Steps to Reproduce
1. Open Blender 3.6 and add a material to the default cube
2. Export to a usda
3. Notice that diffuse colours and emissive are float3 instead of color3f
opened 03:06PM - 20 Dec 23 UTC
### Description of Issue
I was struggling with some composition issues today.… Based on help in the usd-wg Slack, I was able to figure out what was going on: referencing data with a type that did not match the type of the prim I was referencing it from effectively discarded all that data, since the referencing prim type "won".
I think usdchecker should warn if data is dropped in that way; I'm not sure if there would be valid scenarios for intentionally dropping it.
### Steps to Reproduce
See these two files:
- https://github.com/prefrontalcortex/usd-wg-assets/blob/0693aa8fcc0a02949ac6868418b3c711ae6f2c5a/test_assets/GeometryReferencesOvers/04-over-notWorking/model.usda#L14
- https://github.com/prefrontalcortex/usd-wg-assets/blob/0693aa8fcc0a02949ac6868418b3c711ae6f2c5a/test_assets/GeometryReferencesOvers/04-over-notWorking/Quad.usd#L33
Basically, in this structure:
```
def "Thing"
{
def Mesh "Geometry"
{
# ...
}
}
over "AnotherThing" (
prepend references = </Thing/Geometry>
)
{
# ...
}
```
And another file:
```
def Xform "Quad" (
prepend references = @./Quad.usd@</AnotherThing>
)
{
# ...
}
```
my understanding is that "AnotherThing" ends up being a "Mesh", but "Quad" ends up staying an Xform – it will have all the right data referenced to it, but since it's an Xform and not a Mesh it effectively discards it.
The solution I think is to specify the type in advance, so that it ends up being a mesh:
```
def Mesh "Quad" (
prepend references = @./Quad.usd@</AnotherThing>
)
{
}
```
So I would kind of expect usdchecker to warn me "Hey, you are referencing a Mesh onto your Xform here, that wont work". It's not an _error_ since the result is technically valid, but I think a _warning_ would be good.
opened 11:44AM - 20 Dec 23 UTC
### Description of Issue
This may be more of a spec question. Are faceVertexC… ounts and faceVertexIndices supposed to match?
So, should `sum(faceVertexCounts) == length(faceVertexIndices)` or is it valid to only use some data from the start of the indices list? I would expect that these should always match, and that both faceVertexCounts and faceVertexIndices would be overriden if someone wants to reuse points/normals between different submeshes.
Right now usdchecker/usdview is happy but other softwares do not display the file at all.
### Steps to Reproduce
1. The attached file has non-matching faceVertexCounts and faceVertexIndices (there's less counts defined than indices provided).
[20231220-123701-MadeWithNeedle.usdz.zip](https://github.com/PixarAnimationStudios/OpenUSD/files/13726870/20231220-123701-MadeWithNeedle.usdz.zip)
3. usdchecker is happy
4. usdview displays the file, ignoring all non-specified faces
5. QuickLook does not display the file
opened 10:34PM - 23 Nov 23 UTC
### Description of Issue
So usdview logs a warning to the console when the da… ta in skeletal animation timeSamples doesn't match the bone count:
```
Warning (secondary thread): in _ComputeJointLocalTransforms at line 158 of /Users/herbst/git/OpenUSD/pxr/usd/usdSkel/animQueryImpl.cpp -- /StageRoot/Scenes/Scene/MyScene_20/Character_22/Ch46_122/Rig/_anim -- size of transform component arrays [52] != joint order size [65].
Warning: in _ComputeJointLocalTransforms at line 158 of /Users/herbst/git/OpenUSD/pxr/usd/usdSkel/animQueryImpl.cpp -- /StageRoot/Scenes/Scene/MyScene_20/Character_22/Ch46_122/Rig/_anim -- size of transform component arrays [52] != joint order size [65].
```
which explains why no animation is displayed (besides in Reality Composer Pro, which seems to try anyways for some reason).
But usdchecker is happy with the file. I think it could use some more checks in that regard :)
### Steps to Reproduce
1. Download [char.usdz.zip](https://github.com/PixarAnimationStudios/OpenUSD/files/13453685/char.usdz.zip)
2. Open in usdview (note warning in console)
3. Run through usdchecker ("Success!")
4. Open in Reality Composer Pro for fun (select the root and play the animation)
### System Information (OS, Hardware)
MacOS M2
opened 10:28PM - 13 Aug 23 UTC
### Description of Issue
Turns out usdchecker doesn't check texture references … inside USDZ files.
I thought that the "MissingReferenceChecker" rule should do that.
### Steps to Reproduce
1. Download [asset2.usdz.zip](https://github.com/PixarAnimationStudios/OpenUSD/files/12330541/asset2.usdz.zip) and unpack
2. Run `usdchecker asset2.usdz`
Expected: complains that some of the textures aren't available (`Texture_10_false.png` doesn't exist in the USDZ but is referenced)
Actual: usdchecker is pretty happy minus the normal scale verification.
### System Information (OS, Hardware)
MacOS 13.5 M2
### Package Versions
v23.08
@herbst in general tends to do a great job filing rough edges that should be beginner friendly to resolve.
There are a few issues in mildly esoteric setups that could be optimized out
I don’t think this one is even Mac specific, just container specific for example
opened 08:11PM - 19 Oct 23 UTC
https://github.com/PixarAnimationStudios/OpenUSD/blob/10b62439e9242a55101cf8b200… f2c7e02420e1b0/pxr/base/arch/timing.cpp#L150
We wanted to bring the following issue to your attention.
We are building a Linux container with USD, and testing it on a MAC ARM host, and we are getting the following error:
```
ArchError: Could not find 'cpu MHz' in /proc/cpuinfo
Function: Arch_ComputeNanosecondsPerTick
File: /opt/jenkins/workspace/some_release/build-Release/_deps/usd-src/pxr/base/arch/timing.cpp
Line: 149
qemu: uncaught target signal 6 (Aborted) - core dumped
```
According to a quick search, other people have run into this.
The "CPU MHz: " line is definitely missing from /proc/cpuinfo in the container in this case.
Since that file can not be edited, we don't have a workaround right now.
Thank you!
If you want to get familiar with the build system, there are issues around python packaging for pypi like
opened 05:10PM - 04 May 23 UTC
### Description of Issue
This is a query as to whether it would be possible t… o expose `UsdMtlx` as part of the Python package via `PyPi`
as MaterialX now builds by default as part of USD.
### Steps to Reproduce
1. `pip install usd-core`
2. `from pxr import UsdMtlx` // `UsdMtlx` is not available
### System Information (OS, Hardware)
Any
### Package Versions
23.2
### Build Flags
N/A
Another that I know has been requested but I can’t find the issue for is including some of the command line tools as part of pypi
That’s just a quick scrub of what I think would be fairly beginner friendly tasks to tackle if someone had the time.
1 Like
andybeers
(Andy Beers)
February 2, 2024, 8:41am
6
Thanks for looking into this @dhruvgovil . I’ll keep an eye out for the new usdchecker and take a deeper look at the others. Appreciate the help!