[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81296":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":12,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":20,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":14,"starSnapshotCount":14,"syncStatus":13,"lastSyncTime":25,"discoverSource":26},81296,"signal-playground","Z-yiwei\u002Fsignal-playground","Z-yiwei","Interactive signal & spectrum visualizer for EE\u002FCS learners.",null,"TypeScript",47,3,2,0,1,44.41,"MIT License",false,"main",true,[],"2026-06-12 04:01:32","\u003Cdiv align=\"center\">\n\n# 🌊 Signal Playground\n\n**Interactive signal & spectrum visualizer for EE \u002F CS learners and researchers.**\n**面向电子 \u002F 计算机方向研究学习者的交互式信号与频谱可视化平台。**\n\n[**🔗 Live Demo · 在线体验**](https:\u002F\u002FZ-yiwei.github.io\u002Fsignal-playground\u002F) &nbsp;·&nbsp;\n[**📖 Architecture · 架构**](ARCHITECTURE.md) &nbsp;·&nbsp;\n[**🤝 Contributing · 参与贡献**](CONTRIBUTING.md)\n\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg)](LICENSE)\n[![Built with Vite](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuilt_with-Vite-646CFF.svg?logo=vite&logoColor=white)](https:\u002F\u002Fvitejs.dev\u002F)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-5-3178C6.svg?logo=typescript&logoColor=white)](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n[![Plotly](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlot-Plotly.js-3F4F75.svg?logo=plotly&logoColor=white)](https:\u002F\u002Fplotly.com\u002Fjavascript\u002F)\n[![KaTeX](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMath-KaTeX-329F75.svg)](https:\u002F\u002Fkatex.org\u002F)\n[![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg)](CONTRIBUTING.md)\n\n\u003C\u002Fdiv>\n\n> 🌐 **English** · [中文](#-中文版)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FZ-yiwei\u002Fsignal-playground\u002Fraw\u002Fmain\u002Fassets\u002Fexample.jpg\" alt=\"Signal Playground Demo\" width=\"100%\" \u002F>\n\u003C\u002Fp>\n\n---\n\n## ✨ Why Signal Playground?\n\nMost DSP textbooks stop at static plots; most online tools either hide the math or hide the buttons. **Signal Playground** sits in the middle: every transform shows its LaTeX definition, every signal is a live function of your parameters, and every result is one click away from a shareable link.\n\n- 🧪 **Continuous & Discrete**: switch between $x(t)$ and $x[n]$; transforms are auto-filtered for compatibility.\n- ✏️ **LaTeX formula source**: type `\\sin(2\\pi \\cdot 5 t) + e^{-t}` and watch it render, sample, transform — instantly.\n- 🔁 **11 built-in transforms**: DFT\u002FFFT · DTFT · DFS · DCT-II · DST-I · CTFT · CTFS · STFT · Hilbert · Z-Transform · Laplace.\n- 📚 **Cheatsheet drawer**: definitions, properties and common pairs, all KaTeX-rendered.\n- 📐 **Live transform info**: every transform tells you its math, its input requirements, its output meaning, and its common pitfalls.\n- 🎚️ **Slider + numeric input**: coarse with a slider, fine-tune with a textbox, even values outside the slider range.\n- 🪟 **4 windows**: Rectangular · Hann · Hamming · Blackman.\n- 🎓 **10 teaching presets**: aliasing · beat frequency · square-wave spectrum · chirp spectrogram · DCT compaction · DTFT vs DFT · Hilbert envelope · Z-plane surface, …\n- 🌐 **Built-in i18n**: full English \u002F 中文 UI; toggled in the header, persisted in `localStorage`.\n- 🔗 **Shareable URL snapshots**: one click copies a link reproducing the exact configuration.\n- 💾 **Export plots as PNG, data as CSV**.\n- 🔌 **Plugin architecture**: add a new transform by writing one file (no UI changes required).\n- 🖼️ **100% in-browser**: no backend, no data leaves your machine.\n\n\u003Cbr>\n\n## 🚀 Quick Start\n\n```bash\n# 1) Install\nnpm install\n\n# 2) Run dev server (opens http:\u002F\u002Flocalhost:5173)\nnpm run dev\n\n# 3) Production build\nnpm run build\n\n# 4) Preview the production bundle locally\nnpm run preview\n```\n\n> **Tip · Online demo**: [https:\u002F\u002FZ-yiwei.github.io\u002Fsignal-playground\u002F](https:\u002F\u002FZ-yiwei.github.io\u002Fsignal-playground\u002F) — no install, just open and play.\n>\n> The repo also ships a GitHub Pages workflow ([`.github\u002Fworkflows\u002Fdeploy.yml`](.github\u002Fworkflows\u002Fdeploy.yml)). Forking the repo and enabling Pages will publish the build to `https:\u002F\u002F\u003Cyour-username>.github.io\u002Fsignal-playground\u002F` automatically.\n\n\u003Cbr>\n\n## 🧭 What's inside\n\n```\nDataSource ──▶ Window ──▶ Transform ──▶ Visualizer\n   sine        Hann        DFT           LinePlot\n```\n\nEverything is a **plugin** registered into a central `Registry`. Adding a new transform = writing one TypeScript file and exporting it. The UI auto-generates parameter controls from the schema.\n\n\u003Cbr>\n\n## 🎯 Use Cases\n\n- 🎓 **Signals & Systems \u002F DSP coursework** — stop guessing what the spectrum *should* look like; just see it.\n- 🔬 **Quick sanity checks while writing papers** — type the equation, eyeball the spectrum.\n- ✏️ **Exam revision** — flip through the cheatsheet drawer, run a preset, tweak parameters.\n\n\u003Cbr>\n\n\n\n## 📜 License\n\n[MIT](LICENSE) © 2026 Signal Playground contributors. Built with ❤ for the EE\u002FCS community.\n\n\u003Cbr>\n\n---\n\n\u003Ca id=\"-中文版\">\u003C\u002Fa>\n\n# 🌊 Signal Playground · 中文版\n\n**面向 EE \u002F CS 学习者与研究者的交互式信号 \u002F 频谱可视化平台。**\n\n> 🔗 在线体验：[https:\u002F\u002FZ-yiwei.github.io\u002Fsignal-playground\u002F](https:\u002F\u002FZ-yiwei.github.io\u002Fsignal-playground\u002F)\n\n## ✨ 项目亮点\n\n教科书的频谱图都是静态的，在线工具又往往把数学藏起来。**Signal Playground** 想做中间那一层：支持Latex输入信号一键识别，每个信号都是参数的实时函数，每个结果都能一键生成可分享的链接。\n\n- 🧪 **连续 \u002F 离散双模式**：在 $x(t)$ 与 $x[n]$ 之间一键切换，变换列表会自动按兼容性过滤。\n- ✏️ **LaTeX 公式信号源**：直接键入 `\\sin(2\\pi \\cdot 5 t) + e^{-t}`，KaTeX 实时渲染，mathjs 即时求值。\n- 🔁 **内置 11 种变换**：DFT\u002FFFT · DTFT · DFS · DCT-II · DST-I · CTFT · CTFS · STFT · 希尔伯特 · Z 变换 · 拉普拉斯。\n- 📚 **公式速查表抽屉**：定义、性质、常用变换对，全部 KaTeX 美化。\n- 📐 **变换信息卡片**：当前变换的数学定义、输入要求、输出语义、易错点一目了然。\n- 🎚️ **滑块 + 数字输入双控**：滑块粗调，文本框精调，文本框还支持超出滑块的取值。\n- 🪟 **4 种窗函数**：矩形 \u002F Hann \u002F Hamming \u002F Blackman。\n- 🎓 **10 个教学预设**：混叠演示、拍频、方波频谱、Chirp 频谱图、DCT 能量集中、DTFT vs DFT、希尔伯特包络、Z 平面曲面 …\n- 🌐 **内置中英双语 i18n**：右上角一键切换，`localStorage` 自动记忆。\n- 🔗 **URL 快照分享**：一键复制能完整复现当前配置的链接。\n- 💾 **图表导出 PNG，数据导出 CSV**。\n- 🔌 **插件式架构**：新增变换只需新建一个文件，UI 完全自动适配。\n- 🖼️ **完全运行在浏览器**：无后端，数据不离开本地。\n\n\u003Cbr>\n\n## 🚀 快速开始\n\n```bash\n# 1) 安装依赖\nnpm install\n\n# 2) 启动开发服务（自动打开 http:\u002F\u002Flocalhost:5173）\nnpm run dev\n\n# 3) 生产环境构建\nnpm run build\n\n# 4) 本地预览构建产物\nnpm run preview\n```\n\n> 仓库自带 GitHub Pages 部署工作流（[`.github\u002Fworkflows\u002Fdeploy.yml`](.github\u002Fworkflows\u002Fdeploy.yml)）。Fork 后开启 Pages 即可自动发布到 `https:\u002F\u002F\u003C你的用户名>.github.io\u002Fsignal-playground\u002F`。\n\n\u003Cbr>\n\n\n## 🎯 适用场景\n\n- 🎓 **信号类课程课程**：不再凭空猜频谱，支持latex公式输入后直接查看频谱。\n- 🔬 **写论文时的快速验证**：把公式键进去，瞄一眼频谱就行。\n- ✏️ **复习备考**：打开速查表抽屉，加载预设，调参对比。\n\n\u003Cbr>\n\n\n\n## 📜 开源协议\n\n[MIT](LICENSE) © 2026 Signal Playground 贡献者。为 EE\u002FCS 社区用 ❤ 打造。\n\n\u003Cbr>\n\n\n","Signal Playground 是一个面向电子工程和计算机科学学习者及研究者的交互式信号与频谱可视化平台。它支持连续和离散信号的转换，内置11种常用变换（如DFT、DTFT、CTFT等），并提供LaTeX公式输入以即时渲染数学表达式。用户可以通过滑块或文本框调整参数，并实时查看变化结果。此外，该项目还提供了教学预设、多语言界面以及可分享的URL快照等功能，方便用户保存和分享配置。非常适合用于教学演示、自学研究或是任何需要直观展示信号处理概念的场景。","2026-06-11 04:04:32","CREATED_QUERY"]