open-index/open-npm huggingface dataset:
npm package: @kenzoobryan/my-engine
Description: Minimalist 2D Game Engine
Author: Kenzoobryan
Latest version: 0.3.0

# My Engine

> Minimalist, robust, and magic-free 2D game engine for the browser.

`@kenzoobryan/my-engine` is a JavaScript library designed for developers who want to keep pure control over their game loop. No editor, no heavy dependencies, just the essential bricks to build games like Snake, Tetris, or Shoot'em ups.

[Français](README.fr.md) | [English](README.md)

## Key Features

- **Solid Game Loop**: Managed delta time, death spiral protection.
- **Scene Management**: Simple transitions between Menu, Game, and Game Over.
- **2D Canvas Rendering**: Lightweight abstractions for performant drawing.
- **Unified Input**: Normalized Keyboard and Mouse.
- **Zero Magic**: No global variables, no unpredictable side-effects.

## Installation

```bash
npm install @kenzoobryan/my-engine
```

## Quick Start

```javascript
import { Game, Scene, World, System, Component, Vector2 } from '@kenzoobryan/my-engine';

// 1. Define Components
class Position extends Component {
    constructor(x, y) { super(); this.vec = new Vector2(x, y); }
}
class Velocity extends Component {
    constructor(x, y) { super(); this.vec = new Vector2(x, y); }
}

// 2. Define Systems
class PhysicsSystem extends System {
    update(dt) {
        const entities = this.world.getEntitiesWith([Position, Velocity]);
        for (const entity of entities) {
            const pos = entity.getComponent(Position);
            const vel = entity.getComponent(Velocity);
            pos.vec = pos.vec.add(vel.vec.scale(dt));
        }
    }
}

// 3. Create a Scene
class MainScene extends Scene {
    onEnter() {
        this.world = new World();
        this.world.addSystem(new PhysicsSystem());

        const player = this.world.createEntity();
        player.addComponent(new Position(100, 100));
        player.addComponent(new Velocity(50, 0));
    }

    update(dt) {
        this.world.update(dt);
        
        // Input Handling
        if (this.game.input.isKeyDown('Space')) {
            console.log("JUMP!");
        }
    }

    draw(ctx) {
        // ... Rendering ...
    }
}

// 4. Start the game
const game = new Game({ width: 800, height: 600 });
game.scene_manager.push(new MainScene());
game.start();
```

## Documentation

- [Vision & Philosophy](docs/en/vision.md): Why this engine?
- [Architecture](docs/en/architecture.md): How it works under the hood.
- [API Reference](docs/en/api.md): Classes and methods.
- [Roadmap](docs/en/roadmap.md): Project future.

## License

MIT © Kenzoobryan
npm package: @kenzotakahashi/autofloor-calc-outline
Description: Calculate the decoration outline of specified line segments
Author: BULB
Latest version: 1.1.5

# autofloor-calc-outline
Calculate the decoration outline of specified line segments


