refactor: Deduplicate 'pointer type from origin' derivation
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 74/100
- Tipo de issue
- Refactorización
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- compilers
Línea de trabajo
Start by reading createPtrFromOrigin in packages/typegpu/src/data/ptr.ts, then compare its uses in packages/typegpu/src/tgsl/wgslGenerator.ts, packages/typegpu/src/tgsl/forOfUtils.ts, and packages/typegpu/src/data/ref.ts. Check the existing isAddressableOrigin from #3075 and confirm that the shared derivation concretizes the inner type while d.ref() keeps its explicit fallback. Done means the three paths use one consistent helper without changing their intended fallback behavior.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The same "derive a pointer type from a snippet's origin" logic is written out in three places, each slightly differently:
packages/typegpu/src/tgsl/wgslGenerator.ts(_aliasConstStatement):createPtrFromOrigin(eq.origin, concretize(type))+invariant(ptrType !== undefined, ...)packages/typegpu/src/tgsl/forOfUtils.ts(getElementType): same as above, copy-pastedpackages/typegpu/src/data/ref.ts(d.ref()GPU impl):createPtrFromOrigin(value.origin, type) ?? ptrFn(concretize(type)). It falls back to a function-scope pointer instead of asserting, and only concretizes on the fallback path
Proposal
Add a single helper next to createPtrFromOrigin in data/ptr.ts, e.g. ptrTypeFor(snippet), that concretizes the inner type and asserts addressability. d.ref() would then pick its fallback explicitly using isAddressableOrigin (added in #3075).
Follow-up to the review of #3075.
- Lenguaje dominante
- TypeScript
- Estrellas
- 3.3k
- Forks
- 141
- Merge medio
- 3 d 7 h
- PR fusionados (30 d)
- 66
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de software-mansion/TypeGPU
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
software-mansion/TypeGPU#3276 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
software-mansion/TypeGPU#3219 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
texture.write(VideoFrame) uses the padded coded size instead of the visible sizePosiblemente ocupada @RaphaelFakhri la tomó hace 13 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
software-mansion/TypeGPU#3213 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
impr: Error message in examplesAbiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
software-mansion/TypeGPU#3008 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
software-mansion/TypeGPU#2948 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
Todos los issues de software-mansion/TypeGPU
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
kunchenguid/gh-axi#247 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
lidge-jun/opencodex#8101 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
effort:S P3 refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
nightscout/nocturne#3243 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
JuliusBrussee/caveman#1449 ·
Los mantenedores suelen responder en 1 día