{"id":14981225,"url":"https://github.com/milcktoast/particulate-medusae","last_synced_at":"2025-05-08T21:22:00.773Z","repository":{"id":25165661,"uuid":"28588638","full_name":"milcktoast/particulate-medusae","owner":"milcktoast","description":"Soft body jellyfish simulation.","archived":false,"fork":false,"pushed_at":"2016-01-03T20:48:34.000Z","size":12018,"stargazers_count":303,"open_issues_count":0,"forks_count":42,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-03-31T18:21:33.631Z","etag":null,"topics":["physics","three-js","webgl"],"latest_commit_sha":null,"homepage":"https://milcktoast.com/medusae/","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/milcktoast.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":"2014-12-29T10:28:09.000Z","updated_at":"2025-03-21T18:47:36.000Z","dependencies_parsed_at":"2022-07-09T14:30:28.225Z","dependency_job_id":null,"html_url":"https://github.com/milcktoast/particulate-medusae","commit_stats":null,"previous_names":["milcktoast/particulate-medusae"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milcktoast%2Fparticulate-medusae","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milcktoast%2Fparticulate-medusae/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milcktoast%2Fparticulate-medusae/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milcktoast%2Fparticulate-medusae/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/milcktoast","download_url":"https://codeload.github.com/milcktoast/particulate-medusae/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253150089,"owners_count":21861831,"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":["physics","three-js","webgl"],"created_at":"2024-09-24T14:03:10.302Z","updated_at":"2025-05-08T21:22:00.722Z","avatar_url":"https://github.com/milcktoast.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Medusae][medusae-url]\n\n[![Medusae][medusae-image-url]][medusae-url]\n\n\u003e Soft body jellyfish simulation.\n\n### Source\n\n* Jellyfish physics and graphics: [Medusae.js][medusae-source-url]\n* Jellyfish hood shader: [bulb-frag.glsl][hood-glsl-source-url]\n* Point repulsor: [PointRepulsorForce.js][point-force-source-url]\n* Ambient dust animation and graphics: [Dust.js][dust-source-url] and [dust-vert.glsl][dust-glsl-source-url]\n* Interpolated physics rendering: [Looper.js][looper-source-url] and [lerp_pos_vertex.glsl][lerp-vert-source-url]\n* WebAudio player: [AudioController.js][audio-source-url]\n* Canvas graph: [GraphComponent.js][graph-source-url]\n* Lens dirt post effect: [LensDirtPass.js][lens-dirt-source-url]\n\n### Process\n\n* Screenshot and video [album][flickr-album-url]\n* Progress release [code and builds][source-releases-url]\n* Procedural GLSL hood texture [sketch][hood-glsl-url]\n* Procedural Canvas2D water drop texture [sketch][water-canvas-url]\n* Canvas graph [sketch][canvas-graph-url]\n\n### Resources\n\n* Photography of [Alexander Semenov][semenov-url]\n* Paper on [advanced character physics][character-physics-url] by Thomas Jakobsen\n* Article on [interpolated physics rendering][interpolated-physics-url] by Andrew Petersen\n\n### Credits\n\n* Concept, Design \u0026 Code: [Jay Weeks][portfolio-url]\n* Audio Design: JP Arsenault\n* Physics: [Particulate][particulate-url]\n* Graphics: [Three][three-url]\n\n### License\n\nThe Artistic License 2.0, see [LICENSE][license-source-url] for details.\n\n### Development\n\n[Grunt][grunt-url] is used for building and developing the project.\n\n```sh\nnpm install\ngrunt server\n```\n\n[medusae-url]: https://jayweeks.com/medusae/\n[medusae-image-url]: https://farm2.staticflickr.com/1628/23884999242_457d932c7a_h.jpg\n\n[medusae-source-url]: https://github.com/jpweeks/particulate-medusae/blob/master/static/js/items/Medusae.js\n[hood-glsl-source-url]: https://github.com/jpweeks/particulate-medusae/blob/master/static/glsl/shaders/bulb-frag.glsl\n[point-force-source-url]: https://github.com/jpweeks/particulate-medusae/blob/master/static/js/forces/PointRepulsorForce.js\n[dust-source-url]: https://github.com/jpweeks/particulate-medusae/blob/master/static/js/items/Dust.js\n[dust-glsl-source-url]: https://github.com/jpweeks/particulate-medusae/blob/master/static/glsl/shaders/dust-vert.glsl\n[looper-source-url]: https://github.com/jpweeks/particulate-medusae/blob/master/static/js/utils/Looper.js\n[lerp-vert-source-url]: https://github.com/jpweeks/particulate-medusae/blob/master/static/glsl/shader-chunks/lerp_pos_vertex.glsl\n[audio-source-url]: https://github.com/jpweeks/particulate-medusae/blob/master/static/js/controllers/AudioController.js\n[graph-source-url]: https://github.com/jpweeks/particulate-medusae/blob/master/static/js/components/GraphComponent.js\n[lens-dirt-source-url]: https://github.com/jpweeks/particulate-medusae/blob/master/static/js/post-processing/LensDirtPass.js\n\n[flickr-album-url]: https://www.flickr.com/photos/jpweeks/sets/72157646887502644/\n[source-releases-url]: https://github.com/jpweeks/particulate-medusae/releases\n[hood-glsl-url]: http://glslsandbox.com/e#20575.0\n[water-canvas-url]: https://jsbin.com/guqodi/11/edit?js,output\n[canvas-graph-url]: https://jsbin.com/yoteko/10/edit?js,output\n\n[semenov-url]: https://www.flickr.com/photos/a_semenov/7570746886/\n[character-physics-url]: http://web.archive.org/web/20080410171619/http://www.teknikus.dk/tj/gdc2001.htm\n[interpolated-physics-url]: http://kirbysayshi.com/2013/09/24/interpolated-physics-rendering.html\n\n[portfolio-url]: https://jayweeks.com\n[source-url]: https://github.com/jpweeks/particulate-medusae\n[three-url]: http://threejs.org\n[particulate-url]: http://particulatejs.org\n\n[license-source-url]: https://github.com/jpweeks/particulate-medusae/blob/master/LICENSE\n[grunt-url]: http://gruntjs.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilcktoast%2Fparticulate-medusae","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmilcktoast%2Fparticulate-medusae","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilcktoast%2Fparticulate-medusae/lists"}