
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
collide-2d-aabb-aabb
Advanced tools
Determines whether a moving axis-aligned bounding box (AABB) collides with other AABBs.
collide-2d-aabb-aabb
provides methods for testing against either a single AABB
or a set of them in 2D space.
$ npm install collide-2d-aabb-aabb
var collideSingle = require('collide-2d-aabb-aabb').single
var player = [0, 0, 16, 16]
var motion = [5, 5]
var crate = [18, 1, 32, 32]
var offset = collideSingle(player, motion, crate)
console.log(offset)
outputs
[2, 5]
var collideSet = require('collide-2d-aabb-aabb').set
var player = [0, 0, 16, 16]
var motion = [5, 5]
var crates = [
[18, 1, 32, 32]
[7, 19, 32, 32]
]
function getCrate (cb) {
cb(crates[0])
cb(crates[1])
cb(null)
}
var offset = collideSet(player, motion, getCrate, onCollide)
console.log(offset)
function onCollide (box, axis, dir) {
console.log(box, axis, dir)
}
outputs
[18, 1, 32, 32], 0, 1
[7, 19, 32, 32], 1, 1
[2, 3]
Detection and correction is applied on each X and Y axis separately, resulting
in 0-2 calls to onCollide
.
var single = require('collide-2d-aabb-aabb').single
var set = require('collide-2d-aabb-aabb').set
Attempt to advance aabb
by moveDelta
against the impeding aabb2
.
Non-destructive.
If there is no collision, offset == moveDelta
. Otherwise, it will be shorter
in one or both axes.
aabb
and aabb2
are assumed to be a size 4 array of the form [x, y, width, height]
.
moveDelta
is assumed to be a gl-matrix
-style vec2
or array [x, y]
.
Attempt to advance aabb
by moveDelta
against the set of impeding AABBs
provided by the getAabb
function. Non-destructive.
getAabb
is assumed to be a function with a single parameter, cb
, which is
called to give size 4 arrays (of the form [x, y, width, height]
) to check
collisions against. You must call cb(null)
to indicate getAabb
is
finished providing values.
If there is no collision, offset == moveDelta
. Otherwise, it will be shorter
in one or both axes.
aabb
is assumed to be a size 4 array of the form [x, y, width, height]
.
moveDelta
is assumed to be a gl-matrix
-style vec2
or array [x, y]
.
onCollide
is a callback function, taking the following arguments:
aabb
: the size 4 array that the collision took place against. Will be === to
the array provided by getAabb
.moveAxis
: an integer representing the axis of movement. 0
(X) or 1
(Y).moveDir
: either -1 or 1, denoting the direction of the movement.MIT
FAQs
test an aabb against other aabbs
We found that collide-2d-aabb-aabb demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.