{"id":19114476,"url":"https://github.com/pinebit/jetpipes","last_synced_at":"2026-06-21T17:31:12.539Z","repository":{"id":90867422,"uuid":"260478089","full_name":"pinebit/JetPipes","owner":"pinebit","description":"Yet another \"pipes screensaver\" powered by Qt3D","archived":false,"fork":false,"pushed_at":"2021-04-17T15:59:47.000Z","size":1607,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-22T12:12:20.619Z","etag":null,"topics":["3d-graphics","qt3d","splines"],"latest_commit_sha":null,"homepage":null,"language":"C++","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/pinebit.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":"2020-05-01T14:25:11.000Z","updated_at":"2020-11-26T23:48:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"8285e534-9412-49ab-8b7b-2d6f413a397a","html_url":"https://github.com/pinebit/JetPipes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pinebit/JetPipes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinebit%2FJetPipes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinebit%2FJetPipes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinebit%2FJetPipes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinebit%2FJetPipes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pinebit","download_url":"https://codeload.github.com/pinebit/JetPipes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinebit%2FJetPipes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34620358,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"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":["3d-graphics","qt3d","splines"],"created_at":"2024-11-09T04:42:20.207Z","updated_at":"2026-06-21T17:31:12.518Z","avatar_url":"https://github.com/pinebit.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JetPipes\n\nYet another \"pipes screensaver\" powered by Qt3D.\n\nWatch the live demo: https://www.youtube.com/watch?v=uZ8aALwel68\n\n![screenshot](screenshot.png)\n\n## Rules\n\nThe default configuration defines 32 tubes randomly growing in a sphere of R=100 units.\nTubes cannot intersect each other, as well as they cannot grow beyond the scene's sphere.\nEach tube is given several attempts to find the next point satisfying all requirements.\nIf a tube is stuck, it stops growing and when vast majority of tubes cannot advance, \nthe scene got reset and start all over again.\n\n## Controls\n\nPress ESC key to close the app. Space key to toggle fullscreen/windowed mode.\n\n## Technical Background\n\nThe application uses Qt3D module: https://doc.qt.io/qt-5/qt3d-index.html for visualization.\nEach tube is defined by set of 3D points which then interpolated using Centripetal Catmull–Rom splines: \nhttps://en.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline\n\nAfter the final tube's path is estimated, the guided extrusion math is applied to generate the tube's mesh.\nThe current implementation is not very optimal in terms of performace, as it keeps regenerating all splines,\neven for the immutable parts.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinebit%2Fjetpipes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpinebit%2Fjetpipes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinebit%2Fjetpipes/lists"}