Skip to content

A universal scripting API for flecs on all languages that compile to WebAssembly

Notifications You must be signed in to change notification settings

flecs-hub/flecs-polyglot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Flecs Polyglot

⚠️ Warning ⚠️ - This repository is under construction.

Introduction

A universal scripting API for flecs on all languages that compile to WebAssembly. This is achieved through WebAssembly module linking (on the web through Emscripten, on native through Wasmtime), or native dynamic linking for a zero runtime option.

flecs is a blazing-fast, cache-friendly, portable, entity component system written in C that supports relationships, hierarchies, and more!

Goals

Provide one universal set of scripting bindings using powerful technologies such as WebAssembly with minimal overhead during interop with the host program. Fast memory mapped access to C struct data is used instead of reflection.

Usage (WIP)

Implementation / Project Scaffolding CLI can be found in the Toxoid Engine repository: https://github.com/toxoidengine/toxoid

Supported Platforms

  • Web
  • Mobile
  • Desktop (Windows / Linux / OS X)

Supported Languages

  • Rust
  • C / C++
  • TypeScript / JavaScript
  • C# (Not yet)
  • AssemblyScript (Not yet)
  • Lua / LuaJIT (Not yet)
  • Kotlin (Not yet)
  • Java (Not yet)
  • Zig (Not yet)
  • Swift (Not yet)
  • Haxe (Not yet)
  • Rhai (Not yet)
  • Go / TinyGo (Not yet)

About

A universal scripting API for flecs on all languages that compile to WebAssembly

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages