【1024Builder作品秀】词源宇宙|我把 143 个英语词根,做成了一张会发光的星图

1024Builder作品秀#

为了让每天跑程序看不懂英文报错,读不懂英文变量名,看不懂Github英文文档的我们,第一次"看见"自己读的到底是什么。

一个不懂前端的英语爱好者,在 TRAE 里熬了几十个夜晚,把"词根"做成了一个能 360° 旋转的 3D 宇宙。

0. 先说为什么是"词根"

1024 是 2 的 10 次方,也是 Builder 的暗号。我们这行有个隐形门槛:技术世界是英文写的。

import export 是 port(搬运);commit submit transmit 是 mit(送);inspect respect specification 是 spec(看);construct instruct infrastructure 是 struct(建造);describe subscribe prescribe 是 scrib(写)。

词根是英语的 API,单词是调用它的函数。 背单词是在背返回值,懂词根才是读源码。

所以我想做的不是又一个背单词 App,而是把这张"底层调用关系图"直接画出来。

1. 它是什么

这一个纯前端 3D 网页应用(Three.js R160,单文件 HTML + 一个 data.json):

  • 143 个词根分布在 3D 球面空间,按 7 个语义聚类(action / thought / science / body / quantity / society / emotion)
  • 613 个派生词、298 条关联连线,每条连线都是一次"同源 / 复合 / 反义"的解释
  • 拖拽旋转、滚轮缩放、右键平移;点中一个词根,整条关联网络亮起,其余变暗
  • 搜索 port,相机会自动飞过去
  • 学习进度本地保存:节点亮度 = 你的掌握度(未学 / 初识 / 熟悉 / 掌握),不用账号,不上传任何数据

2. 三个我特意做的设计

一、用空间代替列表。 你记住的不只是 fer = carry,还有它在哪一片光里、和谁连着。球面布局、菌落配色、连线结构,都是给记忆留的"位置编码"——列表记不住的东西,位置能记住。

二、零依赖,断网可用。 Three.js 和 OrbitControls 全部本地化,一个 HTML + 一个 JSON,双击 start.bat 就能跑。没有账号、没有 CDN、不报"网络异常请重试",MIT 开源。

三、黑暗里的光。 视觉灵感来自深夜森林地表:每一根词根是一朵发光蘑菇,语义关联就是菌丝。触碰任意一朵,信号沿菌丝级联点亮整片网络。这是我理解的"探索"——不是被喂知识,是自己发现连接。

3. TRAE 在这件事里到底做了什么

我不是程序员,也没打开过任何传统 IDE,整个项目从头到尾在 TRAE Work 里完成。几个真实节点:

  • 一句话到能跑的 3D:我只说"想要节点像菌丝一样分布在一个球面上",它给出了黄金角螺旋布局 + 发光材质 + 星尘粒子 + 射线拾取的完整实现。我完全没有 Three.js 经验。
  • 数据不是手填的:我说"扩充到初高中水平",它把词根按词源分类、按 7 个语义菌落聚类、并建立了 298 条关联关系。这部分我自己查词典,是以"天"为单位的。
  • 它抓到了我抓不到的 BUG:某天所有交互突然失效,场景成了"只能看不能碰的花瓶"。TRAE 通过代码审查定位到两个很隐蔽的问题——#ui>*{pointer-events:auto} 压过了 .cat-labels{pointer-events:none},UI 层吃掉了全部鼠标事件;以及 pointerDownTime 在时间判定之前被重置,导致点击永远判失败。
  • 它陪我绕过了墙:CDN 加载失败、整页白屏 “LOAD FAILED”,最后改成全本地引用,才有了现在的"零外部依赖、任何环境都能开"。
  • 连端口冲突这种琐事:自动寻找可用端口,Python / Node 双服务器方案,一次配好。

一条我踩完坑才信的话:AI 是最好的执行者,但你是最可靠的质检员。 "代码看起来对、实际不工作"我遇到不止三次,每一次都是靠浏览器里亲手拖、亲手点才发现的。

4. 现在就玩

5. 1024 的互动:帮我点亮第 8 个菌落

现在的 7 个菌落都是按"语义"分的,没有一个是给开发者准备的。

评论区留一个你每天都在敲的英文词——commit cache query render deploy schema 都行。我会把它反查到词根,按热度把 spec / port / mit / ject / struct / tract 这一批"技术高频词根"单独拉出来,做成第 8 个菌落:一张只属于开发者的星图。

数据结构是开放的,加菌落真的只需要改 data.json——所以不是画饼,是排期。

如果这个作品让你想起自己第一次读懂一行代码的瞬间,评论区扣个 1024,让我知道不只我一个人这么想。


以菌丝之网,解构英语之源。

2 个赞

不错的作品,不错发错栏目啦,应该放在案例与作品

1 个赞

看起来,跟Obsidian的放射性图,很像了

1 个赞

效果挺不错的

1 个赞