google / google/neuroglancer

precomputed skeleton spec supports non-float values but front-end does not

Open
#572 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.