[Physics]: Lab Notebook & telemetry workflow gaps in quantum-tunneling, rc-rl-circuits, and maxwell-boltzmann
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- react, typescript
- 领域
- frontend, testing-qa
调研方向
Start with the referenced entry points: src/simulations/sandboxGuides.ts, src/ui/components/LiveTelemetryCard.tsx, src/simulations/physics/rc-rl-circuits/TransientRenderer2D.ts, and the virtual instrument components. Reproduce the described notebook recording, sparkline scaling, RL trace and labels, and guide or overlay issues in the browser. The issue is done when the listed workflows and displays behave consistently with their stated values and instructions.
由索引模型根据 Issue 内容生成。
描述
Found during the independent browser and learner-workflow review in #49 (Items 4 & 6).
1. quantum-tunneling lab protocol Step 3 cannot be completed in the in-app Lab Notebook
The quantum-tunneling lab protocol (src/simulations/sandboxGuides.ts lines 148–150) instructs the learner:
- Set particle energy $E = 3$ below barrier height $V_0 = 9$, and wavepacket width $\sigma = 1.2$.
- Sweep barrier width $d$ from $0.5$ to $1.5$. Each change restarts the run: record $T$ when the card says settled.
- Fit $\ln T$ against $d$: the slope comes out near $-6.1$...
When attempting this in the browser using the Record button and Lab Notebook:
TelemetryRecorder.lastRecordedSimTimeblocks recording afterdchanges: ChangingbarrierWidth($d$) callsQuantumEngine.reset(), which resetsthis.time = 0inside the engine without resettingTelemetryRecorder.lastRecordedSimTime. InTelemetryRecorder.sample(),if (point.t - this.lastRecordedSimTime >= this.sampleInterval)then sees a negativepoint.t - lastRecordedSimTimeon the next width untilthis.timeexceeds the maximumtreached on the previous width. If the learner recorded at $d = 0.5$ up to $t = 4.6\text{ s}$ and then tries to record at $d = 0.7$ during its settled window ($t = 4.265\text{–}4.55\text{ s}$), zero samples are recorded. Conversely, clicking the transport Reset button callsrecorder.reset(), which erases all previously recorded widths.- Continuous 50 Hz recording buffers un-settled in-flight points: Turning
Recordon during a run bufferstransmission_Tevery $20\text{ ms}$, including pre-settled samples ($T \approx 0$), andsettledis not included inQuantumEngine.getTelemetrySnapshot(). There is no button to log a single settled $(d, T)$ data point per width into the Lab Notebook.
2. quantum-tunneling Live Telemetry Card sparkline is $100\times$ too small (0.06 % vs 6.2%)
- In
src/ui/components/LiveTelemetryCard.tsx:- Line 258 computes
const tPercent = Math.min(100, Math.max(0, (state.transmission ?? 0) * 100));and displays6.2%in theTransmission Tbox. - Line 52 pushes raw
state.transmission(0.0625, a fraction in $[0, 1]$) intohistory, and lines 297–302 passdata={history}withunit="%"toTelemetrySparkline. - As a result, at the default settled state ($t = 3.32\text{ s}$), the card simultaneously displays
Transmission T: 6.2%andTransmission T(t): 0.06 %right below it.
- Line 258 computes
3. rc-rl-circuits oscilloscope trace overflow, hardcoded schematic labels, and multi-cycle fit trap
- Oscilloscope trace draws outside the screen and off the canvas in RL mode: In
src/simulations/physics/rc-rl-circuits/TransientRenderer2D.tsline 321,mapY(v)maps $0\text{ V}$ toscrT + 0.85 * scrHand $+15\text{ V}$ toscrT + 0.15 * scrHwithoutctx.clip(). During the discharging half-cycle in RL mode ($V_{\text{in}} = 0\text{ V}$), the inductor back-EMF is $V_L = -I R = -12\text{ V}$, which maps toscrT + 1.41 * scrH— drawing the cyan trace straight through the bottom of the oscilloscope bezel, through the bottom text banner, and off the bottom of the canvas. - Hardcoded & clipped schematic/scope labels:
TransientRenderer2D.tslines 156, 179, 196 hardcode'R (100Ω)','C (100μF)', and'L (100mH)'regardless of the slider settings (and clip'C (100μF)'/'L (100mH)'at the right border of the schematic box, plus'CH2: V_out(t) [Relaxation]'at the right border of the oscilloscope bezel). Line 353 also hardcodesconst v63 = 12.0 * 0.632; // 7.58 V(63.2% (1-1/e) = 7.6V), even when $V_0 \ne 12\text{ V}$ or in RL mode where $V_L(t)$ decays through $V_0 / e \approx 36.8%$ ($4.4\text{ V}$). - Sample-rate claim & multi-cycle recording in RL mode:
sandboxGuides.tsline 417 says "The clock samples every 5 ms, so choose a τ of 10 ms or more: for RL use L = 500 mH and R = 10 Ω (τ = 50 ms)", whereasTelemetryRecordersamples at $50\text{ Hz}$ (every $20\text{–}25\text{ ms}$, giving 10 samples in $200\text{ ms}$). If the learner records within the first charging half-cycle ($t \le 0.20\text{ s} < 0.25\text{ s}$ at default $f = 2\text{ Hz}$), Exponential Regression onv_componentvstrecoversy = 12.0000 · e^(-20.0000x)($R^2 = 1.0000$, $\tau = 1/20 = 50\text{ ms}$). However, if recording continues past $t = 0.50\text{ s}$ into the second square-wave cycle, fittingv_componentagainst cumulativetfits across multiple periodic pulses and yieldsy = 1.8787 · e^(-1.5133x)($R^2 = 0.0712$).
4. Minor guide & overlay issues
maxwell-boltzmannLab Protocol Step 2 (sandboxGuides.tsline 126): Instructs the learner to "compare P · A with N k_B T in the Lab Notebook", whereas the Lab Notebook plots single telemetry channels (empirical_pressure$P$ vsideal_pressure$N k_B T / A$, not the products $P \cdot A$ and $N k_B T$).docs/USER_GUIDE.mdline 174: States "Monitor the live norm readout confirming $\int |\psi|^2 dx \equiv 1.000000$ to 12 decimal places", whereas the readout shows 6 decimal places (1.000000) and Dirichlet boundary reflections change the discrete norm at $\sim 10^{-8}$.VirtualCaliperandVirtualPhotogate(src/ui/components/VirtualCaliper.tsx,VirtualPhotogate.tsx): When both are opened,VirtualPhotogate(fixed top-24 left-6, non-draggable) overlapsVirtualCaliper(left: 200px, top: 150px) and covers the top sliders of the left parameter dock;VirtualCaliperalso uses a hardcoded scale of35 px/m(Measured Distance: 4.00 mat140px) across all 2D and 3D sandboxes regardless of camera zoom or sandbox units (mm,AU,reduced).
- 主要语言
- TypeScript
- 星标
- 0
- 派生
- 0
- 平均合并
- 1 小时 28 分钟
- 30 天内合并 PR
- 47
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
danielw-sudo/agentuto 的其他 Issue
-
难度 1/5 1-3 小时 新手友好度 88/100
danielw-sudo/agentuto#63 ·
维护者通常 1 天内回复
-
physics-review
难度 4/5 3-5 天 新手友好度 48/100
danielw-sudo/agentuto#50 · 1 条评论 ·
维护者通常 1 天内回复
-
community help wanted proposal
难度 4/5 3-5 天 新手友好度 22/100
danielw-sudo/agentuto#35 ·
维护者通常 1 天内回复
-
faculty good first issue help wanted
难度 3/5 半天 新手友好度 55/100
danielw-sudo/agentuto#33 ·
维护者通常 1 天内回复
查看 danielw-sudo/agentuto 的全部 Issue
相似的 Issue
-
clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster P2
难度 2/5 1-3 小时 新手友好度 68/100
openclaw/openclaw#195577 · 1 条评论 · 1 个 reaction ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 62/100
EKKOLearnAI/ekko-studio#3729 ·
维护者通常 1 天内回复
-
难度 1/5 1-3 小时 新手友好度 78/100
Supportseal/SupportSeal-app#98 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
eliasstravik/herdr-projects#845 ·
-
难度 1/5 1 小时以内 新手友好度 88/100
cloudflare/skills#279 ·
维护者通常 1 天内回复