Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/load1n9/neko

frame buffer deno module built on top of mini_fb with canvas api implementation and a webgpu renderer
https://github.com/load1n9/neko

canvas deno gui javascript typescript

Last synced: about 2 months ago
JSON representation

frame buffer deno module built on top of mini_fb with canvas api implementation and a webgpu renderer

Awesome Lists containing this project

README

        





Neko 🐈

frame buffer deno module built on top of mini_fb with canvas api implementation
and a webgpu renderer



neko stars


neko releases


neko License



### Packages

- [Core](https://github.com/load1n9/neko/tree/master/core) - basic frame buffer
library
- [Canvas](https://github.com/load1n9/neko/tree/master/canvas) - javascript
canvas implementation
- [WebGPU](https://github.com/load1n9/neko/tree/master/webgpu) - webgpu renderer

### Usage

#### Using Methods

```typescript
import { Neko, World } from "https://deno.land/x/neko/mod.ts";

const width = 800;
const height = 600;

const neko = new Neko({
title: "Neko",
width,
height,
});
const frame = new Uint8Array(width * height * 4).fill(0x000000);
class Instance extends World {
updateSync() {
frame[Math.round(Math.random() * frame.length)] = Math.round(
Math.random() * 0xffffff,
);
neko.setFrameBuffer(frame);
}
}

new Instance().startSync(neko, 60);
```

#### Using Functions

```typescript
import { Neko, World } from "https://deno.land/x/neko/mod.ts";

const width = 800;
const height = 600;

const neko = new Neko({
title: "Neko",
width,
height,
});
const frame = new Uint8Array(width * height * 4).fill(0x000000);
new World().startSync(neko, {
fps: 60,
updateSync: () => {
frame[Math.round(Math.random() * frame.length)] = Math.round(
Math.random() * 0xffffff,
);
neko.setFrameBuffer(frame);
},
});
```

### Maintainers

- Loading ([@load1n9](https://github.com/load1n9))