{"id":16937032,"url":"https://github.com/heroickatora/zosimos","last_synced_at":"2025-03-22T12:32:05.896Z","repository":{"id":39790642,"uuid":"335420976","full_name":"HeroicKatora/zosimos","owner":"HeroicKatora","description":"Image operations, quick and embeddable that you might barely believe it running","archived":false,"fork":false,"pushed_at":"2024-12-16T19:21:46.000Z","size":3843,"stargazers_count":7,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-18T11:11:24.134Z","etag":null,"topics":["gpu","hacktoberfest","spirv"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HeroicKatora.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":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-02T20:56:12.000Z","updated_at":"2024-12-12T08:17:48.000Z","dependencies_parsed_at":"2024-09-15T21:42:24.887Z","dependency_job_id":"a2e80f59-b019-4b05-8431-67a1bdedad9b","html_url":"https://github.com/HeroicKatora/zosimos","commit_stats":null,"previous_names":["heroickatora/zosimos","heroickatora/stealth-paint"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeroicKatora%2Fzosimos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeroicKatora%2Fzosimos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeroicKatora%2Fzosimos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeroicKatora%2Fzosimos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HeroicKatora","download_url":"https://codeload.github.com/HeroicKatora/zosimos/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244959444,"owners_count":20538625,"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":["gpu","hacktoberfest","spirv"],"created_at":"2024-10-13T20:58:30.359Z","updated_at":"2025-03-22T12:32:05.854Z","avatar_url":"https://github.com/HeroicKatora.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zosimos\n\nA library for common image operations, so quick and embeddable that you might\nbarely notice it running. At least that's the goal. The implementation uses\npre-built GPU pipelines, the same you will find used in video games, to wrap an\nimage manipulation interface more familiar from CPU-based libraries.\n\nPlan: See \u003cdocs/roadmap.md\u003e.\n\nIdeas for contributions: See \u003cdocs/ideas.md\u003e.\n\n## How to run\n\nThis is currently a library. You can run its test suite which will also contain\nusage examples for various different editing jobs.\n\nWork-In-Progress: An interactive 'editor' interface is being sketched in\n`bin/editor`.\n\nWork-In-Progress: An non-interactive scripting interface that maps the command\noperations and whole compile process should be built in `bin/sh`. Here we will\nfocus on a *batch* use case since re-use of the pipeline is a big computational\nadvantage. (It remains to be seen if caches can be implemented).\n\n## Project philosophy and goals\n\n\u003e AM/FM\n\u003e =====\n\u003e\n\u003e AM/FM is an engineer's term distinguishing the inevitable clunky real-world\n\u003e faultiness of \"Actual Machines\" from the power-fantasy techno-dreams of\n\u003e \"Fucking Magic.\" (Source: Turkey City Lexicon)\n\nFor more see \u003cdocs/philosophy.md\u003e.\n\n## How to test\n\n_Warning_: The test suite checks for _pixel-accurate results_ by doing a CRC\ncheck on the contents of images. It is somewhat likely that those fail on your\nmachine as there are allowed differences in the exact floating point math.\nThis, for example, affects rotated images sampled with `Nearest` pixels as well\nas buffer stores relying on the driver to perform `sRGB` encoding,\nfloat-scaling, interpolation of vertex attributes across fragments etc.\n\nRun on the first time, then run:\n\n```\nZOSIMOS_BLESS=1 cargo test --release\ncargo test\n```\n\nAs an added benefit, the first call will produce a debug version of all test\nresults in the form of `png` images within the [`tests/debug`](./tests/debug)\nfolder.\n\n## How it works\n\nThis project never had the goals of being a cairo alternative. Learning from\ngraphics interfaces, we rely on a declarative and ahead-of-time specification\nof your operations pipeline. We also assume that any resources (except\ntemporary inputs and outputs byte buffers) are owned by a library object. This\nhas the advantage that we might reuse memory, have intermediate results that\nare never backed by CPU accessible memory, may change certain layouts and\nsampling descriptors on the fly, and can plan execution steps and resource\nutilization transparently.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheroickatora%2Fzosimos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheroickatora%2Fzosimos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheroickatora%2Fzosimos/lists"}