{"_id":"@ringozz/react-godot","_rev":"30-af271a1b35cefdfee4b5add7f5e11fe0","name":"@ringozz/react-godot","dist-tags":{"latest":"4.7.2-626"},"versions":{"0.1.0":{"name":"@ringozz/react-godot","version":"0.1.0","author":"Vladimir Davidovich","_id":"@ringozz/react-godot@0.1.0","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"2d11f25a4986f15bc72e577dd1b4078940a5a87d","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-0.1.0.tgz","fileCount":6,"integrity":"sha512-JZoIUPX2lk15gWqE1TO7+fhc1VT2tt/enolP+RUFKI5Laz1LZIrGu5VIPS2YuiUsoLfqB+Ndnc/kKxvY36PqoQ==","signatures":[{"sig":"MEYCIQD1nrEFJc3jIoAvqr32YU57HpQjtu5XLCv+LGm+rwC8kgIhAL9L56XJFeJxcNGezU5eAUrMCgtFXx5hP2EO4K2LOdgh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16675},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"2d11f25a4986f15bc72e577dd1b4078940a5a87d","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-JZoIUPX2lk15gWqE1TO7+fhc1VT2tt/enolP+RUFKI5Laz1LZIrGu5VIPS2YuiUsoLfqB+Ndnc/kKxvY36PqoQ==","_npmVersion":"10.8.3","description":"React reconciler bindings for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/react":"^19.2.0","@types/react-reconciler":"^0.33.0"},"peerDependencies":{"react":"^19.2.0","@ringozz/godot":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_0.1.0_1785607318639_0.91717886688871","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ringozz/react-godot","version":"0.1.1","author":"Vladimir Davidovich","_id":"@ringozz/react-godot@0.1.1","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"18200757eb2db61d6641a7fcc09eec5c5845282f","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-0.1.1.tgz","fileCount":7,"integrity":"sha512-5xxrneDyBSCNFyNVnaiLF4XPzpkbRQc2uKQHErxJW3mw/ce1mtMBr6amNRHUEt+PrbwuW2k2i3rXVLvG7fwnwQ==","signatures":[{"sig":"MEUCIFcDS2IdclmUwQGp0x4bJDsOtrtANSTvS8sDIbK38YghAiEAlCYnXWxdtbwkIa+8OdZqZE5S+DXSxyJl4ByvT/vDPUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20646},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"18200757eb2db61d6641a7fcc09eec5c5845282f","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-5xxrneDyBSCNFyNVnaiLF4XPzpkbRQc2uKQHErxJW3mw/ce1mtMBr6amNRHUEt+PrbwuW2k2i3rXVLvG7fwnwQ==","_npmVersion":"10.8.3","description":"React reconciler bindings for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/react":"^19.2.0","@types/react-reconciler":"^0.33.0"},"peerDependencies":{"react":"^19.2.0","@ringozz/godot":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_0.1.1_1785608604139_0.09997099325397452","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-0":{"name":"@ringozz/react-godot","version":"1.0.0-0","author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-0","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"d6783f66f5e6e16f0ef5075d894265a577ff7ba8","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-0.tgz","fileCount":7,"integrity":"sha512-8KoKPXu/1keuSC5wVxFN5aAkmAJVa78cqwsyvviFJA8QwYokjuGahNZ7prhzdwj2i9h6rQvWuRWNdOV+PJ0xTw==","signatures":[{"sig":"MEUCIAptwASCzUCQNtU+pxHnqh5AIipnTacdvuuisXJqNfsnAiEA0T8kW1V/X/phkdqCeFoPdmSFF/a3vADt5r8F0K3lvb4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20641},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"d6783f66f5e6e16f0ef5075d894265a577ff7ba8","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-8KoKPXu/1keuSC5wVxFN5aAkmAJVa78cqwsyvviFJA8QwYokjuGahNZ7prhzdwj2i9h6rQvWuRWNdOV+PJ0xTw==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/react":"^19.2.0","@types/react-reconciler":"^0.33.0"},"peerDependencies":{"react":"^19.2.0","@ringozz/godot":"^4.7.1-0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-0_1785611465332_0.9730974871204945","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-1":{"name":"@ringozz/react-godot","version":"1.0.0-1","author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-1","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"563ecea38c5d492948a5da72cb7ba826c9faf667","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-1.tgz","fileCount":7,"integrity":"sha512-YD9MLSrRQO/JLHNwbZqrqew4Z5nWFPqGCnsP/jhUPr/1y0F+z+ElsIPHkZJ2h21MEy9Syibyqs/lt1fFtPElyw==","signatures":[{"sig":"MEQCIE32vvNwSaEnt/zZ385DfzNezdnQXW+EJ1qgDTDQIlJQAiBtIzYafkQn3ySFY6XwL/Faht55WJ6h7qeVzYnRu2QjEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20614},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"563ecea38c5d492948a5da72cb7ba826c9faf667","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-YD9MLSrRQO/JLHNwbZqrqew4Z5nWFPqGCnsP/jhUPr/1y0F+z+ElsIPHkZJ2h21MEy9Syibyqs/lt1fFtPElyw==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"react":"^19.2.0","@types/react":"^19.2.0","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"peerDependencies":{"@ringozz/godot":"^4.7.1-2"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-1_1785665104676_0.8289534901418141","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-2":{"name":"@ringozz/react-godot","version":"1.0.0-2","author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-2","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"703fc351058771739b6b898b5a103c0ef129ce9b","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-2.tgz","fileCount":7,"integrity":"sha512-kuOhHXY81gRGx3iIkMbe2pcqvLQfR9coYx39qK6GtItV750qQycnCDkgHS9nTLn5xOQiftF4bfOa1gyeKTRm/Q==","signatures":[{"sig":"MEQCICBzc+QdAD/OOm1CENIcQOYO6L4S9T17qqCkH/6XtP4CAiBbp/BYkAGf5SWO2oa62BzzPzht2QBGblINUbnNGwJfRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20614},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"703fc351058771739b6b898b5a103c0ef129ce9b","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-kuOhHXY81gRGx3iIkMbe2pcqvLQfR9coYx39qK6GtItV750qQycnCDkgHS9nTLn5xOQiftF4bfOa1gyeKTRm/Q==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0","@ringozz/godot":"^4.7.1-3"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-2_1785666713395_0.7007074091419327","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-3":{"name":"@ringozz/react-godot","version":"1.0.0-3","author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-3","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"41a0f6575831f8d5c7668efabec31173e5902980","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-3.tgz","fileCount":7,"integrity":"sha512-8GL1vcGS+bX3NhGu6nrTRFnQnV3tAMemAUZYweNLNVij2fI62Hf9Ijdx5lY5f3AiHk1PoM+KqcaMa/VxTMuCRA==","signatures":[{"sig":"MEUCIBjV5xACtlp/Y1RiqbR8Uhp6B3so0fzs7vJjjT/FRZilAiEAiXqBvE9QT7ewgWW1OoV4sVX0FvRPZ1nRDUZ+2pI5Vnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21156},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"41a0f6575831f8d5c7668efabec31173e5902980","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-8GL1vcGS+bX3NhGu6nrTRFnQnV3tAMemAUZYweNLNVij2fI62Hf9Ijdx5lY5f3AiHk1PoM+KqcaMa/VxTMuCRA==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0","@ringozz/godot":"^4.7.1-6"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-3_1785741317518_0.42520298168486725","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-4":{"name":"@ringozz/react-godot","version":"1.0.0-4","author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-4","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"e3203b4a71f64bb4e4baeeea86b0d9133f31f21a","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-4.tgz","fileCount":7,"integrity":"sha512-tDvR6NCGbYfYaMHeFvXUKVu1fketaxE22kUAGWsHIVz1heQ9j/qLw4NdJ4m2oVwSVjAKnU2FfiQssqHJkLE5EA==","signatures":[{"sig":"MEUCIHXifVqCpV+CXbWWohxvTUD3Lv4FPlfI/VGeD8RINdQuAiEA6M7dFncCYyjAbElp2IDirlF/LAm9g+WzJJ4McqmFH4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27719},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"e3203b4a71f64bb4e4baeeea86b0d9133f31f21a","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-tDvR6NCGbYfYaMHeFvXUKVu1fketaxE22kUAGWsHIVz1heQ9j/qLw4NdJ4m2oVwSVjAKnU2FfiQssqHJkLE5EA==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-7","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-4_1785745509927_0.22117407536419065","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-5":{"name":"@ringozz/react-godot","version":"1.0.0-5","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-5","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"d3bf757c480245815b621d127b7cfe4be56e03d4","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-5.tgz","fileCount":7,"integrity":"sha512-7Xh3Syzonpbaoy3O6rvmIhNUDJyMUapXd9XiDnCcBCY+0xPK5VGrNR+9Tg/An57dMEKXA+5WwtgfHaBW5t42sQ==","signatures":[{"sig":"MEUCICAatq/k88inkY0VwNrwzyZiKiX/QqSxjZle6SIlLntEAiEAqG+z1roMoD80M4EfL/OZquWrP7ksKi30RYYWx8xR+2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28821},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"d3bf757c480245815b621d127b7cfe4be56e03d4","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-7Xh3Syzonpbaoy3O6rvmIhNUDJyMUapXd9XiDnCcBCY+0xPK5VGrNR+9Tg/An57dMEKXA+5WwtgfHaBW5t42sQ==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-8","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-5_1786272773795_0.3608296077828246","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-6":{"name":"@ringozz/react-godot","version":"1.0.0-6","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-6","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"f909d0eed487a8b94b728fec704737bda5fe40b6","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-6.tgz","fileCount":7,"integrity":"sha512-6wLFN88aPamSJ6yOlGPiLv1G86AMFAB3QAgz7OQ5mYWoEjx/zzcRbX5fR8CVChM767dgHWFrxWJZecORqPWZNA==","signatures":[{"sig":"MEYCIQDTOMtCRPdKCm2pzBAHANFfO5uId/laSAI/IMQfhEPcvgIhAKvEyPnHdrXAdY/MWdlwwjiJAdAHFf0XwizvNY9Qjh8V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29568},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"f909d0eed487a8b94b728fec704737bda5fe40b6","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-6wLFN88aPamSJ6yOlGPiLv1G86AMFAB3QAgz7OQ5mYWoEjx/zzcRbX5fR8CVChM767dgHWFrxWJZecORqPWZNA==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-9","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-6_1786788130552_0.24161777454738442","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-7":{"name":"@ringozz/react-godot","version":"1.0.0-7","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-7","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"466bf8c1e3301fceb91fdad9ebb068cd3bf61306","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-7.tgz","fileCount":7,"integrity":"sha512-l+q0ApCidFLqh85qq2DLy5LeuJHMVNkaxCGW0cT+6m/QXs1RkcX3HN60oZaMBPTHGUnU2AtVmCeY4bCUEjj0ew==","signatures":[{"sig":"MEUCIQCWOleH1fMuMiMEYA4uFz8FXjPBXdM+EgAZE7ayLjV8+wIgK+FpcsBwItHhH+SAwuRT5pQOu5m9Na1Nb3+2TRu3KOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29569},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"466bf8c1e3301fceb91fdad9ebb068cd3bf61306","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-l+q0ApCidFLqh85qq2DLy5LeuJHMVNkaxCGW0cT+6m/QXs1RkcX3HN60oZaMBPTHGUnU2AtVmCeY4bCUEjj0ew==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-11","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-7_1786801915685_0.011359536873809306","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-8":{"name":"@ringozz/react-godot","version":"1.0.0-8","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-8","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"923871277c5717b5fa8656fc1fd973eaa6d00a17","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-8.tgz","fileCount":7,"integrity":"sha512-Xg2MR6ehuu67k8riv597TA5YBabxjH/Xlog6RGEeb8FWGG5KeRCirZE1z3s54etnSZgkDokG7Ol3xaOG7uPDbQ==","signatures":[{"sig":"MEQCIHj02+UcdOV0PJItVNz+mis36fVfWZrmdfu9dCrM8OE3AiBo/zT3z5xBf5AQt0HqSU4kXcuuaGJzLI0S14cLV4aeeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30742},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"923871277c5717b5fa8656fc1fd973eaa6d00a17","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-Xg2MR6ehuu67k8riv597TA5YBabxjH/Xlog6RGEeb8FWGG5KeRCirZE1z3s54etnSZgkDokG7Ol3xaOG7uPDbQ==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-11","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-8_1786808269201_0.003375003048869507","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-9":{"name":"@ringozz/react-godot","version":"1.0.0-9","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-9","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"88363a99458d308b4dbb4465d28ece52f4258aca","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-9.tgz","fileCount":7,"integrity":"sha512-hEiZIB9XxQrIde3nFFqMwaRdbioxIwI1KZLD5Q0knGY8dMrD1eJRXKeNpvcrZwSpwel0aTPsQb4wrAP3xM5cvA==","signatures":[{"sig":"MEYCIQDddxySYPLoMF6NVD+TZOM5VU+vfMfSYrXPYFG7zso63QIhAIxKmRli7PwFZelp0SL8FPAjuBerlJ1qBDBt6ac/kGnc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30742},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"88363a99458d308b4dbb4465d28ece52f4258aca","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-hEiZIB9XxQrIde3nFFqMwaRdbioxIwI1KZLD5Q0knGY8dMrD1eJRXKeNpvcrZwSpwel0aTPsQb4wrAP3xM5cvA==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-12","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-9_1786829752668_0.994416531897218","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-10":{"name":"@ringozz/react-godot","version":"1.0.0-10","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-10","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"629d34b2977e84e3ec12e8ff895a2cef446accfa","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-10.tgz","fileCount":7,"integrity":"sha512-fTDK0wGh0U82G9zw+mec4HmLNJYgoemLILTT2jj+1+ezSGWgfsZS1Jr9VUiC1sFO6/jvSOlP/Hx9nBhKVDeY4w==","signatures":[{"sig":"MEUCIQDX4IasO6hpIGI4LUshBYAhr86UVAZEW+id87trU5F1egIgeQNJ5uWupwN+/KpTcAQ8PTwFV4hfd7RkkDE1/c/R1l4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39412},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"629d34b2977e84e3ec12e8ff895a2cef446accfa","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-fTDK0wGh0U82G9zw+mec4HmLNJYgoemLILTT2jj+1+ezSGWgfsZS1Jr9VUiC1sFO6/jvSOlP/Hx9nBhKVDeY4w==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-13","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-10_1786908262902_0.6758714692084578","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-11":{"name":"@ringozz/react-godot","version":"1.0.0-11","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-11","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"6f3cf7fd691b254f508ede6458e2c5e4116a9c1e","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-11.tgz","fileCount":7,"integrity":"sha512-WiNNymOQVnq/NYqAIkP9OFYwDoRBh04HjyBnw5gT9Z9wZluRT1bpE7CeZuN0bY8e6J8j0CLgj1G4IyGQVxIhCg==","signatures":[{"sig":"MEUCICVUffXM8VenPE4XE4Nc5V6tywiLcMm0tiPZRyrh0Rk1AiEAmZBrgYOwZfwpaYl5da8/9tqrxJ2Zm7WNDfzOWNlOtm4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39412},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"6f3cf7fd691b254f508ede6458e2c5e4116a9c1e","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-WiNNymOQVnq/NYqAIkP9OFYwDoRBh04HjyBnw5gT9Z9wZluRT1bpE7CeZuN0bY8e6J8j0CLgj1G4IyGQVxIhCg==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-14","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-11_1786944887193_0.8774676468384224","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-555":{"name":"@ringozz/react-godot","version":"1.0.0-555","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-555","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"536c4eb72dd751d0c01eeda9f0a1d700a919d1c5","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-555.tgz","fileCount":7,"integrity":"sha512-yki6Sy5diB/SNZ2+bCIbed9/a2AyIIAXi3gfBJSRdxYg1zLDaOTL6C8Om8JOSVP7zS9WimeQFdDUMUsWlwL2Lw==","signatures":[{"sig":"MEUCIG2bWihxqqX7pvcDWvoERaey6aTycnekEMQuJ1sJey6sAiEAqvgeZwdMxGhYoXiQLBG9HqhXojacSOnGv0HbaBLaem8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38589},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"536c4eb72dd751d0c01eeda9f0a1d700a919d1c5","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-yki6Sy5diB/SNZ2+bCIbed9/a2AyIIAXi3gfBJSRdxYg1zLDaOTL6C8Om8JOSVP7zS9WimeQFdDUMUsWlwL2Lw==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-555","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-555_1786962032732_0.004954561231089727","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-560":{"name":"@ringozz/react-godot","version":"1.0.0-560","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-560","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"ad651f4df16395ba41e736072c008548b7e65a5c","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-560.tgz","fileCount":7,"integrity":"sha512-Ddil6NSpmTCGP7gcot35IefTpg1D4EPacom01ByZfvdDlDITAi9yl9UVj5shhnSLmMDjNpWStrYiyce4nOnEyg==","signatures":[{"sig":"MEUCIBWXMYRLfbx95KAlQjPaRrLFpcjrWYMbgfS09hJZjof4AiEAktBbkK8dcInpISZJ5Gsj4xmt2Wa5qCJ3a9l39wyMMRY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39463},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"ad651f4df16395ba41e736072c008548b7e65a5c","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-Ddil6NSpmTCGP7gcot35IefTpg1D4EPacom01ByZfvdDlDITAi9yl9UVj5shhnSLmMDjNpWStrYiyce4nOnEyg==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-560","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-560_1787039397109_0.6859654013543146","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-562":{"name":"@ringozz/react-godot","version":"1.0.0-562","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-562","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"ff53dec0f57e74be64daf20c1ef2e3bca8f27c1a","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-562.tgz","fileCount":7,"integrity":"sha512-+mK2QrL4qpUVtS20qGrQoquxeDnlboxDprpF21/fkuIn9kRgVRqH4UwuFZrlwSbOSg7AlKBX/cFpX6OAoWZX0A==","signatures":[{"sig":"MEUCICmNf7leUtzidl+zePWFwaLvqQKrCWzhbHRNB5l9c2rUAiEAghWPkebhhFsn86JJoY0DfHjmVonW9iSa7kUNM/ZmXTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38589},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"ff53dec0f57e74be64daf20c1ef2e3bca8f27c1a","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-+mK2QrL4qpUVtS20qGrQoquxeDnlboxDprpF21/fkuIn9kRgVRqH4UwuFZrlwSbOSg7AlKBX/cFpX6OAoWZX0A==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-562","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-562_1787079566171_0.8533018307850226","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-569":{"name":"@ringozz/react-godot","version":"1.0.0-569","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@1.0.0-569","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"2b59b5570ff25d6e3b4215208eac2ea33de29aa6","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-1.0.0-569.tgz","fileCount":7,"integrity":"sha512-L2FI+HWpE26r9IQT2mChTZXJxNDHQw67fWOsMceWFi0FQswwIYMA48l6QuRWPG9beVJca6/M1AN5xxwxdYplJQ==","signatures":[{"sig":"MEYCIQC+8t/PJ2ADpFYX+h57xlUZ6buK7fFzvNzGSuWinDDxRQIhAPqGG5+8Y1d/wZHvkGPqKdcEj2UwMtQ2dCb4aqTqF86M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38589},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"2b59b5570ff25d6e3b4215208eac2ea33de29aa6","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-L2FI+HWpE26r9IQT2mChTZXJxNDHQw67fWOsMceWFi0FQswwIYMA48l6QuRWPG9beVJca6/M1AN5xxwxdYplJQ==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.1-569","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_1.0.0-569_1787080448525_0.5762773140645239","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-570":{"name":"@ringozz/react-godot","version":"4.7.2-570","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@4.7.2-570","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"5d265c2b4abc2dc15f0d724907a67bfb4e0c2ef8","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-570.tgz","fileCount":7,"integrity":"sha512-yPMxKi9MD6eid4M+ZJy9Yx/18etT9rydDN58yCzrEUxCNkL+K/jNGUNkMKwDlBoGjQmh29lqQ9urldUgbJzDdg==","signatures":[{"sig":"MEUCIC1ECdKT4c3xHyEIQnJEbdzuut1eipBlSnwYp8DK3BX9AiEAzO5R3NHmiLjv+2Y6trYgWX49tt9hR7r/dZ9d+bgWPIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40353},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"5d265c2b4abc2dc15f0d724907a67bfb4e0c2ef8","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-yPMxKi9MD6eid4M+ZJy9Yx/18etT9rydDN58yCzrEUxCNkL+K/jNGUNkMKwDlBoGjQmh29lqQ9urldUgbJzDdg==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.2-570","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_4.7.2-570_1787223205642_0.9336788991201355","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-579":{"name":"@ringozz/react-godot","version":"4.7.2-579","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@4.7.2-579","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"f08c56aeeb7a4f7ca0563266bbb1f966ea4d48ac","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-579.tgz","fileCount":7,"integrity":"sha512-Ftqc2E1Ew8zr9bv3MxoHcvYO222cqS3XQJjBje5uJeq1w3yRciVfFr+6EqE/opNO+pjT7HdkKd/HRUwvxkWR+g==","signatures":[{"sig":"MEYCIQCMpmmAzj+3HUnnP/k0shLJCmzdvbxpHm5XcH6JP/dp3AIhALj7NrFhbFWKbs6o1zzJm86fIoLVzOUzXdAEVg3or75n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41518},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"f08c56aeeb7a4f7ca0563266bbb1f966ea4d48ac","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-Ftqc2E1Ew8zr9bv3MxoHcvYO222cqS3XQJjBje5uJeq1w3yRciVfFr+6EqE/opNO+pjT7HdkKd/HRUwvxkWR+g==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.2-579","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_4.7.2-579_1787225875170_0.4471649369268451","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-583":{"name":"@ringozz/react-godot","version":"4.7.2-583","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@4.7.2-583","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"d7205ce2f89f6ff425938667abd002b973b070e6","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-583.tgz","fileCount":7,"integrity":"sha512-bYC/eAiXdek/9OYFt8xfHF7tdOZssOh1XW5Tp5mlgFQvdEkuSDJNK1efzZn5dIyY/jxB0F3by1mRZ9ekqbYb0g==","signatures":[{"sig":"MEYCIQCh+IxClP4XtzHtnLI3U+9c0kzCpNkwV+96kcoujkBkkAIhAJQzCuoC796o+nmL0Fq3UeVuEnSsd3eQ6DZyq4yg+F13","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41518},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"d7205ce2f89f6ff425938667abd002b973b070e6","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-bYC/eAiXdek/9OYFt8xfHF7tdOZssOh1XW5Tp5mlgFQvdEkuSDJNK1efzZn5dIyY/jxB0F3by1mRZ9ekqbYb0g==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@ringozz/godot":"^4.7.2-583","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_4.7.2-583_1787231997902_0.3487099880221425","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-585":{"name":"@ringozz/react-godot","version":"4.7.2-585","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@4.7.2-585","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"83ace2a070ce09f6e592df39190b25ef3852fe9c","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-585.tgz","fileCount":7,"integrity":"sha512-VvKnJ+40WrAuoN+Ivjen/r4mZkmZ2w1xCuJ5/6Am7Zk8GQDYQKSMUjDlpiz+IWNUqfUNPBxaBwf46ZImHL9Jyg==","signatures":[{"sig":"MEUCIQCAZnXZ/NUrqSBzy6xD3hdvjJaOf4V2s2y0HzzyamuGGAIgb+zM4LQU3g0FQGWuxlcPMrE7spSq0bQxwssT/aQHCuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42683},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"83ace2a070ce09f6e592df39190b25ef3852fe9c","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-VvKnJ+40WrAuoN+Ivjen/r4mZkmZ2w1xCuJ5/6Am7Zk8GQDYQKSMUjDlpiz+IWNUqfUNPBxaBwf46ZImHL9Jyg==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@ringozz/godot":"^4.7.2-585","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_4.7.2-585_1787470488479_0.5307083658412624","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-592":{"name":"@ringozz/react-godot","version":"4.7.2-592","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@4.7.2-592","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"1b59014ecb9298855e147738b37363f254b02389","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-592.tgz","fileCount":7,"integrity":"sha512-LB+5cpNnQXQPvT5bzAdmifPQb1TwSEAor9XqwtNgOt+kzzgKeabp+xIFgBRuunyMDd/ePYGpTvJrNA2TELkvDw==","signatures":[{"sig":"MEUCIGI5f5cteb41Li+dv91hHwU7xKzi0T0SKN5/fOMSYErTAiEAhi6N9cZfzjvJ9MeILUccG9pF+i3Wl1ggdwBtwcImqEw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43758},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"1b59014ecb9298855e147738b37363f254b02389","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-LB+5cpNnQXQPvT5bzAdmifPQb1TwSEAor9XqwtNgOt+kzzgKeabp+xIFgBRuunyMDd/ePYGpTvJrNA2TELkvDw==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@ringozz/godot":"^4.7.2-592","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_4.7.2-592_1787478422481_0.4494726903939772","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-594":{"name":"@ringozz/react-godot","version":"4.7.2-594","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@4.7.2-594","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"84b15c0a526f189241a2a22212b4909ec0e53bcb","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-594.tgz","fileCount":7,"integrity":"sha512-KYB9WFe6gj3+f4T5wZsYVcp4Io1GN9oNzSGP0BtcwIk2z/TucqCXaJa4WYZD3M/FFQt0U9IZCDqMyrfXp4z7PQ==","signatures":[{"sig":"MEYCIQC9i7z8GCmC259k69yLKjdoaJJQZcrcp7ZqTq/NAfTJNQIhANMxTlnjFq+jLbm+QTbzswx1cTG+ba0ZwmVh2j7FhxqL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44171},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"84b15c0a526f189241a2a22212b4909ec0e53bcb","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-KYB9WFe6gj3+f4T5wZsYVcp4Io1GN9oNzSGP0BtcwIk2z/TucqCXaJa4WYZD3M/FFQt0U9IZCDqMyrfXp4z7PQ==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@ringozz/godot":"^4.7.2-594","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_4.7.2-594_1787481037297_0.8327035666596956","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-597":{"name":"@ringozz/react-godot","version":"4.7.2-597","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@4.7.2-597","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"91d56839b1255eff2220c861b13b73f550727b85","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-597.tgz","fileCount":7,"integrity":"sha512-BsnAvnFXRJfaExOleYk7afgfntooji6X6r2H1++9ir7tnxEmxTmurrd8jVmlA4WgJYI6gMNqeXczEclh/N5R/w==","signatures":[{"sig":"MEYCIQDlsgGgC5b6+MBug71QzQFijvAcMXN3JJNuUlVC7TSIJQIhAMHGEYgwF3Zqslmsf3t2QFBTc2EnIWgwsLDr6eagjSpO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44223},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"91d56839b1255eff2220c861b13b73f550727b85","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-BsnAvnFXRJfaExOleYk7afgfntooji6X6r2H1++9ir7tnxEmxTmurrd8jVmlA4WgJYI6gMNqeXczEclh/N5R/w==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@ringozz/godot":"^4.7.2-597","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_4.7.2-597_1787566276908_0.8019718439998411","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-604":{"name":"@ringozz/react-godot","version":"4.7.2-604","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@4.7.2-604","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"b85fdc82e4911d36b1d8208cf73b253b2fe84ac8","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-604.tgz","fileCount":7,"integrity":"sha512-2eFZJLw2M23RVfIp5HS4D2T3UaFOjexN2Gqhiev5Z0ir8ZUtc8w3cVLHQsT36hJgndQQ7LoFZ/WN77nlZN711A==","signatures":[{"sig":"MEQCIB0mXuHuuNWLvvw7V5TyZmQzEuf5O2aneDGOveuFqEvNAiA7iAmheLg2ohGVCs+HZHEU7w/B1JhOmQXp3PzJ+eNltA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44223},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"b85fdc82e4911d36b1d8208cf73b253b2fe84ac8","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-2eFZJLw2M23RVfIp5HS4D2T3UaFOjexN2Gqhiev5Z0ir8ZUtc8w3cVLHQsT36hJgndQQ7LoFZ/WN77nlZN711A==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@ringozz/godot":"^4.7.2-604","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_4.7.2-604_1787726166622_0.20140626716154264","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-612":{"name":"@ringozz/react-godot","version":"4.7.2-612","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@4.7.2-612","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"6ee7ec1a8eb20e8a7ce607708b964cb4db57e6d4","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-612.tgz","fileCount":7,"integrity":"sha512-+3sjeG5ZVbIX3qfslL0F6uBA1COn8U1gFNiIIfeHfj2BmGaZpE6FAMhE0mGgBF0q34u1kIOG3vJlBPpdrDGopg==","signatures":[{"sig":"MEUCIQDxN2VAklMGL7t4r498BtyXPSdH1BgZWo8IrP9zel8ofQIgJnfMtoxXIN9/sVzAJptwwmO/hjv7lShCK9R0C26DUac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44223},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"6ee7ec1a8eb20e8a7ce607708b964cb4db57e6d4","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-+3sjeG5ZVbIX3qfslL0F6uBA1COn8U1gFNiIIfeHfj2BmGaZpE6FAMhE0mGgBF0q34u1kIOG3vJlBPpdrDGopg==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@ringozz/godot":"^4.7.2-612","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_4.7.2-612_1787735555675_0.6343549704562106","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-614":{"name":"@ringozz/react-godot","version":"4.7.2-614","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@4.7.2-614","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"13002c9e61c8aa7b0f3fb2f934b232e249ae4fbd","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-614.tgz","fileCount":7,"integrity":"sha512-chCbr0VpzKPAEdx/KYoM2C0MUPQr/iuTOL0WJOejU3yLcD+unch3wbMDBPqJ6yPB+Ro15fTW3xXY+cbz5AKHaA==","signatures":[{"sig":"MEYCIQDmdicukJ4+iSAkMr2ur8+8LBq652GkRVvTw2rXHM5NIwIhAITQcLjlxvDRS/oMBV5RCbHhXTvabIfEVCKk81tO3PYL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46023},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"13002c9e61c8aa7b0f3fb2f934b232e249ae4fbd","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-chCbr0VpzKPAEdx/KYoM2C0MUPQr/iuTOL0WJOejU3yLcD+unch3wbMDBPqJ6yPB+Ro15fTW3xXY+cbz5AKHaA==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@ringozz/godot":"^4.7.2-614","react-reconciler":"^0.33.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.0","@types/react":"^19.2.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_4.7.2-614_1787741658779_0.029755081249918547","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-616":{"name":"@ringozz/react-godot","version":"4.7.2-616","keywords":["react","godot"],"author":"Vladimir Davidovich","_id":"@ringozz/react-godot@4.7.2-616","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"dist":{"shasum":"629cd3e27ac417e7ba4ba257ac630a1bb6740ad6","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-616.tgz","fileCount":7,"integrity":"sha512-pHlf7CpWMggMgX+TXDgYD9C1C5RAf5os1XePC95SuwBtT19bdk10Tk2Z07/XiUNWYLM4V+qJDSCBCA9tGF7Y4Q==","signatures":[{"sig":"MEUCIGqAI9SYrZgF9q272C5s2nrln7NHKD6Qsz4LtMwqZE+bAiEA0seKCJCWnbOb3t62tGA87F/zJMtJzYt6P0xh0m6/jqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGTEsODLAeqVl7nWp709lJ8myrxEq/l3t6I3nUmPiz/MAiEAyiFOXa/HyUOY2kYkFdYrc6n7wS9gZ2GNHFDeZNcQfPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45426},"main":"./src/index.ts","type":"module","types":"./src/index.ts","shasum":"629cd3e27ac417e7ba4ba257ac630a1bb6740ad6","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"_integrity":"sha512-pHlf7CpWMggMgX+TXDgYD9C1C5RAf5os1XePC95SuwBtT19bdk10Tk2Z07/XiUNWYLM4V+qJDSCBCA9tGF7Y4Q==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"_nodeVersion":"26.3.0","dependencies":{"@ringozz/godot":"^4.7.2-616","react-reconciler":"^0.34.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.3.0","@types/react":"^19.3.0"},"_npmOperationalInternal":{"tmp":"tmp/react-godot_4.7.2-616_1789152566880_0.867164945468107","host":"s3://npm-registry-packages-npm-production"}},"4.7.2-626":{"_id":"@ringozz/react-godot@4.7.2-626","dist":{"shasum":"5050cc2893e19c0c082510bab53daed2877e919a","tarball":"https://registry.npmjs.org/@ringozz/react-godot/-/react-godot-4.7.2-626.tgz","fileCount":7,"integrity":"sha512-/hPpEYCeVU0vga6eBiU69rCYX3BRmnXlCy2MohMlFiezzd0PHlJlTUSE9m9WUMMaDOKq4qmqgQ5/5RLQ2gd2bw==","signatures":[{"sig":"MEUCIQDb/JU+w4ETJH5S6N+rRuUSuCVT6WxUNS5UEvlYQe68XQIgKxaX9tuumnrh+MgYTR5jh03fwf33ZstMT2dSJyyZJO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH04n9f5sHmkcHPmYgxz+FtlCE0lprLCgHd9hNtxYswrAiEAl0mopMplFAd0ceWthC/A3Ucls1bWvOLD6otw3o1IGdE="}],"unpackedSize":45426},"main":"./src/index.ts","name":"@ringozz/react-godot","type":"module","types":"./src/index.ts","author":"Vladimir Davidovich","shasum":"5050cc2893e19c0c082510bab53daed2877e919a","exports":{".":"./src/index.ts","./jsx-runtime":"./src/react-jsx.ts","./jsx-dev-runtime":"./src/react-jsx.ts"},"version":"4.7.2-626","_npmUser":{"name":"ringozz","email":"vladimir.davidovich@outlook.com"},"keywords":["react","godot"],"_integrity":"sha512-/hPpEYCeVU0vga6eBiU69rCYX3BRmnXlCy2MohMlFiezzd0PHlJlTUSE9m9WUMMaDOKq4qmqgQ5/5RLQ2gd2bw==","_npmVersion":"10.8.3","description":"A React renderer for Godot Engine via @ringozz/godot","directories":{},"maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"_nodeVersion":"26.3.0","dependencies":{"@ringozz/godot":"^4.7.2-626","react-reconciler":"^0.34.0","@types/react-reconciler":"^0.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.3.0","@types/react":"^19.3.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-godot_4.7.2-626_1789154508247_0.1906420360426475"}}},"time":{"created":"2026-08-01T18:01:58.436Z","modified":"2026-09-11T19:21:48.505Z","0.1.0":"2026-08-01T18:01:58.799Z","0.1.1":"2026-08-01T18:23:24.279Z","1.0.0-0":"2026-08-01T19:11:05.533Z","1.0.0-1":"2026-08-02T10:05:04.830Z","1.0.0-2":"2026-08-02T10:31:53.542Z","1.0.0-3":"2026-08-03T07:15:17.662Z","1.0.0-4":"2026-08-03T08:25:10.080Z","1.0.0-5":"2026-08-09T10:52:53.940Z","1.0.0-6":"2026-08-15T10:02:10.704Z","1.0.0-7":"2026-08-15T13:51:55.824Z","1.0.0-8":"2026-08-15T15:37:49.352Z","1.0.0-9":"2026-08-15T21:35:52.799Z","1.0.0-10":"2026-08-16T19:24:23.042Z","1.0.0-11":"2026-08-17T05:34:47.351Z","1.0.0-555":"2026-08-17T10:20:32.873Z","1.0.0-560":"2026-08-18T07:49:57.243Z","1.0.0-562":"2026-08-18T18:59:26.360Z","1.0.0-569":"2026-08-18T19:14:08.684Z","4.7.2-570":"2026-08-20T10:53:25.796Z","4.7.2-579":"2026-08-20T11:37:55.318Z","4.7.2-583":"2026-08-20T13:19:58.049Z","4.7.2-585":"2026-08-23T07:34:48.603Z","4.7.2-592":"2026-08-23T09:47:02.608Z","4.7.2-594":"2026-08-23T10:30:37.427Z","4.7.2-597":"2026-08-24T10:11:17.059Z","4.7.2-604":"2026-08-26T06:36:06.764Z","4.7.2-612":"2026-08-26T09:12:35.819Z","4.7.2-614":"2026-08-26T10:54:18.907Z","4.7.2-616":"2026-09-11T18:49:26.975Z","4.7.2-626":"2026-09-11T19:21:48.345Z"},"author":"Vladimir Davidovich","keywords":["react","godot"],"description":"A React renderer for Godot Engine via @ringozz/godot","maintainers":[{"name":"ringozz","email":"vladimir.davidovich@outlook.com"}],"readme":"# `@ringozz/react-godot`\n\nDeclarative, component-driven **Godot 4** scene graph management in React. Built for high-performance applications using `@ringozz/godot`.\n\n## Overview\n\n`@ringozz/react-godot` brings a **React Three Fiber (R3F)**-like developer experience to Godot. It provides a custom React reconciler that renders React components directly into Godot's live engine scene tree (`SceneTree`).\n\nIf you are familiar with React Three Fiber, the core paradigms will feel instantly recognizable:\n- **Declarative Nodes**: Godot 3D/2D nodes (e.g., `<RigidBody3D>`, `<Camera3D>`, `<DirectionalLight3D>`) map directly to JSX components.\n- **Resource Attachment**: Use the `attach` prop to assign nested Godot resources (materials, shapes, meshes, environments) directly to parent properties.\n- **Reactive Engine Loop**: Use hooks like `useSignal` to hook into Godot signals (`processFrame`, `windowInput`) without triggering React state re-renders.\n\n## Installation & Setup\n\n### 1. Dependencies\n\n```bash\nnpm install @ringozz/react-godot react\n```\n\n### 2. TypeScript Configuration (`tsconfig.json`)\n\nTo enable custom JSX element resolution for Godot nodes, configure `jsxImportSource` and module settings in `tsconfig.json`:\n\n```json\n{\n  \"compilerOptions\": {\n    \"module\": \"esnext\",\n    \"target\": \"es2025\",\n    \"jsx\": \"react-jsx\",\n    \"jsxImportSource\": \"@ringozz/react-godot\",\n    \"rewriteRelativeImportExtensions\": true,\n    \"verbatimModuleSyntax\": true\n  }\n}\n```\n\n## Application Entry & Portal Rendering\n\n### 1. Mounting with `createRoot(parent: Node)`\n`createRoot` is the primary entry point for mounting a React component tree into a Godot target `Node` (typically `SceneTree.root`).\n\n```tsx\nimport { Engine } from '@ringozz/godot/Engine';\nimport { SceneTree } from '@ringozz/godot/SceneTree';\nimport { createRoot } from '@ringozz/react-godot';\nimport { App } from './App';\n\nconst tree = Engine.getMainLoop() as SceneTree;\nconst { render } = createRoot(tree.root);\n\nrender(<App />);\n```\n\n- Returns `{ render, unmount }`.\n- Enables React `StrictMode` automatically in development (`NODE_ENV === 'development'`).\n\n### 2. Render Portals with `createPortal(children, container)`\n`createPortal` allows rendering a React sub-tree into a different Godot `Node` in the hierarchy—such as a `CanvasLayer` for 2D UI overlays, a `SubViewport`, or an isolated container node.\n\n```tsx\nimport { createPortal } from '@ringozz/react-godot';\nimport { Label } from '@ringozz/godot/Label';\n\nfunction Overlay({ overlayNode }: { overlayNode: Node }) {\n  return createPortal(\n    <Label text=\"HUD Overlay\" position={[20, 20]} />,\n    overlayNode\n  );\n}\n```\n\n- **Container Constraint**: The target `container` must be a Godot `Node` (it cannot target `Resource` instances).\n- **Cleanup**: Unmounting the portal safely disposes of and frees its child Godot nodes.\n\n## Core Concepts & Patterns\n\n### 1. Existing Objects with `object` Prop\n\nIf you already have a pre-existing Godot `Node`, `Resource`, or `PackedScene` instance (e.g. instantiated from C++ or loaded from disk), pass it via the `object` prop to adopt it into the React component tree instead of letting the reconciler instantiate a new object:\n\n```tsx\n<Node object={myExistingGodotNode}>\n  {/* Children attached to existing node */}\n</Node>\n```\n\n- **`object` is immutable on a mounted instance.** It selects the host instance once, at creation. A re-render that changes `object` on an existing element throws (`Cannot change the \\`object\\` of a mounted instance`) because React cannot swap a fiber's Godot node — remount with a new `key` instead.\n- **A `PackedScene` `object` is instantiated once per host mount** — each element gets a fresh node tree; the result is a plain `Node` (not `.reference()`'d) freed on unmount. The same `PackedScene` can feed multiple elements; give same-type siblings stable `key`s.\n- **Dynamic same-type sibling lists need stable `key`s.** Godot host nodes are identity, not content: React reconciles keyless siblings by position, so deleting the *first* of two same-type siblings reuses its Godot node for the survivor. A plain state re-render does this too, and Bun's web dev server makes it especially likely — its React Fast Refresh re-renders the edited component **in place** (no app re-run), reusing the same fibers and Godot nodes, so a deleted sibling's node can survive on its neighbor and the neighbor's node is freed. Add `key=\"...\"` to each dynamically toggled same-type sibling to keep nodes pinned to the right elements.\n\n### 1b. Attaching a Script with `script`\n\nUse the `script` prop to attach a `Script` resource (e.g. an imported GDScript `.gd` module) to a node on creation. The script is attached **before the node enters the tree**, so Godot fires `_ready` and auto-enables the script's `_process`/`_input` — no manual `set_process(true)`/`set_process_input(true)` calls needed:\n\n```tsx\nimport controller from './camera_controller.gd';\n\n<Camera3D script={use(controller)} current={true} fov={55} />\n```\n\n- **Attach before tree entry means `_ready`/`_process`/`_input` work.** Attaching to an already-in-tree node (e.g. in a `useEffect`) never fires `_ready` and leaves `_process`/`_input` disabled — prefer `script` over an effect for scripted nodes.\n- **`script` is immutable on a mounted instance.** A re-render that changes `script` on an existing element throws — remount with a new `key` to swap the compiled script.\n\n### 2. Resource Nesting with `attach`\n\nIn Godot, nodes often hold references to `Resource` objects (such as shapes, meshes, materials, or environments). Use the `attach` prop to automatically assign a child resource to a specific property on its parent:\n\n```tsx\n/* Attaching a shape to CollisionShape3D */\n<CollisionShape3D>\n  <BoxShape3D attach=\"shape\" size={[1, 1, 1]} />\n</CollisionShape3D>\n\n/* Attaching a material override to MeshInstance3D */\n<MeshInstance3D>\n  <BoxMesh attach=\"mesh\" />\n  <StandardMaterial3D attach=\"materialOverride\" albedoColor={[1, 0, 0]} />\n</MeshInstance3D>\n\n/* Attaching physics material to RigidBody3D */\n<RigidBody3D>\n  <PhysicsMaterial attach=\"physicsMaterialOverride\" bounce={0.8} />\n</RigidBody3D>\n\n/* Attaching environment to WorldEnvironment */\n<WorldEnvironment>\n  <Environment attach=\"environment\" backgroundColor={[0.1, 0.1, 0.2]} />\n</WorldEnvironment>\n```\n\nNote for physics bodies: `attach=\"shape\"` goes on the shape **resource** element (e.g. `<BoxShape3D attach=\"shape\" />`), never on the `CollisionShape3D` node itself — `Node.add_child` requires a `Node`, and shapes are `Resource`s, so an `attach` on `CollisionShape3D` adds the shape as a child node and fails. Likewise, mesh children of a physics body must be wrapped in a `MeshInstance3D` (a `RigidBody3D`/`StaticBody3D` has no `mesh`/`materialOverride` props to attach to).\n\n### 3. Properties & Helper Types\n\nProps map directly to Godot node setters and properties. Helper arrays are automatically cast to Godot types:\n\n- **Vectors / value types**: value types are **named tuples** — flat (`Vector3`, `Color`, `Rect2`, …) are scalar-labeled tuples (`Vector3 = [x, y, z]`, `Color = [r, g, b, a?]`); nested (`AABB`/`Transform2D`/`Basis`/`Transform3D`/`Projection`) are row-labeled tuples of the flat element alias (`Transform3D = [x, y, z, origin]`, each row a `Vector3`), so `position={[0, 1, 0]}`, `transform={[[1, 0, 0], [0, 1, 0], [0, 0, 1], [10, 20, 30]]}`. Getters return the same labeled shape (`node.position` is `[x, y, z]`); direct setters accept them too (`node.position = [1, 2, 3]`). **Wrong-arity arrays fail typecheck** (`position={[1, 2]}` errors) — except `Color`'s trailing `a`, which is optional (`[r, g, b, a?]`, alpha defaults 1; it's the only value type with a partial scalar ctor). The math API lives as named functions per type module — `import * as v3 from '@ringozz/godot/Vector3'`, then `v3.normalized(v)`, `v3.dot(a, b)`; construction uses `fromXxx` factories (`basis.fromAxisAngle(axis, angle)`, `transform3d.fromBasisOrigin(basis, origin)`).\n- **Colors**: `albedoColor={[1, 0.2, 0.2]}` (a `Color` is just `[r, g, b, a?]`).\n- **Packed arrays**: `Packed*Array`-typed props (e.g. `Gradient.colors`/`offsets`) accept plain JS arrays — elements convert with the array's element type, so `colors={[[0.5, 0, 0, 1], [1, 1, 1, 1]]}` works; `new PackedVector2Array([[1, 2], [3, 4]])` works too. The same element-aware conversion applies to **direct setters and method args**: `gradient.colors = [[1, 0, 0, 1], [0, 1, 0, 1]]`, `addPoint(0.5, [1, 0, 0, 1])`, and `PhysicsRayQueryParameters3D.create([1, 2, 3], [4, 5, 6])` all accept tuples.\n- **Array-typed props** (`GodotArray`, e.g. `CodeEdit.lineLengthGuidelines`, `Font.fallbacks`) accept plain JS arrays directly — they become a Godot `Array`.\n- **Sub-properties / Dash props**: Set individual vector/color components directly using dash syntax:\n  ```tsx\n  <BoxMesh attach=\"mesh\" size-x={0.5} size-y={1.0} size-z={0.5} />\n  ```\n\n**Text content**: text nodes are unsupported, but string/number children — and arrays of all-string/all-number children — are flattened into the node's `text` prop, so `<Label>Hello</Label>` works. Mixed children (containing elements) throw; use an explicit `text` prop instead, and never pass string children to a node without a `text` prop.\n\n### 4. Engine Signals & Event Subscription (`useSignal`)\n\nSubscribe to Godot engine signals cleanly with `useSignal`.\n\n```tsx\nimport { Engine } from '@ringozz/godot';\nimport { SceneTree } from '@ringozz/godot/SceneTree';\nimport { useSignal } from '@ringozz/react-godot';\n\nconst tree = Engine.getMainLoop() as SceneTree;\nconst root = tree.root;\n\n// Subscribe to frame updates (process loop)\nuseSignal(tree.processFrame, () => {\n  // Update animations, camera matrix, physics targets, etc.\n});\n\n// Subscribe to window input events\nuseSignal(root.windowInput, (event) => {\n  if (event instanceof InputEventMouseMotion) {\n    // Handle mouse motion\n  }\n});\n```\n\nSignal **JSX props** (`pressed`, `toggled`, `valueChanged`, `textSubmitted`, ...) are typed as the signal's callback — pass a plain function, no cast needed:\n\n```tsx\n<Button text=\"Play\" pressed={() => start()} />\n<CheckButton text=\"Debug\" toggled={(on) => setDebug(on)} />\n<HSlider value={round} valueChanged={(v) => setRound(v)} />\n```\n\nSignal handlers are connected **before** value props are applied within a commit (`Instance.assign`), so the handler a render installs is already current when a value setter fires its signal (e.g. `Range.value` emits `value_changed`). Note that programmatic value sets still emit (Godot semantics) — if you feed a slider's `value` back from your own state, guard the handler (e.g. compare against the live store) or the emission loops back into your reducer.\n\n`ComponentProps` only exposes writable members: read-only props (e.g. `Node.multiplayer`) and methods are not settable props.\n\n## Full Example\n\nBelow is a complete interactive 3D physics scene with custom camera controls and physics bodies:\n\n```tsx\nimport { Engine, Key, MouseButton } from '@ringozz/godot';\nimport type { Color } from '@ringozz/godot';\nimport { BoxMesh } from '@ringozz/godot/BoxMesh';\nimport { BoxShape3D } from '@ringozz/godot/BoxShape3D';\nimport { Camera3D } from '@ringozz/godot/Camera3D';\nimport { CollisionShape3D } from '@ringozz/godot/CollisionShape3D';\nimport { DirectionalLight3D } from '@ringozz/godot/DirectionalLight3D';\nimport { BGMode, Environment, ToneMapper } from '@ringozz/godot/Environment';\nimport { InputEventMouseButton } from '@ringozz/godot/InputEventMouseButton';\nimport { InputEventMouseMotion } from '@ringozz/godot/InputEventMouseMotion';\nimport { MeshInstance3D } from '@ringozz/godot/MeshInstance3D';\nimport { PhysicsMaterial } from '@ringozz/godot/PhysicsMaterial';\nimport { RigidBody3D } from '@ringozz/godot/RigidBody3D';\nimport { SceneTree } from '@ringozz/godot/SceneTree';\nimport { SphereMesh } from '@ringozz/godot/SphereMesh';\nimport { SphereShape3D } from '@ringozz/godot/SphereShape3D';\nimport { StandardMaterial3D } from '@ringozz/godot/StandardMaterial3D';\nimport { StaticBody3D } from '@ringozz/godot/StaticBody3D';\nimport { WorldEnvironment } from '@ringozz/godot/WorldEnvironment';\nimport { useSignal, type ComponentProps } from '@ringozz/react-godot';\nimport { useRef, type ReactElement } from 'react';\n\nconst tree = Engine.getMainLoop() as SceneTree;\nconst root = tree.root;\n\nfunction PhysBody({ color, shape, children, ...rest }: {\n  color: Color;\n  shape: ReactElement;\n} & ComponentProps<typeof RigidBody3D>) {\n  return (\n    <RigidBody3D {...rest}>\n      <MeshInstance3D>\n        {children}\n        <StandardMaterial3D attach=\"materialOverride\" albedoColor={color} />\n      </MeshInstance3D>\n      <CollisionShape3D>{shape}</CollisionShape3D>\n    </RigidBody3D>\n  );\n}\n\nexport function App() {\n  const cameraRef = useRef<Camera3D>(null);\n  const isDragging = useRef(false);\n  const yaw = useRef(0.7);\n  const pitch = useRef(0.3);\n  const zoom = useRef(7);\n\n  useSignal(root.windowInput, (event) => {\n    if (event instanceof InputEventMouseMotion && isDragging.current) {\n      yaw.current -= event.relative[0] * 0.005;\n      pitch.current = Math.max(-1.4, Math.min(1.4, pitch.current + event.relative[1] * 0.005));\n    } else if (event instanceof InputEventMouseButton) {\n      if (event.buttonIndex === MouseButton.MOUSE_BUTTON_LEFT) {\n        isDragging.current = event.pressed;\n      }\n    }\n    event.free();\n  });\n\n  useSignal(tree.processFrame, () => {\n    const camera = cameraRef.current;\n    if (!camera) return;\n\n    const cx = zoom.current * Math.cos(pitch.current) * Math.sin(yaw.current);\n    const cy = zoom.current * Math.sin(pitch.current) + 1;\n    const cz = zoom.current * Math.cos(pitch.current) * Math.cos(yaw.current);\n    camera.position = [cx, cy, cz];\n    camera.lookAt([0, 1, 0], [0, 1, 0]);\n  });\n\n  return (\n    <>\n      <WorldEnvironment>\n        <Environment attach=\"environment\" tonemapMode={ToneMapper.TONE_MAPPER_AGX} backgroundMode={BGMode.BG_COLOR} backgroundColor={[0.05, 0.1, 0.25]} />\n      </WorldEnvironment>\n      <DirectionalLight3D name=\"Sun\" rotation={[-0.8, 0.5, 0]} />\n      <Camera3D name=\"Camera\" ref={cameraRef} />\n\n      {/* Physics Sphere */}\n      <PhysBody name=\"BouncySphere\" position={[0, 4, 0]} color={[0.2, 1, 0.2]}\n        shape={<SphereShape3D attach=\"shape\" radius={0.5} />}>\n        <SphereMesh attach=\"mesh\" radius={0.5} height={1} />\n        <PhysicsMaterial attach=\"physicsMaterialOverride\" bounce={0.8} />\n      </PhysBody>\n\n      {/* Ground Plane */}\n      <StaticBody3D name=\"Ground\">\n        <CollisionShape3D>\n          <BoxShape3D attach=\"shape\" size={[10, 0.1, 10]} />\n        </CollisionShape3D>\n        <MeshInstance3D>\n          <BoxMesh attach=\"mesh\" size-x={10} size-y={0.1} size-z={10} />\n          <StandardMaterial3D attach=\"materialOverride\" albedoColor={[0.2, 0.2, 0.25]} />\n        </MeshInstance3D>\n      </StaticBody3D>\n    </>\n  );\n}\n```\n\n## API Summary\n\n| Export | Type | Description |\n| :--- | :--- | :--- |\n| `createRoot(parent)` | Function | Mounts a React component tree into a target Godot `Node` (e.g. `tree.root`). Returns `{ render, unmount }`. |\n| `createPortal(children, container)` | Function | Renders children into a target Godot `Node` (e.g. `CanvasLayer` or `SubViewport`). |\n| `useSignal(signal, callback)` | Hook | Connects a callback to a Godot object signal (e.g. `tree.processFrame`, `node.treeEntered`). Disconnects on unmount. |\n| `useMutableCallback(fn)` | Hook | Returns a `RefObject` whose `.current` always points to the latest callback implementation. |\n| `useTween<NodeT>(create, deps)` | Hook | Reactive tween-as-prop-value. Returns `[spring, tweenRef]` — spread `spring` onto a node; `tweenRef.current` is the live native `Tween`. The optional node type (`useTween<Node3D>`) types `to`/`from` array goals as that node's value-type tuples. |\n| `ComponentProps<T>` | Type | Utility type to infer valid React JSX props for any Godot node class `T`. |\n\n## Animating props with `useTween`\n\n`useTween` animates a node's properties declaratively. You describe the target values once per `to` key; spreading the returned `spring` onto a node binds the tween to it. Re-rendering with the same `deps` keeps the same tween (nothing restarts); changing `deps` creates a new `Tween` and animates from the current values.\n\n```tsx\nconst [spring, tweenRef] = useTween<Node3D>(() => ({\n  from: { position: [0, 0, 0] },\n  to:   { position: [0, 2, 0], globalRotation: [0, 90, 0] },\n  config: { duration: 0.6, transition: TransitionType.TRANS_QUAD, ease: EaseType.EASE_IN_OUT },\n  delay: 0, loops: 1, immediate: false,\n  onFinished: () => {},\n}), [x, z]);\n\nreturn <Node3D {...spring} />;\n```\n\n- **`spring`** holds one function per `to` key (spread them all onto the node; each contributes its own prop's tweener to the shared `Tween`). Array values are converted to the property's value type.\n- **Node-typed goals**: call `useTween<Node3D>(...)` so `to`/`from` are typed against that node's props — `position: [0, 2, 0]` and nested `basis: [[…]]` infer as `Vector3`/`Basis`, with no `as Vector3` casts. Only scalar-number and value-type props are tweenable (signals, `Node` refs, bools, strings, containers are rejected); the returned `spring` is that whole prop set (all optional), so `{...spring}` stays JSX-spreadable. A bare `useTween(...)` keeps array goals loose (`number[]`).\n- **`tweenRef.current`** is the **live native Godot `Tween`**, created when the node mounts (null before that): `tweenRef.current?.kill()`, `?.pause()`, `?.play()`, `?.setSpeedScale(n)`, `?.isRunning()`, `?.finished`…\n- **`config`** maps to the Godot Tween API: `duration` (seconds), `transition`/`ease` (`TransitionType`/`EaseType` — the tween's defaults), `easing` (a `[0,1]→[0,1]` function → `setCustomInterpolator`), `speedScale`.\n- **`onStart`** fires when the tween is created/bound (on mount or when `deps` change), before it starts stepping.\n- **`onFinished`** fires on natural completion only (Godot's `finished` signal); `kill()`/unmount don't fire it, so no stale callbacks.\n- **Unwrapping**: replacing a springed prop with a plain value (e.g. dropping `{...spring}` for `position={[9, 0, 0]}`) does not stop the running tween — it keeps animating to its target and the tween's value wins over the plain value. Stop it with `tweenRef.current?.kill()`.\n\n\n","readmeFilename":"README.md"}