{"id":26283430,"url":"https://github.com/fecapark/metaball-interaction","last_synced_at":"2025-07-23T21:38:19.122Z","repository":{"id":199585384,"uuid":"664527892","full_name":"fecapark/metaball-interaction","owner":"fecapark","description":"Dynamic metaball with user interaction.","archived":false,"fork":false,"pushed_at":"2023-10-11T15:22:18.000Z","size":198,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T09:52:13.941Z","etag":null,"topics":["interaction","interaction-design","interaction-design-project","metaball","metaball-particles","metaballs","pixi","pixi-js","pixijs","side-project"],"latest_commit_sha":null,"homepage":"https://fecapark.github.io/metaball-interaction/","language":"TypeScript","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/fecapark.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-10T07:20:44.000Z","updated_at":"2024-05-02T17:43:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"a07c75c2-c0cf-4966-a6ab-603356c1ef06","html_url":"https://github.com/fecapark/metaball-interaction","commit_stats":null,"previous_names":["fecapark/metaball-interaction"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fecapark/metaball-interaction","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fecapark%2Fmetaball-interaction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fecapark%2Fmetaball-interaction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fecapark%2Fmetaball-interaction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fecapark%2Fmetaball-interaction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fecapark","download_url":"https://codeload.github.com/fecapark/metaball-interaction/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fecapark%2Fmetaball-interaction/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266753962,"owners_count":23979144,"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-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["interaction","interaction-design","interaction-design-project","metaball","metaball-particles","metaballs","pixi","pixi-js","pixijs","side-project"],"created_at":"2025-03-14T17:18:43.887Z","updated_at":"2025-07-23T21:38:19.113Z","avatar_url":"https://github.com/fecapark.png","language":"TypeScript","readme":"# Metaball Interaction\n\nby fecapark\n\n## Demo\n\n[Project Link](https://fecapark.github.io/metaball-interaction/)\n\n![demo](https://github.com/fecapark/metaball-interaction/assets/101973955/fdc98c7d-f485-462c-8f27-ad7e440a5e00)\n\n## Implementing Metaballs\n\n[Blog](https://velog.io/@fecapark/%EC%9C%A0%EC%A0%80-%EC%9D%B8%ED%84%B0%EB%9E%99%EC%85%98%EA%B3%BC-%EB%A9%94%ED%83%80%EB%B3%BC-%ED%9A%A8%EA%B3%BC%EB%A5%BC-%ED%95%A9%EC%B9%98%EB%A9%B4-Metaball-Interaction)\n\nIn computer graphics, [metaballs](https://en.wikipedia.org/wiki/Metaballs) can be implemented using alpha-[thresholding](\u003chttps://en.wikipedia.org/wiki/Thresholding_(image_processing)\u003e) method with [Gaussian Blur](https://en.wikipedia.org/wiki/Gaussian_blur).\n\n![demo](https://github.com/fecapark/metaball-interaction/assets/101973955/f27269ee-b861-465e-8725-3f7a070a868b)\n\nIn general, 60fps was possible, due to WebGL([PIXI.js](https://github.com/pixijs/pixijs)) for high performance.\n\nI need blur filter and alpha-threshold filter, but PIXI.js doesn't have the threshold filter, so I made [it](https://github.com/fecapark/metaball-interaction/blob/master/src/utils/filters.ts) using GLSL.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffecapark%2Fmetaball-interaction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffecapark%2Fmetaball-interaction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffecapark%2Fmetaball-interaction/lists"}