v0.0.2-rc.3 · Rust · MIT

软件,
在运行中生长。
Software that
becomes, while it runs.

Software that becomes, while it runs.

Entelechy 是一个让程序“长出来”而非“发布出去”的运行时:AI 编写法则、组合结构,并在世界持续运行的同时修改二者。 A runtime where programs are grown, not shipped: AI writes the laws, composes the structure, and changes both while the world keeps running.

1,157
次提交commits
32
个示例场景example scenes
19
个内核包packages
3
个执行后端backends
Host

宿主即世界is the world

Kernel

内核即法则is the law

Graph

图即结构is the structure

AI

AI 即创造者is the creator

01 · 它是什么What it is

一个稳定的世界,一套可替换的法则A stable world, replaceable laws

Entelechy 用 Rust 写成。宿主(Host)只认识内存、设备与时间,不认识手柄、光线或魔方;一切具体能力都由 .ent 编写的内核(Kernel)提供,再由 .esn 场景按稳定 ID 组合成图(Graph)。程序在运行中被修改、校验、原子替换——世界从不停止。 Entelechy is written in Rust. The Host knows memory, devices and time — no gamepad, no light, no cube. Every concrete capability is a Kernel written in .ent, composed by .esn scenes into a Graph by stable id. Programs are changed, validated and swapped atomically while they run — the world never stops.

🔑

权限需被授予Authority is granted

内核只能使用它声明且被授予的能力;文件只在会话允许的目录中读写。A Kernel runs with the capabilities the person running the session grants; files are read and written only in directories they allow.

🛡️

每次变更先校验Every change is validated first

内核或场景在替换任何东西之前都会被编译和检查;发布是原子的,并对照 AI 最后看到的版本号。A Kernel or a scene is compiled and checked before it replaces anything; publication is atomic and checked against the generation the agent last saw.

⚖️

真值有效才提交State commits only when valid

只有整次求值成功,一帧的状态与文件写入才会提交。A frame's state and file writes commit only when the whole evaluation succeeds.

🔭

世界可观测The world is observable

任何端口都可读取、任何元素可追踪、任何节点可计时;一次运行就是一次回放,一次回放就是一个测试。Any port can be read, any element traced, any node timed; a run is a replay, and a replay is a test.

02 · 程序如何“生成”How a program becomes

法则 · 结构 · 运行中的变更A law · a structure · a change, while it runs

examples/grayscale/kernels/grayscale.ent
/// Edit the weights or `amount` while `entelechy run --watch` is running.
kernel image.grayscale@1 {
    requires { field.read; field.write; }
    input source: Image;
    param amount: Float = 1.0;
    output result: Image;
    fn luma(c: Vec4) -> Float {
        return dot(c.rgb, vec3(0.2126, 0.7152, 0.0722));
    }
    compute {
        let c = sample(source);
        let g = luma(c);
        return mix(c, vec4(g, g, g, c.a), amount);
    }
}

图像、声音、几何、骨骼与游戏状态都是同一种资源——类型化 Field。每个内核都降级到同一套与后端无关的 IR,由参考解释器、JIT(经 Cranelift 生成本机代码,或 WebAssembly)和 GPU(经 wgpu 的 WGSL)执行;解释器是参考实现,JIT 与之逐位一致。Images, sound, geometry, rigs and game state are one resource, a typed Field. Every Kernel lowers to one backend-neutral IR, run by a reference interpreter, a JIT (native code through Cranelift, or WebAssembly) and the GPU (WGSL through wgpu). The interpreter is the reference; the JIT matches it bit for bit.

04 · 能在上面运行什么What runs on it

从渲染到 CPU 模拟器,全是场景From rendering to CPU emulators — all scenes

渲染Rendering

路径追踪、光线步进、延迟着色、用内核写成的光栅器、千万级剔除三角形、体积、矢量、文字。Path tracing, ray marching, deferred shading, a rasterizer written as Kernels, ten million culled triangles, volumes, vectors, text.

模拟Simulation

百万粒子、Navier-Stokes 烟雾、邻域搜索、刚体、波函数坍缩。A million bodies, smoke by Navier-Stokes, neighbor search, rigid bodies, wave function collapse.

学习Learning

以梯度下降训练的神经网络,其中一个学会判断魔方的打乱程度。Networks trained by gradient descent, one learning how far a cube puzzle is scrambled.

声音Sound

合成器、拨弦、采样器、频谱、MIDI 输入与输出。A synthesizer, plucked strings, a sampler, a spectrum, MIDI in and out.

骨骼动画Rigs

glTF 与导入的骨骼,由 animation 包摆姿、混合、瞄准与行走。glTF and imported rigs posed, blended, aimed and walked by the animation package.

游戏与机器Games & machines

贪吃蛇、俄罗斯方块、战棋、体素编辑器、CHIP-8 解释器、ARM Thumb 核心。Snake, falling blocks, a tactics game, a voxel editor, a CHIP-8 interpreter, an ARM Thumb core.

