precomputed skeleton spec supports non-float values but front-end does not
- Dominant language
- TypeScript
- Stars
- 1.5k
- Forks
- 389
- Avg merge
- 3d 21h
- Merged PRs (30d)
- 3
Description
the precomputed skeleton spec allows for [non floating point vertex attributes](https://github.com/google/neuroglancer/blob/master/src/datasource/precomputed/skeletons.md#skeleton-info-json-file-format) including "int8", "uint8", "int16", "uint16", "int32", "uint32" but neuroglancer will error on any source that has anything but floats for vertex attributes. (due to this [check](https://github.com/google/neuroglancer/blob/3bab8b08ff561467c0dd168cd7581e9612c7b83b/src/skeleton/frontend.ts#L748) ).
I think if possible it should support displaying skeletons with this extra types, ideally make it possible to alter rendering based on them, but at a minimum just skip over them so the data can be stored there but display is not affected.
A more general point, it seems like the rendering system for skeletons should show properties with names in the UI like it does for annotation properties, rather than relying upon the shader writer to know vCustomX maps to the Xth vertex property with no context as to what the property is or is called.
Contributor guide
Research direction
Start with src/skeleton/frontend.ts around the linked check at line 748, then compare it with the non-floating-point types listed in skeletons.md. Done means skeleton sources using the listed integer vertex attributes no longer error and those attributes are either safely ignored or rendered as supported. The broader property-UI request may require separate design work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- computer-graphics, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100