# simple-data-texture

> ... --- module for using webgpu for data visualization and more make compute shaders as simple as possible minimalist runtime for using webgpu shaders in nb/static website ---

Latest version **0.3.0** (published 2021-12-07) · 0 weekly downloads

## Install

```sh
npm install simple-data-texture
pnpm add simple-data-texture
yarn add simple-data-texture
bun add simple-data-texture
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; low quality score; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.3.0 |
| Published | 2021-12-07 |
| First published | 2021-11-03 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 2.9 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | nyc-map |

## Links

- npm: https://www.npmjs.com/package/simple-data-texture
- npm.io page: https://npm.io/package/simple-data-texture

## Dependencies (1)

- [@webgpu/types](https://npm.io/package/@webgpu/types.md) ^0.1.7

## Recent versions

- 0.3.0 (latest) — 2021-12-07
- 0.1.0 — 2021-11-28
- 0.1.0-0 — 2021-11-28
- 0.0.9 — 2021-11-28
- 0.0.8 — 2021-11-28
- 0.0.7 — 2021-11-27
- 0.0.5 — 2021-11-27
- 0.0.4 — 2021-11-27
- 0.0.3 — 2021-11-26
- 0.0.0 — 2021-11-03

## README

# simple-webgpu-compute
...
---
module for using webgpu for data visualization and more
make compute shaders as simple as possible
minimalist runtime for using webgpu shaders in nb/static website
---

```
 import {init} from "https://cdn.skypack.dev/simple-data-texture/"


let options = {}

let draw = init(options)

let uniformData = {}

draw(uniformData)

```



```
 import {init, Texture} from "https://cdn.skypack.dev/simple-data-texture/"


let catTexture = Texture('http://giphy.com/cat_pic.png');
let dogTexture = Texture('http://giphy.com/dog.png');

let draw = init({
  data: {time: 123, texture:catTexture}
})

draw({texture: dogTexture})

cat.subImage({
  width: 200, height: 200,
  data: dogTexture.read({x:5,y:5,w:200,h: 200})
}, 1,1)
```
//todo make api easier
//todo make textures stream and pipe through compute

```

```



this library currently just draws a quad and allows
  custom shaders with minimal boilerplate
  custom uniforms and textures 

* TopLevel Functions
init -> returns draw
Texture 

* Default Options
### WidthxHeight
1. passed in explicitly
2. check canvas 
3. if neither 1,2 default to 900x500

* References
http://vis.stanford.edu/files/2013-imMens-EuroVis.pdf
(what is the right name for data-cubes/megatextures/virtual-streaming-textures/etc??)
https://observablehq.com/@observablehq/downloading-and-embedding-notebooks


techniques for faster load time
(start with lossy to load instantly, fill in with accurate data as user gets closer adjusting level of detail )
png/jpeg
https://developers.google.com/protocol-buffers
column-based data-stores like arrow/cassandra
mega-textures from id-engine-5 (virtual-streaming textures )
immens / nanocubes
https://scale.com/resources/download/pandaset
https://nanocubes.net/
https://www1.nyc.gov/site/doitt/initiatives/3d-building.page
https://explorer.morphocode.com/map

---
_Source: https://npm.io/package/simple-data-texture · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