05 · 如何构建How it is built

分层,并由测试守住边界Layers, held by tests

核心只依赖核心,后端只依赖核心,只有接口层依赖一切。核心与前端没有任何外部依赖;unsafe 只存在于 JIT 与 C ABI 两个 crate 中。The core depends on the core alone, a backend on the core alone, and only the interface layer on everything. The core and front end take no external dependency; unsafe lives in two crates, the JIT and the C ABI.

AI · Human any model · any language Bridges DCC tools External hosts Web (Wasm · WebGPU) C JSON lines protocol InterfacesCLI · Player · protocol · C ABI Graph Runtimecomposition by KernelID Kernel Runtimeprepare · validate · swap Entelechy IRtyped · backend-neutral Capability ABIcapabilities · handles Host Corememory · devices · time · budgets Interpreterthe reference JITCranelift · WebAssembly GPUWGSL via wgpu JIT = bit for bit · GPU ≈ rounding Hardware — macOS / Metal · WASI · browser WebAssembly & WebGPU

← 左右滑动查看完整架构图 →← swipe to see the full diagram →

coreabi · graph · host · ir · kernel · rules
frontendlanguage · compiler · scene
backendscpu · jit · gpu · conformance
interfaceentelechy · session · protocol · player · ffi · documents · import · export · formats

06 · AI 即创造者AI is the creator

一个开放协议,所有智能体同一套权限规则One open protocol, the same authority rules for all

智能体通过一个开放协议进行创造:基于 stdin/stdout、Socket、WebSocket 或 C 函数的 JSON lines。任何模型、任何语言、任何 CLI。
安全的路径,就是强大的路径。
An agent creates through one open protocol: JSON lines over stdin and stdout, a socket, a WebSocket, or a C function. Any model, any language, any CLI.
The safe path is the powerful path.

entelechy serve examples/life/scene.esn

07 · 快速上手Get started

四条命令,看见它活起来Four commands to see it live

从源码构建(需要 Rust 1.93 或更高):cargo build --release,程序会出现在 target/release/。From the source (Rust 1.93 or later), cargo build --release puts the programs in target/release/.

1entelechy new hello

生成一个可运行的场景:内核、场景与测试。可用 --kind picture|sound|game 选择起点。A scene that runs: Kernel, scene, test. --kind picture|sound|game picks the start.

2entelechy player hello/scene.esn

在窗口中打开它,实时编辑内核。Open it in a window; edit the Kernel live.

3entelechy run examples/grayscale/scene.esn --out gray.png

运行示例场景并输出图片。Run an example scene and write a picture.

4entelechy help

打印每一层的语法与 API。The syntax and API of every layer.

08 · 项目进展Status

六周,1,157 次提交Six weeks, 1,157 commits

首次提交于 2026-09-19,最近提交于 2026-10-31。当前最新标签为 v0.0.2-rc.3,暂无正式发布计划——这是一个早期、快速演进中的项目。First commit 2026-09-19, latest 2026-10-31. v0.0.2-rc.3 is the last tag and no release is planned — an early project, moving fast.

  1. 项目以架构文档起步;Host Core、Capability ABI、IR、CPU 执行与原子发布相继落地Started from its architecture documents; Host Core, Capability ABI, IR, CPU execution and atomic publication land
  2. v0.0.1 · v0.0.2-alpha.1
  3. v0.0.2-alpha.2 · alpha.3
  4. v0.0.2-rc.1 · rc.2 · rc.3
  5. GPU 计时、光栅包、文字与地形、宿主设备输入输出、C ABI 修复等持续演进GPU timing, the raster package, text and terrain, Host devices for input and output, C ABI fixes and more

已验证的平台Verified surface

  • macOS · Apple M4 · Metal
  • WASI 下的 WebAssembly(wasmtime)WebAssembly under WASI (wasmtime)
  • 无头 Chrome 中的 WebAssembly JIT 与 WebGPUHeadless Chrome: Wasm JIT and WebGPU
  • 解释器 / JIT / GPU 三端跑通全部示例回放Every example's replays on interpreter, JIT and GPU
  • 36 项语言特性 × 7 种执行形式的一致性测试36 language features × 7 execution forms, conformance-tested
  • 外部宿主与 DCC 桥接 · C ABIExternal host and DCC bridges · C ABI

已知待解决Known open items

  • Windows(RTX 4090)上的网页无法打开某个大型场景,原因待查A page on Windows (RTX 4090) did not open a large scene that the M4 opens; cause unknown yet
  • 网页的 WebAssembly 内存停留在峰值(大型场景约 140 MB)A page's WebAssembly memory stays at its peak (~140 MB for a large scene)
Fynn-3D

作者Author

Fynn-3D

Entelechy 的作者。项目的信条写在仓库里:保持世界稳定,保持法则可替换,保持组合开放,让能力生长。Author of Entelechy. The creed, as the repository puts it: keep the world stable, keep the laws replaceable, keep composition open, let capability grow.