{"id":23049879,"url":"https://github.com/vssekorin/parser-obj","last_synced_at":"2025-10-10T09:07:37.085Z","repository":{"id":62435339,"uuid":"147925047","full_name":"vssekorin/parser-obj","owner":"vssekorin","description":"Wavefront 3D object file (.obj) parser","archived":false,"fork":false,"pushed_at":"2019-01-18T08:37:25.000Z","size":68,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-21T10:55:42.838Z","etag":null,"topics":["clojure","jvm","wavefront-obj"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vssekorin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-08T10:47:22.000Z","updated_at":"2021-03-13T19:47:12.000Z","dependencies_parsed_at":"2022-11-01T21:30:28.303Z","dependency_job_id":null,"html_url":"https://github.com/vssekorin/parser-obj","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/vssekorin/parser-obj","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vssekorin%2Fparser-obj","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vssekorin%2Fparser-obj/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vssekorin%2Fparser-obj/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vssekorin%2Fparser-obj/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vssekorin","download_url":"https://codeload.github.com/vssekorin/parser-obj/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vssekorin%2Fparser-obj/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003388,"owners_count":26083579,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["clojure","jvm","wavefront-obj"],"created_at":"2024-12-15T23:17:38.331Z","updated_at":"2025-10-10T09:07:37.064Z","avatar_url":"https://github.com/vssekorin.png","language":"Clojure","readme":"# parser-obj\n\n[![Clojars Project](https://img.shields.io/clojars/v/com.vssekorin/parser-obj.svg)](https://clojars.org/com.vssekorin/parser-obj)\n\nJust one function: `parse`.\n\n`(parse \"model.obj\")`\n\n### Example\n\nFile:\n```text\nv -0.000581696 -0.734665 -0.623267\nv 0.000283538 -1 0.286843\nv -0.117277 -0.973564 0.306907\n\nvt  0.532 0.923 0.000\nvt  0.535 0.917 0.000\nvt  0.542 0.923 0.000\nvt  0.541 0.929 0.000\n\n# comment\nvn  0.001 0.482 -0.876\nvn  -0.001 0.661 0.751\n\nf 24/1/24 25/2/25 26/3/26\nf 24/1/24 26/3/26 23/4/23\nf 28/5/28 29/6/29 30/7/30\nf 28/5/28 30/7/30 27/8/27\nf 32/9/32 33/10/33 34/11/34\nf 32/9/32 34/11/34 31/12/31\n```\n\nResult:\n\n```clojure\n  {:v [{:x -5.81696E-4, :y -0.734665, :z -0.623267}\n       {:x 2.83538E-4, :y -1.0, :z 0.286843}\n       {:x -0.117277, :y -0.973564, :z 0.306907}],\n   :f [({:v 24, :vt 1, :vn 24} {:v 25, :vt 2, :vn 25} {:v 26, :vt 3, :vn 26})\n       ({:v 24, :vt 1, :vn 24} {:v 26, :vt 3, :vn 26} {:v 23, :vt 4, :vn 23})\n       ({:v 28, :vt 5, :vn 28} {:v 29, :vt 6, :vn 29} {:v 30, :vt 7, :vn 30})\n       ({:v 28, :vt 5, :vn 28} {:v 30, :vt 7, :vn 30} {:v 27, :vt 8, :vn 27})\n       ({:v 32, :vt 9, :vn 32} {:v 33, :vt 10, :vn 33} {:v 34, :vt 11, :vn 34})\n       ({:v 32, :vt 9, :vn 32} {:v 34, :vt 11, :vn 34} {:v 31, :vt 12, :vn 31})],\n   :vt [{:u 0.532, :v 0.923, :w 0.0}\n        {:u 0.535, :v 0.917, :w 0.0}\n        {:u 0.542, :v 0.923, :w 0.0}\n        {:u 0.541, :v 0.929, :w 0.0}],\n   :vn [{:x 0.001, :y 0.482, :z -0.876}\n        {:x -0.001, :y 0.661, :z 0.751}],\n   :vp []}\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvssekorin%2Fparser-obj","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvssekorin%2Fparser-obj","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvssekorin%2Fparser-obj/lists"}