{"id":30305315,"url":"https://github.com/caed0/particle-playground","last_synced_at":"2025-08-17T08:08:38.359Z","repository":{"id":307375290,"uuid":"1028931632","full_name":"caed0/particle-playground","owner":"caed0","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-30T21:57:59.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-31T00:20:35.859Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/caed0.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":"2025-07-30T09:17:37.000Z","updated_at":"2025-07-30T21:58:03.000Z","dependencies_parsed_at":"2025-07-31T00:34:49.411Z","dependency_job_id":null,"html_url":"https://github.com/caed0/particle-playground","commit_stats":null,"previous_names":["caed0/particle-playground"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/caed0/particle-playground","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caed0%2Fparticle-playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caed0%2Fparticle-playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caed0%2Fparticle-playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caed0%2Fparticle-playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caed0","download_url":"https://codeload.github.com/caed0/particle-playground/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caed0%2Fparticle-playground/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270820793,"owners_count":24651534,"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-08-17T02:00:09.016Z","response_time":129,"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":[],"created_at":"2025-08-17T08:08:37.838Z","updated_at":"2025-08-17T08:08:38.347Z","avatar_url":"https://github.com/caed0.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Particle Playground\n\nA customizable particle system with interactive particles, connections, and various visual effects.\n\n## Settings Guide\n\n### System Settings\n\n#### Initial Setup\n- **initialParticles**: How many particles to create when starting (default: 150)\n- **initialSpawnPositions**: Where particles first appear (options: 'random', 'center', 'top', 'bottom', etc.)\n- **clearCanvas**: Whether to clear the screen each frame (true/false)\n- **showDebugInfo**: Show FPS and particle count on screen (true/false)\n\n#### Dynamic Adjustment\n- **autoSpawn**: Automatically create new particles (true/false)\n- **autoDestroy**: Automatically remove excess particles (true/false)\n- **minParticles**: Minimum number of particles to maintain\n- **maxParticles**: Maximum number of particles allowed\n- **adjustmentInterval**: How often to check particle count (in milliseconds)\n\n#### Background\n- **type**: Background style ('color' or 'gradient')\n- **color**: Solid background color (hex code like '#111111')\n- **gradient**: Gradient settings with colors and direction\n\n### Particle Settings\n\n#### Appearance\n- **size**: Particle size range (min/max values)\n- **color**: Particle color (hex code like '#00ff40')\n- **opacity**: How transparent particles are (0-1)\n- **shape**: Particle shape ('circle', 'square', 'triangle', 'star', 'diamond', 'plus', 'hexagon', 'pentagon', 'char')\n- **shadow**: Drop shadow effect with color and radius\n- **fading**: Fade in/out effects with timing\n\n#### Movement Behavior\n- **enabled**: Whether particles move (true/false)\n- **speed**: How fast particles move (min/max values)\n- **direction**: Movement direction ('random', 'up', 'down', 'left', 'right', 'center', 'edge', etc.)\n\n#### Spawning\n- **spawnPositions**: Where new particles appear\n- **spawningOffset**: Distance from edges when spawning\n- **spawnGrid**: Grid-based spawning (columns/rows)\n- **respawn**: Whether particles respawn after dying (true/false)\n\n#### Life \u0026 Death\n- **ttl** (Time To Live): How long particles live before dying\n- **enabled**: Whether particles have limited lifespan (true/false)\n- **min/max**: Lifespan range in seconds\n\n#### Physics\n- **bounceOffEdges**: Particles bounce off screen edges (true/false)\n- **bounceOffParticles**: Particles bounce off each other (true/false)\n\n### Connection Settings\n- **enabled**: Show lines between nearby particles (true/false)\n- **distance**: Maximum distance for connections\n- **maxConnections**: Maximum connections per particle\n- **color**: Connection line color\n- **opacity**: Connection line transparency\n- **lineWidth**: Connection line thickness\n- **lineStyle**: Line style ('solid', 'dashed', 'dotted', 'double')\n\n### Particle Interactions\n- **enabled**: Particles attract/repel each other (true/false)\n- **attraction**: Pull particles together (force/radius)\n- **repulsion**: Push particles apart (force/radius)\n- **mode**: Interaction type ('attract', 'repel', 'both')\n\n### Mouse Interactions\n- **spawn**: Click/drag to create particles\n- **enabled**: Allow mouse spawning (true/false)\n- **amount**: Particles created per click\n- **continuous**: Keep spawning while dragging (true/false)\n- **delay**: Time between spawns when dragging (milliseconds)\n\n## Spawn Position Options\n- `random` - Anywhere on screen\n- `center` - Screen center\n- `top/bottom/left/right` - Screen edges\n- `top-left/top-right/bottom-left/bottom-right` - Corners\n- `random-edge` - Random edge\n- `random-corner` - Random corner\n\n## Shape Options\n- `circle` - Round particles\n- `square` - Square particles\n- `triangle` - Triangle particles\n- `diamond` - Diamond particles\n- `star` - Star particles\n- `plus` - Plus sign particles\n- `hexagon` - Six-sided particles\n- `pentagon` - Five-sided particles\n- `char` - Random letter/number particles\n\n## Usage\n1. Open `demo/index.html` in a web browser\n2. Modify settings in the JavaScript files\n3. Refresh to see changes\n4. Click and drag to spawn particles with mouse\n\n## Files\n- `ParticleSystem.js` - Main system controller\n- `Particle.js` - Individual particle behavior\n- `Connections.js` - Particle connection lines\n- `demo/` - Example implementation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaed0%2Fparticle-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaed0%2Fparticle-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaed0%2Fparticle-playground/lists"}