尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Next-Gen Connectome Data Analysis
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Connectome data analysis: a browser-based node editor for querying and analyzing connectomic data.
[!TIP] Beta. The core functionality is there, including support for (almost) all major connectome datasets. We're still adding features, improving the UI and fixing bugs, but from here on we aim to keep saved workflows opening in later builds. Bug reports and feature requests are very welcome!
Highlights
Just go to https://coda.science/.
New to Coda? Watch the two-minute video Your first Coda workflow, which carries on into the rest of the tutorial playlist.
Other useful links:
Check out ? ▶ Guides for in-app tutorials, and the Coda Zoo for workflows shared by other users.
Connections icon in the top toolbarNew to create a new graph: from scratch, with the Workflow Wizard, from the Coda Zoo or from a preconfigured datasetTab to search for nodesSpace for the command palette⇧R to run all stale nodesI to show/hide the inspectorCodex and neuPrint are great for initial exploration of the datasets but if you want to do more than just look at a few neurons, you quickly hit a wall and have to start writing code. CATMAID (the oldest of these tools) actually has a lot of analysis tools, but hasn't made the transition to modern (segmentation + meshes) connectomics.
Coda is designed to fill the gap between exploration-only and full-on coding. Also: because we don't play favourites, you can combine data from multiple sources in one workflow! And if you do want to write code, Coda can help you get started by generating Python or R code from your workflow.
The neat acronym aside, a coda symbol in musical notation is a marker used for navigating through a complex piece - similar to what Coda does for connectomics data. Furthermore, the plural of coda (Italian for "tail") is code which is strangely fitting.
pnpm install
pnpm dev # http://localhost:5173
pnpm test # vitest
pnpm typecheck
pnpm lint
pnpm build # static bundle in dist/
Requires Node ≥ 20 and pnpm. On a fresh machine: brew install node && npm i -g pnpm.
(Node 25+ no longer bundles corepack, so install pnpm directly.)
src/
├─ core/ graph engine — headless, no React (lint-enforced)
│ ├─ types.ts socket type system + column schemas
│ ├─ node.ts the NodeDefinition contract
│ ├─ graph.ts document model, topo sort, serialisation
│ ├─ inference.ts edit-time type/schema propagation + link validation
│ └─ scheduler.ts DAG executor, provenance-keyed cache, hybrid eval
├─ data/ DataSource interface, one folder per backend, the mock connectome
├─ nodes/ built-in nodes (query / table / analysis / output …)
├─ packs/ node packs (Connectome, Cortex, ZapBench, …), switched on under Plugins
├─ help/ the in-app help documents (a pack keeps its own under packs/<id>/help)
├─ export/ Python notebook and R Markdown export
├─ store/ zustand document state, undo, persistence
├─ ui/ React Flow editor, param widgets, viewers
│ └─ panels/ command palette (+ fuzzy matcher), inspector, toolbar
└─ wizard/ the Workflow Wizard: graphs built from four answers, the starters, the demos
src/core and src/data must stay headless: a lint rule blocks imports of React,
zustand, the store and the UI from those directories. The point is that the engine stays
unit-testable without a DOM, and reusable later by a non-React consumer (a CLI runner, or a Python-side executor consuming the same graph JSON).
pnpm dev and pnpm preview proxy /np/<deployment>/… (https to public hosts only), and a static build has nothing serving that path.The published site counts page views with GoatCounter, and the dashboard is public — that link is the whole of what is collected, viewable by anybody.
No cookies, no localStorage, no tracker id, and no stored IP or full User-Agent: the beacon
reports a page name, a referrer, and the coarse browser/OS/country/screen-width facts
GoatCounter aggregates. There is deliberately no event tracking — nothing observes what you
build on the canvas. To opt out entirely, run localStorage.setItem('skipgc', 't') in the
console on any Coda page.
The tag is injected at build time and only when CODA_ANALYTICS is set, which happens in this
repository's deploy workflow and nowhere else — so a fork you build and host reports nothing to
anybody. See docs/analytics.md.
MIT