Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,23 +100,26 @@ ready.

## Current scope

Supported: the full core wasm instruction set — numeric ops (i32/i64/f32/f64),
Supported: the currently translated core wasm subset — numeric ops
(i32/i64/f32/f64),
comparisons, conversions, locals, globals, memory load/store, **bulk memory
(copy/fill/init + passive data segments)**, `call` / `call_indirect`,
(copy/fill/init)**, active and passive data segments, `call` / `call_indirect`,
`block` / `loop` / `if` / `br` / `br_table`, `select`, `memory.grow`, data
segments, element segments, start function, exports, function imports.

The bundled `runtime/roblox.luau` provides a handle-based Roblox binding layer
(get service, instance creation, number + Vector3 properties, print, destroy),
tested against a mock Roblox environment.

Rejected loudly (typed reasons): SIMD (`v128`), atomics, memory imports,
exception tags, shared/64-bit memories, table/global exports, and
passive/declarative element segments.
Rejected loudly (typed reasons): SIMD (`v128`), atomics,
exception-handling tags, shared or 64-bit memories, multiple memories,
non-function imports, global/table/tag exports, and passive/declarative element
segments. Passive **data** segments are supported
through `memory.init`; passive element segments are not.

Documented approximations: `i64` values are represented as Luau numbers and
are exact only through 53 bits; some i64 operations currently reuse 32-bit
helper paths. `f32` rounding is not modeled, and division-by-zero does not
trap.
Documented approximations: `i64` values are represented as Luau numbers, so
values above the exact-integer range of IEEE-754 doubles are rounded; several
operations currently reuse 32-bit helper paths. `f32` rounding is not modeled,
and division-by-zero does not trap.

See `CLAUDE.md` for the full architecture and agent guidance.
Loading