-
Notifications
You must be signed in to change notification settings - Fork 0
References
danieltan1517 edited this page Jan 14, 2025
·
124 revisions
Libraries, Modules, and Programs written by the Jai Beta Community.
- bgfx - Bindings for bgfx.
- JaiGLFW - Original GLFW port before removal with a few added bindings.
- Raylib-Jai - auto-generated bindings for Raylib 4
- jai_raylib_module - Generate a Raylib module for Jai.
- Raylib-Jai examples - with direct Jai ports of the raylib examples.
- Sokol - Bindings for Sokol.
- Vulkan - Vulkan tooling for Jai.
- OpenXR - OpenXR API for VR and AR.
- ShaderC - To compile GLSL shaders into SPIR-V at runtime.
- Jai-Shader-Transpiler - Jai metaprogram for converting Jai functions to GLSL shaders.
- KodaJai - Graphics library.
- ofbx - a port of OpenFBX.
- jai_wgpu_native - Jai Bindings for wgpu_native.
- Raylib Jai Universal - Universal Raylib port for jai
- Easing Collection in Jai - A collection of very handy easing functions.
- clap-jai - CLAP Audio plugin API bindings for Jai
- clap-jai-plugin-base - Framework for creating CLAP plugin, depends on clap-jai - Example plugin.
- Crypto - Cryptographic primitives library.
- GameNetworkingSockets - Bindings for GameNetworkingSockets.
- libmicrohttpd-jai - Bindings for libmicrohttpd, a compact multithreaded http/1.1 web server, helpers.
- MongooseJai - Mongoose bindings, helpers.
- nghttp2-jai - nghttp2 bindings for low level http2 multithread-able web server.
- SimpleHTTP - a super simple HTTP server library.
- JaiSimpleServer - A simple static http server.
- Jai-HTTP-Server - Features: HTTP / HTTPS / Websockets / epoll threading / Brotli compression - Focused on maximum performance.
- Winsock - Bindings for Winsock 1.
- Winsock 2 - Bindings for Winsock 2.
- wsServer - Bindings for wsServer, a very simple not optimized websocket server.
- enet-jai - Native Jai port of the ENet Reliable UDP networking library.
- jai-s3 - Bindings for libs3.
- yojimbo - Jai port of the yojimbo network library for client/server games
- jai-reliable - Reliable UDP Protocol
- jai-netcode - UDP Connection Protocol
- jai-serialize - Packet serialization
- jai-ip-address - Standalone IPv4/6 address parser with zero dependencies other than Jai's Basic module. Has much better error messages.
- Postgresql - Postgres bindings.
- Redis - Redis API library.
- SQLite3Jai - SQLite3 bindings.
- jai-sqlite3 - A little example of how to use Jai’s bindings generator to use sqlite3 in Jai.
- GraphBLAS - Sparse matrix linear algebra library.
- Linalg - Linear algebra library with vectors, matrices and quaternions.
- MathExtensions - Advanced math functions for Jai
- CSV - CSV file reader.
- GDAL - GDAL library interface; handles dozens of file graphical/geographical file formats.
- INI - INI file reader/writer.
- ContiguousJson - JSON reader/writer that keeps the data in contiguous memory.
- JSON - JSON reader/writer.
- QOI - QOI file reader.
- ZIP - ZIP read/write library. Wrapper around kuba--/zip.
- XML - XML parser and DOM interface library.
- TOML - A module for TOML v1.0.0 support.
- FFmpeg - FFmpeg bindings for jai and some examples decoding and play videos
- ZFP - bindings for the LLNL ZFP library.
-
Metaprogram - automatically download jai-modules from github via
#import
- C - Interop library for writing C bindings.
- jai-string - onelivesleft's String library.
- Fmt - A string formatting library.
- jai-date - Small date module for Jai
- jai-unicode - Unicode utility functions for Jai
- Magic - libmagic bindings.
- Steam API - Steam API library.
- Uniform - Fully-featured regular expression library.
- jai-parallel-for - execute for-like loops in parallel
- SimpleSerializer - serialize and de-serialize to/from binary data
- JaiSerializer - Simple library to read/write structs or nearly any data type into binary.
- osor_serialization - A serialization module for Jai
-
construct -
#insert
structs as constants during compile time - Jai-Plot - a simple scientific plotting tool to be called from Jai code
-
Symbols - A load macro that allows the use of non-ascii characters in
.jai
code files - stb/truetype - To load fonts.
- Arithmetic Coding - An arithmetic coder (encoding and decoding) with custom frequency tables.
- JaiBoy - A GameBoy Emulator in Jai
- 3ds-hello-jai - An example Jai program for the Nintendo 3DS!
- Playdate - Playdate handheld bindings for Jai
- Jai Bunnymark - D3D11 - Just checking how fast computers can go
- clipman - A Clipboard manager for Windows, alternative to Ditto.
- jisp - Automatically parses a Lisp into Jai code at compile-time.
- osor_parser - A parsing module for Jai
- osor_coroutine - A coroutine module for Jai.
- tracy - Jai bindings for Tracy, a powerful open-source telemetry profiler.
- twitch_irc - A Twitch IRC library written in Jai
- chi_state_tracker - System to track and query against the systems knowledge of a game state.
- jai-autocomplete - A simple command line tool to list which procedures accept a given struct as a parameter.
- kscurses - A Jai port of curses (a terminal control library (TUI) for Unix-like systems).
- gltf_parser - A glTF parser for Jai codebase.
- jai-sim86-bindings - Jai bindings for Casey Muratori's 8086 Simulator
- nanoid - A simple NanoID implementation.
- MetaThreadSafe - A metaprogram plugin to verify safe thread access and help prevent multithreading issues.
-
jai-modules - Various modules: Saturation provides integer saturation arithmetic procedures:
add
,sub
,mul
, anddiv
; TUI provides functionalities similar to the ncurses library; UTF8 provides basic operations over UTF8 encoded strings.
- ark-vcs - A Versioning Control System with Games in mind, by Nuno Afonso.
- Stubborn - Minimal test runner and assertion library.
- Binary BVH Tree - Jai Binary BVH Tree
- jai-ryu - Ryū: Fast float to string conversion and Ryū printf
- John Conway's Game of Life - Didactic implementation of John Conway's Game of Life
- Jai-OpenSimplex - Jai port of the OpenSimplex algorithm.
- Parallel Merge Sort - Simple & efficient jai parallel merge sort.
- Performance Monitoring Counters - Jai module to enable collecting Performance-Monitoring Counters (PMCs) thread-safe, continuously on a running program
- JaiBox2D - Bindings for Box2D.
- JaiBullet - Bindings for Bullet Physics based on an incomplete C wrapper.
- JaiPhysX - PhysX 4.1 c-style bindings.
- KodaPhysics - Static only physics engine.
- Chess AI + UI - Chess Engine with Neural Networks and Lazy SMP Parallel Search with User Interface
- Xiangqi AI - Xiangqi Chinese Chess Engine with Neural Networks and Lazy SMP Parallel Search with User Interface
- MNIST in Jai - Neural Networks in Jai to detect MNIST handwritten digits.
- theos - The Operating System. An Operating System written in Jai
- Jai-Scientific-Units - Use numbers with units!
- Wasm Compiler & WebGL - Helper functions, memory allocator, and bindings to run jai code in browser with webgl.
- Jai WebAssembly - Proof-of-Concept
- jai_wasm - Jai WASM Plugin
- Raspberry Jai - Cross-compiling Jai for the Raspberry Pi
- Jai-Win32 - Win32 bindings for the Jai programming language (includes Direct3D12 related bindings)
- Jai experiments
- jai-assertive - Better asserts (can be used for unit testing, or to replace asserts in debug builds for better error messages).
- jaitro - a libretro frontend.
- jaidoku - A Sudoku game.
- jai-shooter - A shooting game.
- Cavy - a simple multithreaded web server.
- Mara - a simple Gopher server.
- jaibreak - a breakout game
- aoc2022 - Advent of Code 2022 implementation
- arrow-jai - One Arrow Colosseum - GMTK 2019 Game Jam Entry
- SimpleGames-Jai - Three simple games in Jai with Raylib (v3.7.0).
- Jai-Mines - A Minesweeper Game made in Jai.
- sokoban - A published Sokoban game made in Jai.
- TIS-99
- Checkers for 4 players
- Skeletal Animation - a 3d skeletal animation viewer
- Jonathan Blow's language playlist on YouTube
- Jai Community - A Place to Learn about Jai Programming Language
- The Way to Jai - A gradual guide to discover and learn the Jai programming language
- Joy of Programming in Jai YouTube Series - Nuno Afonso
- Jai on Reddit
- Jai resources - Inductive.no
- Patrick's Getting started with Jai
- BSVino's Jai Primer
- Iain King's Jai Cookbook
- Learning Jai via Advent of Code ForrestTheWoods - 2023 Feb 13
- My Experience With Jai SilTutorials - 2023 Jan 5
- Smash - A debugger for Linux (and hopefully macOS), written from scratch in Jai by rluba.
- Focus - A simple editor in Jai
- LLDB formatters for Jai types
- Ctags - generate ctags for various editors
- Jai LSP by Patrik Smělý
- jai-lsp by Pyromuffin
- jai-lsp by Sl3dge78
- JaiTools for Sublime Text 3
- tree-sitter-jai
- Vim syntax
- Jai mode for Emacs
- Notepad++ Syntax Highlighting
- Jai language definition file for Kakoune
- jai-format - Simple code formatter for Jai.
- discourse-highlightjs-jai - Discourse theme component to highlight Jai syntax
- VS Code support:
- Hacker's Delight
- Modern x64 Assembly: Beginning Assembly Programming
- x86 and amd64 instruction reference
- Intel Intrinsics Guide
- Godbolt, Compiler Explorer
- Learn OpenGL
- OpenGL
- LLVM
- LLVM Documentation
- Linear Algebra Done Right
- Memory Allocation Strategies
- A Digital Signal Processing Primer: With Applications to Digital Audio and Computer Music
- Hypercomplex Numbers: An Elementary Introduction to Algebras