[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-96035":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":15,"starSnapshotCount":15,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},96035,"vistep","int64ago\u002Fvistep","int64ago","Visualize Every Step with AI — bilingual visual explanations, interactive models and synchronized narration.","https:\u002F\u002Fvistep.ai",null,"TypeScript",167,8,104,0,63,49.16,"MIT License",false,"main",[22,23,24,25,26,27,28,29],"astro","bilingual","education","react","simulation","threejs","typescript","visualization","2026-09-20 04:01:32","\u003Cdiv align=\"center\">\n\n# vistep.ai\n\n**Visualize Every Step with AI**\n\nWatch how things work. Then experiment with the model.\n\n[Explore](https:\u002F\u002Fvistep.ai\u002Fen\u002F) · [Documentation](docs\u002FREADME.md) · [Contribute](CONTRIBUTING.md) · [简体中文](README.zh-CN.md)\n\n[![CI](https:\u002F\u002Fgithub.com\u002Fint64ago\u002Fvistep\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fint64ago\u002Fvistep\u002Factions\u002Fworkflows\u002Fci.yml)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-83956f)](LICENSE)\n[![Astro](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAstro-7-5a6354?logo=astro&logoColor=white)](https:\u002F\u002Fastro.build)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-strict-50758b?logo=typescript&logoColor=white)](tsconfig.json)\n[![Cloudflare Workers](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCloudflare-Workers-b88953?logo=cloudflare&logoColor=white)](docs\u002Fdeployment.md)\n[![Languages](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flanguages-English%20%2B%20中文-827393)](docs\u002Flocalization-and-seo.md)\n\n[![Animated scenes from vistep.ai](docs\u002Fmedia\u002Fvistep-showcase.gif)](https:\u002F\u002Fvistep.ai\u002Fen\u002F)\n\n[Still image](docs\u002Fmedia\u002Fvistep-showcase-poster.png)\n\n\u003C\u002Fdiv>\n\nvistep.ai explains everyday mechanisms, science and computation through short visual stories. Follow a moving part, a signal or a calculation, then change the inputs to see what happens.\n\n- **Watch, pause, explore.** Chaptered films with replay, seeking and optional experiments.\n- **Models drive the picture.** Independent calculations connect geometry, motion and readouts; articles explain assumptions and cite sources.\n- **Find your next question.** Search in either language; narrow by interest, running time and suggested starting age.\n- **English and Chinese.** Authored narration, captions and transcripts. Experiments run in your browser without an account, API key or live AI service.\n\n**Release:** the collection now contains **65 scenes**. Production publishes from `main` through [GitHub Actions](https:\u002F\u002Fgithub.com\u002Fint64ago\u002Fvistep\u002Factions\u002Fworkflows\u002Fci.yml?query=branch%3Amain). The [collection expansion record](docs\u002Fexpansion-50.md) and [scene review records](docs\u002FREADME.md#review-records) distinguish delivery from the remaining coverage of complete viewing, native listening and physical-phone testing.\n\n## Start exploring\n\n| Mechanisms                                                  | Information                                                        | Systems                                                       |\n| ----------------------------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------- |\n| [Bicycle gearing](https:\u002F\u002Fvistep.ai\u002Fen\u002Fexplore\u002Fbicycle\u002F)    | [JPEG compression](https:\u002F\u002Fvistep.ai\u002Fen\u002Fexplore\u002Fjpeg\u002F)             | [Dimensions](https:\u002F\u002Fvistep.ai\u002Fen\u002Fexplore\u002Fdimensions\u002F)        |\n| [Refrigeration](https:\u002F\u002Fvistep.ai\u002Fen\u002Fexplore\u002Frefrigerator\u002F) | [Training & generation](https:\u002F\u002Fvistep.ai\u002Fen\u002Fexplore\u002Ftransformer\u002F) | [Pendulums](https:\u002F\u002Fvistep.ai\u002Fen\u002Fexplore\u002Fpendulum\u002F)           |\n| [Laser printing](https:\u002F\u002Fvistep.ai\u002Fen\u002Fexplore\u002Fprinter\u002F)     | [Web loading](https:\u002F\u002Fvistep.ai\u002Fen\u002Fexplore\u002Fnetwork\u002F)               | [Elevator scheduling](https:\u002F\u002Fvistep.ai\u002Fen\u002Fexplore\u002Felevator\u002F) |\n\n[Complete source catalog](docs\u002Fcatalog.md)\n\n## Run locally\n\nUse [Node.js 24](.nvmrc) and pnpm 11.25.0. The configured browser baseline is Chrome 108, Edge 108, Firefox 121 and Safari 15.4; a [feature check](docs\u002Farchitecture.md#browser-support) shows a notice instead of loading experiments when required capabilities are unavailable. Narration recordings are stored in [Git LFS](https:\u002F\u002Fgit-lfs.com\u002F), so install it before cloning.\n\n```sh\ngit lfs install\ngit clone https:\u002F\u002Fgithub.com\u002Fint64ago\u002Fvistep.git\ncd vistep\ncorepack enable\npnpm install --frozen-lockfile\npnpm dev\n```\n\nOpen [localhost:4321](http:\u002F\u002F127.0.0.1:4321\u002F). Recorded audio is included; local development needs no Cloudflare credentials or speech service.\n\n| Command              | Purpose                                                                            |\n| -------------------- | ---------------------------------------------------------------------------------- |\n| `pnpm verify`        | Formatting, documentation links, types, tests, production build and artifact audit |\n| `pnpm build:preview` | Separate preview build with noindex checks                                         |\n| `pnpm preview`       | Serve the production build locally                                                 |\n| `pnpm scene:check`   | Scene, bilingual content and audio contracts                                       |\n\nAstro prerenders the articles; React experiments use TypeScript models with SVG, Canvas or Three.js. Animation and recorded narration share a chapter clock. See [architecture](docs\u002Farchitecture.md), [localization](docs\u002Flocalization-and-seo.md) and [deployment](docs\u002Fdeployment.md).\n\n## Contribute\n\nScientific corrections, new scenes, translations and accessibility improvements are welcome. Follow the [production guide](docs\u002Fcreating-a-scene.md), or give the [vistep-scene skill](.agents\u002Fskills\u002Fvistep-scene\u002FSKILL.md) a brief such as “Explain why an induction motor turns.” [Review records](docs\u002FREADME.md#review-records) separate automated checks, browser observations and listening evidence.\n\n[Contribution guide](CONTRIBUTING.md) · [Code of Conduct](CODE_OF_CONDUCT.md) · [Report a vulnerability privately](SECURITY.md)\n\nOriginal code and documentation are [MIT licensed](LICENSE). See [third-party notices](THIRD_PARTY_NOTICES.md) for fonts, dependencies and audio provenance.\n","vistep.ai 是一个面向教育与科普的交互式可视化平台，通过双语（中英）动画短片逐帧解析日常机制、科学原理与计算过程。核心功能包括可暂停\u002F拖拽\u002F重放的分章节视觉叙事、基于数学模型驱动的实时同步渲染（支持几何、运动与数据读数联动）、无需登录或API密钥的本地浏览器实验交互，以及按主题、时长和适龄性筛选的内容发现系统。技术上采用 TypeScript 构建，依托 Astro 框架实现静态站点生成，Three.js 实现 3D\u002F2D 可视化，Cloudflare Workers 支持轻量部署。适用于中小学科学教学、工程概念入门、自主科普学习及双语STEM资源开发等场景。",2,"2026-09-08 02:30:11","CREATED_QUERY"]