示例一览
examples/ 下有 33 个示例。每个示例是一个目录:入口 scene.esn、通常还有 kernels/(它用到的 .ent 库)、tests/(.replay 脚本及其场景)和一份说明运行方式的 README.md。示例使用包,没有任何东西依赖示例;包由自己的 tests/ 测试。
entelechy run examples/<example>/scene.esn --out output.ppm --watchentelechy replay examples/<example>/tests/*.replay
showcase · 有符号距离场 + PBR
path · 路径追踪
nebula · 噪声生成的星云
physics · 刚体物理
cube-puzzle · 神经网络学魔方语言与执行模式
Section titled “语言与执行模式”| 示例 | 内容 |
|---|---|
grayscale |
渐变经过灰度与像素化两个 Kernel——第一个证明,也是分步教程的主角。 |
life |
康威生命游戏:Grid<Cell> 通过反馈绑定(<~)演化,可以用指针绘制。 |
ant |
兰顿蚂蚁:在网格 memory 上的 scan。 |
modes |
Kernel 的各种执行方式:merge 归约、两次 map 排序、一个 Kernel 写三个输出、scatter 溅射粒子、async 离帧运行的状态机。 |
image |
用数组、矩阵、体和采样器生成图片:高斯核、Mat3 浮雕、立方体、marching squares、Volume<Float> 云、mod 平铺滚动。 |
data |
Field 如何存放数据:窄编码、Double 与 Long、Grid<Tile> 洪泛、写文件再读回、按帧读取目录。 |
| 示例 | 内容 |
|---|---|
path |
渐进式路径追踪:采样数与反弹次数是图参数,累积和是状态。 |
mesh |
圆环细分、投影、由 raster 包光栅化并着色(native.rasterize@1 为快速路径);导入 GLB 并贴图。 |
mipmap |
按每个像素所需的 mip 级别读取地面,级别由 carry 放置的子图生成。 |
culled |
一千万个三角形,每帧通过 parallel 包只放置可见的块。 |
surface |
每帧从 Volume<Int> 生成网格,单元被压缩并计数。 |
text |
通过 run --save 烘焙的字体图集绘制字形。 |
ui |
用 ui 包绘制设置界面与角色面板,可用键盘、手柄或指针操作。 |
controls |
键盘或手柄控制一个点,动作由 controls 包从表中读取。 |
vector |
用 entelechy-import 导入 SVG,由 vector 包在任意尺寸下清晰绘制;可拖动缩放。 |
showcase |
有符号距离场建模的手柄,基于物理的着色,工具栏使用逻辑像素。 |
darkroom |
用 image 包冲洗一张 raw 照片:均衡、调色、锐化,并由距离场画出霓虹描边。 |
nebula |
由 random 包生成的星云,叠加辉光、景深、色调与颗粒。 |
logo |
Entelechy 的标志:所有版本都来自同一个 Kernel,并画出标志的作图稿。 |
| 示例 | 内容 |
|---|---|
genesis |
一个不断改写自己生长规律、直到生命达到平衡的世界,通过 to files 输出写下每条规律。 |
swarm |
大量物体:一百万个由 map 推进、由 scatter 绘制;六万五千个通过网格(scatter sum + prefix)寻找邻居。 |
physics |
盒子和球下落、堆叠、滑动、弹跳(physics 包);传感器、射线、点击投球。 |
fluid |
Navier–Stokes 烟雾,压力求解是一个用 times 重复放置的 Jacobi Kernel。 |
collapse |
在 tile 位掩码的 Grid<Int> 上做波函数坍缩。 |
learn |
用梯度下降训练的 2-16-1 网络,梯度是一次 scatter。 |
cube-puzzle |
可玩的魔方,以及在打乱步数上训练的 54-32-1 网络;play.esn 读取保存的权重。 |
| 示例 | 内容 |
|---|---|
sound |
用 Kernel 写声音:合成器经 scan 滤波并画成示波器,人声与频谱;拨弦、鼓采样、MIDI 钢琴卷帘、游戏配乐与音效。 |
| 示例 | 内容 |
|---|---|
animation |
骨骼、动画片段与跟随的网格:导入 Blender 手臂并混合两个片段、64 人群、肩部瞄准、根运动。 |
游戏、工具与机器
Section titled “游戏、工具与机器”| 示例 | 内容 |
|---|---|
slg |
回合制战棋:回合状态机,移动范围是放置三次的子图。 |
arcade |
几个 Kernel 写成的小游戏:俄罗斯方块(位掩码表)与贪吃蛇;回放会把游戏完整玩一遍。 |
machines |
把处理器写成对内存的 scan:CHIP-8 解释器和 ARM7TDMI Thumb 核心,绘制帧缓冲。 |
voxel |
Volume<Int> 上的体素编辑器,带撤销和工具栏;火光或日光下的地穴,以及由关节驱动的体素身体。 |
Agent、包与文件
Section titled “Agent、包与文件”| 示例 | 内容 |
|---|---|
level |
由 Kernel 从 bytes 读取的二进制关卡格式。 |

