{"id":21214915,"url":"https://github.com/hadronized/semantics","last_synced_at":"2025-03-15T00:22:28.259Z","repository":{"id":57703366,"uuid":"511569943","full_name":"hadronized/semantics","owner":"hadronized","description":"Semantics mapping between strings and integers","archived":false,"fork":false,"pushed_at":"2022-07-07T15:01:23.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T12:47:50.707Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hadronized.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}},"created_at":"2022-07-07T14:56:31.000Z","updated_at":"2022-07-07T14:57:24.000Z","dependencies_parsed_at":"2022-09-14T22:41:30.507Z","dependency_job_id":null,"html_url":"https://github.com/hadronized/semantics","commit_stats":null,"previous_names":["hadronized/semantics","phaazon/semantics"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadronized%2Fsemantics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadronized%2Fsemantics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadronized%2Fsemantics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hadronized%2Fsemantics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hadronized","download_url":"https://codeload.github.com/hadronized/semantics/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243664034,"owners_count":20327408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-20T21:32:14.586Z","updated_at":"2025-03-15T00:22:28.231Z","avatar_url":"https://github.com/hadronized.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Semantics\n\nThe term _semantics_ here is used to describe a value / type that strongly _represents_ something else, tracking its\ntype in the type-system and carrying its representation as an integer value at runtime. Semantics allow to represent\nsomething meaningful, like a _user_, a _field_, etc. by using integers underneath. The target audience is people writing\nprotocols between two systems that are using two different namespaces.\n\nThe main motivation for this crate is [luminance], which needs to be able to _represent_ attributes (vertex attribute\nlike a position, normal, color; fragment outputs, etc.) in two different namespaces:\n\n- The Rust code, where those attributes are manipulated via regular Rust variables.\n- GLSL code, which might use different names for those variables.\n\nSemantics allow an indirection for both systems to “speak the same language” and “represent the same data.”\n\n[luminance]: https://crates.io/crates/luminance\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhadronized%2Fsemantics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhadronized%2Fsemantics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhadronized%2Fsemantics/lists"}