Skip to content
View william-xue's full-sized avatar
🎯
Focusing
🎯
Focusing

Organizations

@guwenLab @varletjs

Block or report william-xue

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
william-xue/README.md
Cheemi / william-xue

我在造画布应用里最不显眼、也最难写对的那一层:选择、拖拽、吸附。
Selection · drag · snapping — the layer everyone feels but nobody sees.



上海·长宁 blog followers


🕸 现在在造什么

selection-drag-engine · ★101
JavaScript · rAF · zero-dep

渲染器无关的框选 + 多拖引擎:rAF 合并、拖拽快照、preview/commit 分离 —— 从 X6 #4823 长出来的实现。

mini-x6-go · 源码课
JavaScript · SVG · ESM

从零长起来的小型图编辑器 / 元件设计器:纯 ES Module + 原生 SVG,零运行时依赖。

x6-plugin-port-editor · plugin
TypeScript · X6 · plugin

点元件轮廓就地加引脚,落点贴真实 SVG 轮廓(直边 / 孔洞 / 异形 / 多图形拼合)。不改 X6 核心。

vite-plugin-font-subset · ★7
Vite · WOFF2 · node

按项目实际用到的字符把字体裁成 WOFF2,构建期完成,产物直接瘦身。

🧩 还写过这些
项目 一句话
miniVue Vue 2.x 源码拆解:观察者、依赖收集、自定义回调
css-pruner 找出并删掉没人用的 CSS 选择器
rusty-pic Rust + WebAssembly 的极限图片压缩
port-checker Rust 写的查端口小工具
go-concurrency-docs Go 并发:goroutine / channel / mutex 的一整套例子

🌱 上游

我给 antvis/X6 提过 issue 和实现思路,顺手把其中一块做成了独立引擎; 也在 varletjs/varlet 交过组件相关的 patch。 相信「顺手把上游修好」比「在本地绕过去」划算。

🛠 工具箱

stack

Cheemi · GitHub profile card

写代码、写笔记、偶尔写轮子 —— william-xue.github.io/fe-fast

Pinned Loading

  1. miniVue miniVue Public

    vue2.X版本的源码分析 观察者模式 收集依赖 触发自定义回调

    JavaScript 3

  2. vite-plugin-font-subset vite-plugin-font-subset Public

    Vite plugin to subset fonts to WOFF2 based on project character usage

    JavaScript 7 1

  3. go-concurrency-docs go-concurrency-docs Public

    Go并发编程学习资料和示例代码集合,包含goroutines、channels、mutexes、patterns等完整的并发编程知识体系

    Go 1

  4. selection-drag-engine selection-drag-engine Public

    Renderer-agnostic rubberband selection and multi-drag engine: rAF coalescing, drag snapshot, preview/commit split. From X6 issue 4823.

    JavaScript 92

  5. antvis/X6 antvis/X6 Public

    🚀 JavaScript diagramming library that uses SVG and HTML for rendering.

    TypeScript 6.7k 1.9k

  6. varletjs/varlet varletjs/varlet Public

    A Vue3 component library based on Material Design 2 and 3, supporting mobile and desktop.

    Vue 5.3k 618