{"id":44494832,"url":"https://github.com/chadnaut/attract-mode-experiments","last_synced_at":"2026-02-13T05:00:52.293Z","repository":{"id":228327845,"uuid":"768882132","full_name":"Chadnaut/Attract-Mode-Experiments","owner":"Chadnaut","description":"Attract-Mode work-in-progress proof-of-concept experiments","archived":false,"fork":false,"pushed_at":"2025-10-28T13:15:13.000Z","size":20179,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-28T15:15:10.773Z","etag":null,"topics":["attract-mode"],"latest_commit_sha":null,"homepage":"","language":"Squirrel","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/Chadnaut.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-07T22:54:58.000Z","updated_at":"2025-10-28T13:15:17.000Z","dependencies_parsed_at":"2024-05-02T02:58:02.200Z","dependency_job_id":"7be5fc1d-7372-457b-8487-bf3d0d742ed0","html_url":"https://github.com/Chadnaut/Attract-Mode-Experiments","commit_stats":null,"previous_names":["chadnaut/attract-mode-experiments"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Chadnaut/Attract-Mode-Experiments","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chadnaut%2FAttract-Mode-Experiments","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chadnaut%2FAttract-Mode-Experiments/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chadnaut%2FAttract-Mode-Experiments/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chadnaut%2FAttract-Mode-Experiments/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chadnaut","download_url":"https://codeload.github.com/Chadnaut/Attract-Mode-Experiments/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chadnaut%2FAttract-Mode-Experiments/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29396847,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T04:26:15.637Z","status":"ssl_error","status_checked_at":"2026-02-13T04:16:29.732Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["attract-mode"],"created_at":"2026-02-13T05:00:27.750Z","updated_at":"2026-02-13T05:00:52.284Z","avatar_url":"https://github.com/Chadnaut.png","language":"Squirrel","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Attract Mode Experiments\n\n\u003e Attract-Mode Experiments  \n\u003e Chadnaut 2025  \n\u003e https://github.com/Chadnaut/Attract-Mode-Experiments  \n\u003e\\\n\u003e[\u003cimg src=\"https://github.com/Chadnaut/Attract-Mode-Plus-Squirrel/blob/master/assets/images/banner.png?raw=true\" width=\"48\" align=\"left\"\u003e][extension]\nGet the [*AM+ Squirrel*][extension] extension for VS Code\n\u003cbr\u003e\u003csup\u003e\u003csub\u003eA suite of support tools to enhance your AM+ development experience. Code completions, highlighting, linting, formatting, and more!\u003c/sub\u003e\u003c/sup\u003e\n\n[extension]: https://marketplace.visualstudio.com/items?itemName=chadnaut.am-squirrel\n\n## Disclaimer\n\nThese are work-in-progress proof-of-concept experiments. They may be unfinished, non-performant, or broken.\n\n## Experiments\n\n- *Debug* - Testing or debugging during development.\n- *Element* - A new layout element with unique behaviors.\n- *Shader* - Adds an effect to an existing layout element.\n- *Utility* - Additional functions and classes.\n\n[ArtworkRatio]: ./layouts/Experiment.ArtworkRatio/layout.nut\n[Bezel]: ./layouts/Experiment.Bezel/layout.nut\n[BoxArt]: ./layouts/Experiment.BoxArt/layout.nut\n[BumpMap]: ./layouts/Experiment.BumpMap/layout.nut\n[Cathode]: ./layouts/Experiment.Cathode/layout.nut\n[Clock]: ./layouts/Experiment.Clock/layout.nut\n[CubeMap]: ./layouts/Experiment.CubeMap/layout.nut\n[Cylinder]: ./layouts/Experiment.Cylinder/layout.nut\n[DisplayOffset]: ./layouts/Experiment.DisplayOffset/README.md\n[Keyboard]: ./layouts/Experiment.Keyboard/layout.nut\n[LCD]: ./layouts/Experiment.LCD/layout.nut\n[Mallow]: ./layouts/Experiment.Mallow/layout.nut\n[Panorama]: ./layouts/Experiment.Panorama/layout.nut\n[Pitcher]: ./layouts/Experiment.Pitcher/layout.nut\n[Playground]: ./layouts/Experiment.Playground/layout.nut\n[Plotter]: ./layouts/Experiment.Plotter/layout.nut\n[RandomLaunch]: ./plugins/RandomLaunch/plugin.nut\n[Reflection]: ./layouts/Experiment.Reflection/layout.nut\n[RetroZoom]: ./layouts/Experiment.RetroZoom/layout.nut\n[Sand]: ./layouts/Experiment.Sand/README.md\n[Segmental]: ./layouts/Experiment.Segmental/layout.nut\n[SpinBox]: ./layouts/Experiment.SpinBox/layout.nut\n[UltraSweep]: ./layouts/Experiment.UltraSweep/layout.nut\n\n|Preview|Version|Description|Type|Demo|\n|-|-|-|-|-|\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.ArtworkRatio/example.png\"/\u003e][ArtworkRatio]|`v0.0.1`|[ArtworkRatio] - Match an Artworks aspect ratio.|*Utility*|[Example][ArtworkRatio]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Bezel/example.png\"/\u003e][Bezel]|`v0.0.1`|[Bezel] - Bezel reflection effects.|*Shader*|[Example][Bezel]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.BoxArt/example.png\"/\u003e][BoxArt]|`v0.2.0`|[BoxArt] - A Shader that adds a conforming reflection to angled boxart images.|*Shader*|[Example][BoxArt]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.BumpMap/example.png\"/\u003e][BumpMap]|`v0.0.1`|[BumpMap] - Simple bumpmap effects.|*Shader*|[Example][BumpMap]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Cathode/example.png\"/\u003e][Cathode]|`v0.0.1`|[Cathode] - Cubemap, bezel glow, and screen corners.|*Shader*|[Example][Cathode]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Clock/example.png\"/\u003e][Clock]|`v0.0.1`|[Clock] - A realtime animated clock.|*Element*|[Example][Clock]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.CubeMap/example.png\"/\u003e][CubeMap]|`v0.0.1`|[CubeMap] - Cubemap distortion effects.|*Shader*|[Example][CubeMap]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Cylinder/example.png\"/\u003e][Cylinder]|`v0.0.1`|[Cylinder] - A cylinder effect.|*Shader*|[Example][Cylinder]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.DisplayOffset/example.png\"/\u003e][DisplayOffset]|`v0.0.2`|[DisplayOffset] - Adds a `display_offset` property which is used to shift assets by display. *Currently Broken.*|*Utility*|[Example][DisplayOffset]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Keyboard/example.png\"/\u003e][Keyboard]|`v1.0.0`|[Keyboard] - Test keyboard, mouse, and joystick inputs.|*Utility*|[Example][Keyboard]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.LCD/example.png\"/\u003e][LCD]|`v0.0.1`|[LCD] - A shader that pixelates and monotones the image to create an LCD effect.|*Shader*|[Example][LCD]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Mallow/example.png\"/\u003e][Mallow]|`v0.0.1`|[Mallow] - Happy little marshmallows! *Requires AM+ 3.1.0*|*Utility*|[Example][Mallow]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Panorama/example.png\"/\u003e][Panorama]|`v0.0.1`|[Panorama] - A panoramic screen example.|*Shader*|[Example][Panorama]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Pitcher/example.png\"/\u003e][Pitcher]|`v0.0.1`|[Pitcher] - Demo showing sound pitch and volume effects. *Requires AM+ 3.1.0*|*Utility*|[Example][Pitcher]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Playground/example.png\"/\u003e][Playground]|`v0.0.2`|[Playground] - Test Artwork properties using a realtime editor.|*Utility*|[Example][Playground]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Plotter/example.png\"/\u003e][Plotter]|`v0.0.2`|[Plotter] - Plot charts to test math and easing functions.|*Utility*|[Example][Plotter]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./plugins/RandomLaunch/example.png\"/\u003e][RandomLaunch]|`v0.0.1`|[RandomLaunch] - Randomly select and launch an unplayed game.|*Plugin*|[Example][RandomLaunch]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Reflection/example.png\"/\u003e][Reflection]|`v0.0.1`|[Reflection] - A shader that creates a mipmap based blur effect.|*Shader*|[Example][Reflection]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.RetroZoom/example.png\"/\u003e][RetroZoom]|`v0.0.1`|[RetroZoom] - Scale an image over a non-clearing surface to produce a retro zoom effect.|*Utility*|[Example][RetroZoom]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Sand/example3.png\"/\u003e][Sand]|`v0.0.3`|[Sand] - Something different with a surface shader feedback loop. *Now with Sand, Fire \u0026 Plasma!*|*Shader*|[Example][Sand]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.Segmental/example.png\"/\u003e][Segmental]|`v0.0.1`|[Segmental] - A Clock made with Rectangle segments.|*Element*|[Example][Segmental]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.SpinBox/example.png\"/\u003e][SpinBox]|`v0.0.1`|[SpinBox] - A fake 3D spinning box.|*Utility*|[Example][SpinBox]\n|[\u003cimg width=\"64\" height=\"42\" src=\"./layouts/Experiment.UltraSweep/example.png\"/\u003e][UltraSweep]|`v0.0.1`|[UltraSweep] - Zero asset light sweep effect.|*Utility*|[Example][UltraSweep]\n\n## Looking for More?\n\nWhen code graduates from an experiment to a full-featured module it gets moved to the Modules repo:\n\n- https://github.com/Chadnaut/Attract-Mode-Modules\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchadnaut%2Fattract-mode-experiments","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchadnaut%2Fattract-mode-experiments","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchadnaut%2Fattract-mode-experiments/lists"}