factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
오픈소스, 프라이버시 우선 3D 씬 분석. 뷰 방향·클릭 히트맵·메시 상호작용·성능·세션 재생 제공, 자체 호스팅·다중 엔진 지원
Open-source, privacy-first analytics for 3D scenes. View-direction & click heatmaps, mesh interactions, performance, and session replay — self-hosted, multi-engine.
데이터TypeScript · MDXGitHub @RaananW온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Open-source, privacy-first analytics for 3D scenes — view-direction & click heatmaps, mesh interactions, performance, and session replay. Self-hosted, multi-engine.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
3D scene analytics — like web analytics, but for 3D applications.
Uptimizr captures and visualizes how people actually use 3D scenes: where they
look (view-direction heatmaps), where they point and click (2D + 3D raycast
heatmaps), which meshes they interact with, how the scene performs (FPS, device/GPU,
asset load times), and any custom events a developer wants to track. It can also
replay an individual session inside the developer's own scene.
Web analytics is built for 2D HTML pages and custom events; it has no concept of a
camera, a view vector, or a mesh. Uptimizr fills that gap.README 전문 보기 ↗3D scene analytics — like web analytics, but for 3D applications.
Documentation · Quickstart · Run the collector
Uptimizr captures and visualizes how people actually use 3D scenes: where they look (view-direction heatmaps), where they point and click (2D + 3D raycast heatmaps), which meshes they interact with, how the scene performs (FPS, device/GPU, asset load times), and any custom events a developer wants to track. It can also replay an individual session inside the developer's own scene.
Web analytics is built for 2D HTML pages and custom events; it has no concept of a camera, a view vector, or a mesh. Uptimizr fills that gap.
Uptimizr is an open-source data-collector — a self-hostable SDK + ingestion + dashboard, licensed Apache-2.0. Run it on a single embedded DuckDB file with no external database service, or switch to a Postgres, SQL Server or ClickHouse store when you need multi-writer scale.
Try it with zero setup at demo.uptimizr.com — a fully
in-browser test drive: the playground and dashboard run side-by-side, and the analytics database
runs on your device via DuckDB-Wasm. No account, no server, nothing uploaded; closing the tab
wipes everything. From source, run it with pnpm dev:web (demo on http://localhost:4320). See
oss/apps/demo.
COLLECTOR_STORE=postgres) for
self-hosters who already run Postgres, a single-tenant SQL Server store
(COLLECTOR_STORE=mssql) for shops standardized on SQL Server / Azure SQL, or the ClickHouse scale tier
(COLLECTOR_STORE=clickhouse) for high-volume ingestion
(ADR 0002)oss/ Open-source product (Apache-2.0)
apps/ collector-server (Fastify), dashboard (Next.js), demo (in-browser test drive),
docs (documentation site), web (landing site)
packages/ schema, sdk-core, replay, react (embeddable panels), heatmap,
create-uptimizr (scaffolder);
the agent layer: metrics (semantic metric registry), agent-core (generated read-tool
catalog + agent loop), mcp (read-only MCP server), agent-eval (private evaluation
harness, not published);
the stores: db (DuckDB + dialect-agnostic contracts), db-postgres, db-mssql and
db-clickhouse (optional);
and the connectors: sdk-babylon, sdk-babylon-lite, sdk-three, sdk-r3f, sdk-playcanvas,
sdk-aframe, plus the web-export tier (web-export foundation + unity, godot, unreal)
examples/ playground — multi-engine demo scene for end-to-end testing
infra/ docker-compose for the optional ClickHouse, Postgres and SQL Server engines
docs/ architecture, phase plans, and ADRs
There are two ways in, depending on whether you're using Uptimizr in your own app or working on the project itself.
You don't need this repo to use Uptimizr. Install a connector from npm and run the collector straight from npm:
npm i @uptimizr/babylon # or @uptimizr/three, @uptimizr/r3f, @uptimizr/playcanvas, @uptimizr/aframe, @uptimizr/unity, @uptimizr/godot, …
npm create uptimizr@latest # scaffold a self-host (prompts to add the dashboard + a demo)
# …or run the collector CLI directly:
npx -p @uptimizr/collector-server uptimizr init # create the DuckDB store + a project + owner API key
npx -p @uptimizr/collector-server uptimizr serve # ingestion + query API on http://localhost:4318
See the Quickstart and Run the collector for the full guide.
The commands above are all you need to use Uptimizr. The rest of this section is for contributing to the project itself — clone the repo and run it from source. The open-source collector stores everything in a single DuckDB file, so running from source needs no external database service:
pnpm install
pnpm build # turbo build across all packages
pnpm lint && pnpm typecheck && pnpm test
cp .env.example .env # DUCKDB_PATH defaults to ./data/uptimizr.duckdb
pnpm db:setup # create the DuckDB file + seed a project & API key
pnpm dev:collector # Fastify ingestion + query API (COLLECTOR_STORE=duckdb)
pnpm dev:dashboard # optional: the analytics dashboard
.duckdb file. Reset = delete it and re-run pnpm db:setup.COLLECTOR_STORE=postgres /
COLLECTOR_STORE=mssql / COLLECTOR_STORE=clickhouse, local servers via infra/docker)
(ADR 0020).To run the full stack locally and verify it end-to-end (collector, dashboard, Babylon
playground, replay), follow the manual testing guide and the
run-local-stack skill. See CONTRIBUTING.md for conventions and house rules.
AGENTS.md)The open-source product (oss/, examples/, infra/, docs/) is licensed under
Apache-2.0.