KhronosGroup / KhronosGroup/glTF-Validator

Support for KHR_animation_pointer

Open
#198 6 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Dart
Stars
470
Forks
77
PR merge metrics
No merged PRs in 30d

Description

While Gestaltor, Babylon and Needle Engine (based on three.js) have already implemented _KHR_animation_pointer_, the validator currently doesn't support it. That leads to thousands and sometimes hundreds of thousands of errors for files that work fine:
![image](https://user-images.githubusercontent.com/2693840/196758447-f2d224eb-0e38-4bff-98dc-ec307bce1baf.png)

The errors are many times
```json
{
"code": "VALUE_NOT_IN_LIST",
"message": "Invalid value 'pointer'. Valid values are ('translation', 'rotation', 'scale', 'weights').",
"severity": 1,
"pointer": "/animations/0/channels/2/target/path"
},
```

and
```json
{
"code": "ANIMATION_DUPLICATE_TARGETS",
"message": "Animation channel has the same target as channel 353.",
"severity": 0,
"pointer": "/animations/2/channels/9/target"
},
```

Are there plans / what are the plans for supporting _KHR_animation_pointer_ to ensure files are correctly set up? I understand that this is kind of a chicken-and-egg situation between the extension not being ratified (yet) and the need to produce correct files for it, but wanted to ask nonetheless :)

Thanks!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the validator's handling of animation channel target paths and the KHR_animation_pointer extension behavior described in this issue. Reproduce the reported VALUE_NOT_IN_LIST and ANIMATION_DUPLICATE_TARGETS diagnostics with a file using the extension; done means valid files no longer produce those incorrect errors.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.