software-mansion / software-mansion/TypeGPU
bug: `writeSoA` does not accept loose schemas on type level
Open
Nobody has claimed this yet.
bug
good first human issue
good first issue
- Dominant language
- TypeScript
- Stars
- 3.2k
- Forks
- 122
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 34
Description
See triplanar mapping example.
- export const ModelVertex = d.struct({
- position: d.vec3f,
- normal: d.vec3f,
- uv: d.vec2f,
- });
-
- export const modelVertexLayout = tgpu.vertexLayout(d.arrayOf(ModelVertex));
+ export const ModelVertex = d.unstruct({
+ position: d.vec3f,
+ normal: d.vec3f,
+ uv: d.vec2f,
+ });
+
+ export const modelVertexLayout = tgpu.vertexLayout(d.disarrayOf(ModelVertex));
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the triplanar mapping example and inspect the type definitions involved in writeSoA, vertexLayout, and loose schemas. Reproduce the type-level failure using the ModelVertex and modelVertexLayout example, then verify that writeSoA accepts the loose schema without requiring the struct form.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100