{"id":20649309,"url":"https://github.com/repalash/gltf-transform-generic-ext","last_synced_at":"2026-04-17T16:04:43.290Z","repository":{"id":184467342,"uuid":"646948832","full_name":"repalash/glTF-Transform-Generic-Ext","owner":"repalash","description":"GenericExtension class to easily create simple custom extensions for glTF-Transform","archived":false,"fork":false,"pushed_at":"2023-05-29T18:01:41.000Z","size":68,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-22T10:03:51.227Z","etag":null,"topics":["gltf","gltf-extensions","gltf-transform","webgi"],"latest_commit_sha":null,"homepage":"http://repalash.com/glTF-Transform-Generic-Ext/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/repalash.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-29T18:01:04.000Z","updated_at":"2023-06-17T16:26:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"4ae1fb47-5fcc-4b2a-aa0a-ad01ae6fe18e","html_url":"https://github.com/repalash/glTF-Transform-Generic-Ext","commit_stats":null,"previous_names":["repalash/gltf-transform-generic-ext"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/repalash/glTF-Transform-Generic-Ext","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repalash%2FglTF-Transform-Generic-Ext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repalash%2FglTF-Transform-Generic-Ext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repalash%2FglTF-Transform-Generic-Ext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repalash%2FglTF-Transform-Generic-Ext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/repalash","download_url":"https://codeload.github.com/repalash/glTF-Transform-Generic-Ext/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/repalash%2FglTF-Transform-Generic-Ext/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31935718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T12:37:54.787Z","status":"ssl_error","status_checked_at":"2026-04-17T12:37:25.095Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gltf","gltf-extensions","gltf-transform","webgi"],"created_at":"2024-11-16T17:13:49.708Z","updated_at":"2026-04-17T16:04:43.274Z","avatar_url":"https://github.com/repalash.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Generic Extension for glTF-Transform\n\nThis is a generic extension for [glTF-Transform](https://gltf-transform.donmccurdy.com/), which can be used as a template for creating new extensions for glTF-Transform.\n\nIt can be used to automatically create extensions with arbitrary properties. It works by putting the properties in extras when reading the extension from the glTF and then restoring them when writing the glTF. With this, there is no need for defining fully typed extension classes and extension properties for simple custom extensions.\n\n## Usage\n\n```typescript\nimport {GenericExtension} from 'gltf-transform-generic-ext'\nimport {TextureChannel} from '@gltf-transform/core'\n\n// Extension with no texture\nclass TriplanarMappingMaterialExtension extends GenericExtension {\n    public static readonly EXTENSION_NAME = 'WEBGI_materials_triplanar'\n    readonly extensionName = TriplanarMappingMaterialExtension.EXTENSION_NAME\n}\n\n// Extension with a texture using the R channel\nclass BumpMapMaterialExtension extends GenericExtension {\n    public static readonly EXTENSION_NAME = 'WEBGI_materials_bumpmap'\n    readonly extensionName = BumpMapMaterialExtension.EXTENSION_NAME\n    textureChannels: Record\u003cstring, number\u003e = {\n        bumpTexture: TextureChannel.R,\n    }\n}\n\n// Extension with a texture using the R, G and B channels\nclass LightMapMaterialExtension extends GenericExtension {\n    public static readonly EXTENSION_NAME = 'WEBGI_materials_lightmap'\n    readonly extensionName = LightMapMaterialExtension.EXTENSION_NAME\n    textureChannels: Record\u003cstring, number\u003e = {\n        lightMapTexture: TextureChannel.R | TextureChannel.G | TextureChannel.B,\n    }\n}\n\n// Extension with a texture using the G channel\nclass AlphaMapMaterialExtension extends GenericExtension {\n    public static readonly EXTENSION_NAME = 'WEBGI_materials_alphamap'\n    readonly extensionName = AlphaMapMaterialExtension.EXTENSION_NAME\n    textureChannels: Record\u003cstring, number\u003e = {\n        alphaTexture: TextureChannel.G,\n    }\n}\n\n```\n\n## License\nMIT\n\n## References\nGenerated with [rollup-library-starter](https://github.com/repalash/rollup-library-starter)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frepalash%2Fgltf-transform-generic-ext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frepalash%2Fgltf-transform-generic-ext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frepalash%2Fgltf-transform-generic-ext/lists"}