[A related blog post](https://qiita.com/kenzo-takahashi/items/db0ad161516c9e53bce2)(Japanese) for more information.

## Tutorial

```bash
npm install -D @kenzotakahashi/autofloor-calc-outline
```

```js
import {constructWallOutline, constructOutline} from '@kenzotakahashi/autofloor-calc-outline'

const walls = [
      [[1,3],[3.5,3]],
      [[1,3],[1.2,0.8]]
]
const wallOutlines = constructWallOutline(walls)
console.log(wallOutlines)
```

Output:
```json
[
    {
      "right": [
        [
          0.9167775056994335,
          3.076
        ],
        [
          3.5,
          3.076
        ]
      ],
      "left": [
        [
          1.0832224943005666,
          2.924
        ],
        [
          3.424,
          2.924
        ]
      ],
      "location": [
        [
          1,
          3
        ],
        [
          3.5,
          3
        ]
      ]
    },
    {
      "right": [
        [
          1.0832224943005666,
          2.924
        ],
        [
          1.2694043124823848,
          0.8759999999999981
        ]
      ],
      "left": [
        [
          0.9167775056994335,
          3.076
        ],
        [
          1.130595687517615,
          0.7239999999999998
        ]
      ],
      "location": [
        [
          1,
          3
        ],
        [
          1.2,
          0.8
        ]
      ]
    }
]
```

You can change the width of a wall(the distance between the center line and each outline).

```js
const wallOutlines = constructWallOutline(walls, 0.08)
```
npm package: @kenzotakahashi/autofloor-lib
Description: libraries for autofloor
Author: bulb
Latest version: 0.7.4

# Autofloor Library

Autofloorで使うライブラリです。

## Install

```bash
npm install -D @kenzotakahashi/autofloor-lib
```

## findRooms

壁から部屋を見つけます。outlineに依存しています。

```js
import {findRooms} from 'autofloor-lib'
import {constructWallOutline} from '@kenzotakahashi/autofloor-calc-outline'

const walls = [
  [[1,3],[3.5,3]],
  [[1,3],[1.2,0.8]],
  [[1.2,0.8],[3.5,0.8]],
  [[3.5,0.8],[5.5,0.8]],
  [[3.5,0.8],[3.5,3]],
  [[5.5,0.8],[5.5,3]],
  [[3.5,3],[5.5,3]]
]
const [rooms, outlines] = findRooms(constructWallOutline(walls))
console.log(rooms)
```

Output
```js
[ [ [ 1.0832224943005666, 2.9240000000000004 ],
    [ 1.2694043124823846, 0.8760000000000003 ],
    [ 3.424, 0.876 ],
    [ 3.424, 2.924 ] ],
  [ [ 3.576, 2.924 ],
    [ 5.424, 2.924 ],
    [ 5.424, 0.876 ],
    [ 3.576, 0.876 ] ] ]
```
npm package: @kenzysc/u-exchange-sdk
Description: 🛠 An SDK for building applications on top of U.EXCHANGE.
Author: udotcash
Latest version: 1.11.2

# Uniswap SDK

[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
[![Actions Status](https://github.com/Uniswap/uniswap-sdk/workflows/CI/badge.svg)](https://github.com/Uniswap/uniswap-sdk)
[![npm version](https://img.shields.io/npm/v/@uniswap/sdk/latest.svg)](https://www.npmjs.com/package/@uniswap/sdk/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@uniswap/sdk/latest.svg)](https://bundlephobia.com/result?p=@uniswap/sdk@latest)

In-depth documentation on this SDK is available at [uniswap.org](https://uniswap.org/docs/v2/SDK/getting-started/).

## Running tests

To run the tests, follow these steps. You must have at least node v10 and [yarn](https://yarnpkg.com/) installed.

First clone the repository:

```sh
git clone https://github.com/Uniswap/uniswap-sdk.git
```

Move into the uniswap-sdk working directory

```sh
cd uniswap-sdk/
```

Install dependencies

```sh
yarn install
```

Run tests

```sh
yarn test
```

You should see output like the following:

```sh
yarn run v1.22.4
$ tsdx test
 PASS  test/constants.test.ts
 PASS  test/pair.test.ts
 PASS  test/fraction.test.ts
 PASS  test/miscellaneous.test.ts
 PASS  test/entities.test.ts
 PASS  test/trade.test.ts

Test Suites: 1 skipped, 6 passed, 6 of 7 total
Tests:       3 skipped, 82 passed, 85 total
Snapshots:   0 total
Time:        5.091s
Ran all test suites.
✨  Done in 6.61s.
```
npm package: @keodesign/logo-scroller
Description: a non jquery animated scroller
Author: KEO
Latest version: 1.2.37


# Logo Scroller 

This utility class does a scrolling animation that we normally used for sponsor/brand logos
CSS to include in the site to complement this functionality.

## Class Parameters

 *  @param  {String} containerId  container for querying
 *  @param  {String} childrenSelector   children selector for querying
 *  @param  {String} direction Can be left or right. The default value is left
 *  @param  {String} speed  pixels per ms. The default value is 5


#### CSS Style

      .slider{
       	display: inline-flex;
       	flex-wrap: nowrap;
       	width: 100%;
       	overflow: hidden;
       	align-items: stretch;
       	.card{
       		//children should have an display inline property
        	}
    }


## Sample Usage:

```javascript
import logoScroller from '@keodesign/logo-scroller';
logoScroller('.slider', ".card", "left", 1);
```

## Live Example

-  [Macc Painting](https://macc-painting-dot-kms-au.appspot.com/ "Macc Painting")
npm package: @keodesign/proportional-image-normalisation
Description: Scales images to be visually proportionate based on aspect ratio.
Author: KEO
Latest version: 1.0.7


# Proportional Image Normalisation

Scales images to be visually proportionate based on aspect ratio. An implementation of https://danpaquette.net/read/automatically-resizing-a-list-of-icons-or-logos-so-theyre-visually-proportional/

## Class Parameters

 * @param {string} selector - An element selector for a set of elements to normalise
 * @param {int} widthBase - The width a square image would be scaled to
 * @param {int} scaleFactor - A balancing factor between scaling for height and width (i.e. aspect ratio bias). The default is generally visually balanced.
 * @param {Element} parentEl - A parent element to search for the selector. Defaults to document.

## Sample Usage:

```javascript
import { ProportionalImageNormalisation } from "@keodesign/proportional-image-normalisation";
proportionalImageNormalisation(".banners-home .banner-inner-image", 40, 0.525, document.querySelector("header"));
```
npm package: @keokilee/react-native-mock
Description: A fully mocked and test-friendly version of react native
Author: Leland Richardson
Latest version: 0.2.3

# react-native-mock [![Build Status](https://travis-ci.org/lelandrichardson/react-native-mock.svg?branch=master)](https://travis-ci.org/lelandrichardson/react-native-mock)
A fully mocked and test-friendly version of react native

## Requirements
- Node.js 4+
- The latest version of react-native-mock

__Note__: This library is designed to work with the most recent version of react-native. If you aren't using the most recent version, you will need to download an older version of this library, as the API is likely to be different, and the dependencies are likely to break. Details coming soon!

## How Am I Supposed To Use This?

```bash
npm i react-native-mock --save-dev
```

```js
/* file-that-runs-before-all-of-my-tests.js */

// This will mutate `react-native`'s require cache with `react-native-mock`'s.
require('react-native-mock/mock'); // <-- side-effects!!!
```

## Why?

Testing React Native components is *hard*.  I'm hoping this makes it easier.

I wrote a React Testing Library that works really well for React "Web", but didn't really work for React "Native" without something like this.


## Wait... Is this actually a terrible idea?

I don't know. Maybe.

I'd love to figure that out though... feel free to file an issue if you have opinions.


## Contributing
Discovered a bug, got a new feature, or found something that needs improving? __Submit a PR!__

Make sure to read through the CONTRIBUTING.md file before submitting your PR!

### Contributors
- Leland Richardson (Creator)
- Jake Howard

## What do the labels mean?
See [this wiki page](https://github.com/lelandrichardson/react-native-mock/wiki/Labels---What-do-they-mean%3F).