Skip to content

Latest commit

 

History

History
230 lines (190 loc) · 13 KB

built-with-assemblyscript.md

File metadata and controls

230 lines (190 loc) · 13 KB
description
A place for all things AssemblyScript. Feel free to add your projects and applications, in alphabetical order.

Built with AssemblyScript

A place for all things AssemblyScript. Feel free to add your projects and applications.

Benchmarks

  • webassembly-wave (demo)
    JavaScript vs WebAssembly performance comparison - wave equation demo (JS, C++, AssemblyScript).
  • Eratosthenes
    WebAssembly examples which calculate prime by Sieve of Eratosthenes.
  • WasmBoy Benchmark
    Benchmarking WasmBoy emulator.
  • wasm-n-body
    WebAssembly N-body simulation benchmark (use 1000 bodies compare to original).
  • as-benchmarks (demo)
    A set of computational benchmarks (JS, AssemblyScript).
  • Sort Colors Benchmark (demo)
    Bench of sorting random colors by hue component on 2d canvas.
  • Wasm Mandelbrot (demo)
    A mandelbrot rendered using a variety of WebAssembly tools (emscripten, AssemblyScript, asm.js, etc ...)
  • Schelling's Segregation (demo)
    A set of Schelling's Segregation model simulations using combinations of WebGPU and AssemblyScript.

Blockchain

Build Tools

Demoscene

  • Hoofdkantoor WASM Demo
    A demo built with AssemblyScript (also TS and Web Audio API). It's an homage to the old school Demoscene of the early 90s.

Editors

  • Fastly Terrarium
    A compilation toolchain and sandbox to run WebAssembly server-side, with native support for AssemblyScript.
  • NEAR Protocol Examples
    Examples that use GitPod to develop and deploy distributed web apps using NEAR smart contracts authored in AssemblyScript.
  • Iodide Notebook
    Experimental tool for scientific communication and exploration on the web (more).

Formatter

Emulators

  • wasmBoy (demo)
    Game Boy / Game Boy Color Emulator Library, written for WebAssembly using AssemblyScript.
  • Atari 2600
    An Atari 2600 emulator written in AssemblyScript compiled to WebAssembly.
  • as-spectrum-engine
    AssemblyScript implementation of a ZX Spectrum emulator engine.

Games

Graphics / Game Frameworks

  • as2d
    [Deprecated] Bring the power of the CanvasRenderingContext2D prototype to AssemblyScript.
  • koora
    Assemblyscript 3D Game Framework.
  • as-smallpt
    Port of C++ smallpt, a path tracing renderer.
  • Babylon.Font
    Create 3d text in BabylonJS.
  • Path-Finder
    AssemblyScript NavMesh Path Finder.
  • seam-carving-as
    Seam Carving experiments with AssemblyScript.
  • ASWebGLue
    WebGL bindings for AssemblyScript.
  • GLAS
    WebGL in AssemblyScript, port of Three.js to AssemblyScript.

Data Serialization / Deserialization

  • karmem
    Karmem is a fast binary serialization format, faster than Google Flatbuffers and optimized for WebAssembly languages.
  • as-proto
    Protobuf encoder/decoder library.
  • as-json
    JSON encoder / decoder.
  • as-msgpack
    MessagePack package for AssemblyScript.
  • assemblyscript-bson
    BSON encoder / decoder.
  • assemblyscript-json
    JSON encoder / decoder.
  • AS-LZMA
    LZMA Decoder written in AssemblyScript.

Crypto (non-blockchain)

  • superfasthash
    An implementation of the SuperFastHash non-cryptographic hashing algorithm in JavaScript and WebAssembly.
  • WASM-Crypto
    An AssemblyScript set of cryptographic primitives for building authentication and key exchange protocols.
  • rabin-wasm
    Rabin fingerprinting implemented in WASM (used by js-ipfs).
  • xoroshiro128starstar
    An AssemblyScript port of xoroshiro128starstar.c

Fixed & Arbitrary Precision Arithmetics

  • as-bignum
    Fixed length big numbers like u128, i256, fp128 and etc for AssemblyScript.
  • as-big
    An AssemblyScript library for arbitrary-precision decimal arithmetic.
  • as-bigint
    BigInt is an AssemblyScript class for math with arbitrarily large integers.
  • as-bignumber
    An AssemblyScript class for math with arbitrary-precision decimal and integer numbers.
  • @hypercubed/as-mpz
    Immutable multiple precision integer library for AssemblyScript.

Language Extensions and Types

  • as-container
    AssemblyScript version of Rust Option<T> and Result<O, E> etc.
  • as-variant
    Variant (aka Any) data type for AssemblyScript.

Bindings

  • asdom
    DOM bindings for AssemblyScript.
  • ecmassembly
    Bindings for common ECMAScript/JavaScript APIs that require host scheduling (setTimeout, Promise, etc).
  • wasmbind
    Work with AssemblyScript memory and classes from Python.
  • as-bind
    [Deprecated] Isomorphic library to handle passing high-level data structures between AssemblyScript and JavaScript, built on top of the AssemblyScript loader.

Other Libraries

  • ASTL
    [Deprecated] Migration project from C++ STL (Standard Template Library) to AssemblyScript. Containers, iterators, algorithms and functors are supported.
  • Levenshtein Wasm
    An experimental lightning-fast Wasm-compiled levenshtein library.
  • as-wasi
    An AssemblyScript API layer for WASI system calls.
  • galois
    Arithmetic and polynomial operations in finite fields.
  • merkle
    Merkle tree and other data structures.
  • pixelmatch-asc
    Pixel level image comparison library.
  • wasmer-as
    Helpers for dealing with assemblyscript memory inside wasmer-runtime.
  • wasmer3-as
    Examples of lift string and lower string in wasmer 3.0
  • io-devices-lib
    Library for interacting with the Wasmer Experimental IO Devices.
  • as-string-sink
    An efficient dynamically sized string buffer (aka String Builder) for AssemblyScript.

Embedded / IoT

  • wasm3-arduino
    Usage example with wasm3 which run on Arduino, PlatformIO, Particle.
  • Wasm3_RGB_Lamp
    Animating an RGB lamp, using WebAssembly (AssemblyScript).
  • wasm-arduino-wifi
    Example how update WebAssembly via WiFi on arduino.

Testing / Benchmarking

  • as-tral
    AssemblyScript benchmarking library inspired by criterion.rs. (Required AssemblyScript >= 0.20)
  • as-pect
    A test framework inspired by jest. (Required AssemblyScript <= 0.19)
  • envy
    A test framework spiritual successor of as-pect. (Required AssemblyScript >= 0.20)

Project Templates

Applications

  • wasm-matrix
    A Matrix effect in your terminal using AssemblyScript and WASI, deployed to WAPM.
  • WebAssembly music experiment
    A live coding environment in the browser for sequencing music with javascript and synthesizing instruments in AssemblyScript. Demonstrates compiling AssemblyScript directly in the browser, and live hot-swapping of webassembly modules.
  • WireWorld (demo)
    The Wireworld Computer in Javascript/Canvas.