{"id":"nezuo/spark","name":"spark","scope":"nezuo","platform":"roblox","description":"Mirrored from the Wally registry.","version":"0.3.1","latest":"0.3.1","versions":["0.2.0","0.2.1","0.2.2","0.3.0","0.3.1"],"license":"MIT","licenseRating":"safe","licenseCaveats":["License identified from the packaged LICENSE file; the manifest declared none."],"licenseVerified":true,"dependencies":{"evaera/promise":{"version":"^4.0.0","alias":"Promise"}},"integrity":"86c7bb3afd3f87831b9782e390bbefe58c2718092e100b958af7e6b7e5884a8e","likes":0,"downloads":0,"install":"forest install nezuo/spark","url":"https://forest.dev/p/roblox/nezuo/spark","files":"https://api.forest.dev/ai/package/roblox/nezuo/spark/files","readme":"# Spark\nSpark is an input-action manager for Roblox.\n\n## Features\n- Supports button, 1D, and 2D inputs.\n- Create virtual 1D/2D inputs using `VirtualAxis1d`/`VirtualAxis2d`.\n- Store all your input mappings in a single `InputMap` object.\n- Rebind inputs using APIs like `InputMap:insert` and `InputMap:remove`.\n\n## Example\n```lua\nlocal actions = Actions.new({\"attack\", \"move\" })\n\nactions:justPressedSignal(\"attack\"):connect(function()\n    print(\"Attacked!\")\nend)\n\nRunService.Heartbeat:Connect(function()\n    print(\"Moved\", actions:clampedAxis2d(\"move\"))\nend)\n```\n\nTo get started, visit the [docs](https://nezuo.github.io/spark).","readmeBorrowedFrom":{"version":"0.2.0","source":"wally"},"readmeTruncated":false}