abse/smartwatch-flex-top-only

Three-panel flex smartwatch with two parallel R3.9 bends, all components flat-top, low-profile JST connector harnesses, split heartbeat optical windows and screw-retained PCB mounting. Modeled 39 × 50.5 × 14.5mm prototype; 100% routing, zero native DRC and shorts. Hardware qualification pending.

Version
0.2.20
License
unset
Stars
0

scripts/verify-warning-meshes.py

"""Compare fresh native folded solids against the published assembly geometry."""
from pathlib import Path
from collections import Counter
import hashlib,json,re
import numpy as np,trimesh
root=Path(__file__).resolve().parent.parent
paths=['baseline-v0216/upright-pcb.glb','mechanical/upright-pcb.glb']
def records(path):
 scene=trimesh.load(root/path,force='scene'); rows=Counter()
 for node in scene.graph.nodes_geometry:
  name=re.sub(r'_[0-9a-f]{6}$','',node)
  for a,b in [('R60','L4'),('L6','LRX')]:
   if name==a or name.startswith(a+'_'):name=b+name[len(a):]
  transform,key=scene.graph[node];mesh=scene.geometry[key]
  vertices=trimesh.transform_points(mesh.vertices,transform)
  triangles=np.round(vertices[mesh.faces],5)
  # Canonicalize triangle vertex order and triangle order, allowing exporter IDs to vary.
  hashes=sorted(tuple(sorted(tuple(float(c) for c in v) for v in t)) for t in triangles)
  digest=hashlib.sha256(repr(hashes).encode()).hexdigest()
  rows[(name,digest)]+=1
 return rows
old,new=map(records,paths)
missing=list((old-new).elements());added=list((new-old).elements())
r={'status':'PASS' if not missing and not added else 'FAIL','method':'Fresh native folded GLB versus published mesh; triangles in world coordinates rounded to 0.00001 mm; normalize only exporter random suffixes and two corrected reference names. Textures excluded; actual solid geometry checked.','nativeMeshesCompared':sum(old.values()),'missingMeshes':missing,'changedOrAddedMeshes':added,'assets':[{'path':p,'sha256':hashlib.sha256((root/p).read_bytes()).hexdigest()} for p in paths]}
(root/'reports/warning-cleanup/mesh-invariants.json').write_text(json.dumps(r,indent=2)+'\n');print(json.dumps(r,indent=2));assert r['status']=='PASS'
,'',node)\n for a,b in [('R60','L4'),('L6','LRX')]:\n if name==a or name.startswith(a+'_'):name=b+name[len(a):]\n transform,key=scene.graph[node];mesh=scene.geometry[key]\n vertices=trimesh.transform_points(mesh.vertices,transform)\n triangles=np.round(vertices[mesh.faces],5)\n # Canonicalize triangle vertex order and triangle order, allowing exporter IDs to vary.\n hashes=sorted(tuple(sorted(tuple(float(c) for c in v) for v in t)) for t in triangles)\n digest=hashlib.sha256(repr(hashes).encode()).hexdigest()\n rows[(name,digest)]+=1\n return rows\nold,new=map(records,paths)\nmissing=list((old-new).elements());added=list((new-old).elements())\nr={'status':'PASS' if not missing and not added else 'FAIL','method':'Fresh native folded GLB versus published mesh; triangles in world coordinates rounded to 0.00001 mm; normalize only exporter random suffixes and two corrected reference names. Textures excluded; actual solid geometry checked.','nativeMeshesCompared':sum(old.values()),'missingMeshes':missing,'changedOrAddedMeshes':added,'assets':[{'path':p,'sha256':hashlib.sha256((root/p).read_bytes()).hexdigest()} for p in paths]}\n(root/'reports/warning-cleanup/mesh-invariants.json').write_text(json.dumps(r,indent=2)+'\\n');print(json.dumps(r,indent=2));assert r['status']=='PASS'\n","content_mimetype":"application/octet-stream","created_at":"2026-10-15T16:25:11.125Z"}; window.SSR_PACKAGE_RELEASES = [{"package_release_id":"37a8520e-ecd6-4d11-a45d-a154f3e20521","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.20","github_commit_sha":null,"is_locked":false,"is_latest":true,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-15T16:24:56.709Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-6bbeb88fd9328a048dce4c7485218a58","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=37a8520e-ecd6-4d11-a45d-a154f3e20521\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=37a8520e-ecd6-4d11-a45d-a154f3e20521\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"edd80d9b-d04e-40a7-8316-dc44910ca87f","user_code_job_started_at":"2026-10-15T16:25:14.003Z","user_code_job_completed_at":"2026-10-15T16:54:30.513Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=3cfd86cd00a26f476646b84530fe611229aab8dcd7d46812a0e98b38654a04ba","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"7e91f6cc-c9f6-4039-82f2-60435feb6706","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.19","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-15T16:10:18.953Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-dd8aaa561eadc1a38b03986091841c62","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":null,"sch_preview_image_url":null,"cad_preview_image_url":null,"package_release_website_url":null,"display_status":"pending","latest_package_build_id":"5924a46c-a739-41fd-893c-577bfc4ab91d","user_code_job_started_at":"2026-10-15T16:11:19.712Z","user_code_job_completed_at":null,"user_code_job_error":{"message":"Failed to add files to user code job: The socket connection was closed unexpectedly. For more information, pass `verbose: true` in the second argument to fetch()","error_code":"failed_to_add_files_to_user_code_job"},"user_code_job_completed_logs":null,"user_code_job_log_stream_url":null,"ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"ddd55bf5-d271-4e94-8584-4dbba629fefb","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.18","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-15T15:46:56.877Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-df99a8e4324ec40b1fe38530ef66e7c0","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":null,"sch_preview_image_url":null,"cad_preview_image_url":null,"package_release_website_url":null,"display_status":"pending","latest_package_build_id":"1befc5d7-f83d-441c-8745-d36565f34a17","user_code_job_started_at":"2026-10-15T16:06:10.997Z","user_code_job_completed_at":null,"user_code_job_error":{"message":"Failed to add files to user code job: Request timed out: POST https://usercode.tscircuit.com/user_code_jobs/add_file?user_code_job_id=b3587e921364c1294dbeeb40ffe71a2719711e8fb851dc4fd0f0187048130a4b","error_code":"failed_to_add_files_to_user_code_job"},"user_code_job_completed_logs":null,"user_code_job_log_stream_url":null,"ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"a9cd1bbd-b541-4d80-b308-a4b44e47e6a5","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.17","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-15T13:05:00.936Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-7861e522086ad588ad4221afce694dc5","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=a9cd1bbd-b541-4d80-b308-a4b44e47e6a5\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=a9cd1bbd-b541-4d80-b308-a4b44e47e6a5\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"b1b6ac68-8a34-470f-839e-633db09d0ac4","user_code_job_started_at":"2026-10-15T13:07:43.475Z","user_code_job_completed_at":"2026-10-15T13:19:59.700Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=7091be0f48000122d57ef269c3e71b3eacf56f0a8e6345e7d80871775dc89361","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"0b8e5413-531e-48b9-ba86-89d761b41960","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.16","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-13T22:05:21.855Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-a9bf60c0636c6aca6aed7fb04b6e3c61","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=0b8e5413-531e-48b9-ba86-89d761b41960\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=0b8e5413-531e-48b9-ba86-89d761b41960\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"b5ddcfe5-4f03-4320-8b55-9084e8da5b87","user_code_job_started_at":"2026-10-13T22:06:01.302Z","user_code_job_completed_at":"2026-10-13T22:23:46.624Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=067cd3a2cfe238e24f60e9c1155ff2353903b931f9099a83a83eae89a551ef6a","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"b2214ff2-ff4d-4014-a0cf-54239bb32fda","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.15","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-12T21:49:19.385Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-0589f2e3fcc56298923bafd15fda3387","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=b2214ff2-ff4d-4014-a0cf-54239bb32fda\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=b2214ff2-ff4d-4014-a0cf-54239bb32fda\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"9e33d312-28bd-4bec-b25a-6880090448b9","user_code_job_started_at":"2026-10-12T21:49:57.198Z","user_code_job_completed_at":"2026-10-12T22:00:48.699Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=6aa640ba094148586812a127cd38b35d6ee46f8f164b2d36b89b18582c6f7f08","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"9333cc54-262c-4fdf-a051-5479d4b83afc","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.14","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-12T19:16:35.583Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-2d770855182c407e59b1854c8cec801c","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=9333cc54-262c-4fdf-a051-5479d4b83afc\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=9333cc54-262c-4fdf-a051-5479d4b83afc\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"0d6a9a77-23c1-4513-98a6-fb3e8660ffd3","user_code_job_started_at":"2026-10-12T19:41:55.180Z","user_code_job_completed_at":"2026-10-12T19:54:18.584Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=47eb206ff1735e5352dbb5a9d2108cf3f92c3b46b6dcbcbfab1ed703dc3d668b","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"bdf9e9a4-4909-4f49-91b0-bcbd89daf612","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.13","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-12T17:18:43.439Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-bf3514abb53f629e4a171d5549e0f046","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=bdf9e9a4-4909-4f49-91b0-bcbd89daf612\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=bdf9e9a4-4909-4f49-91b0-bcbd89daf612\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"34c14269-f806-46eb-a5c7-122456148bac","user_code_job_started_at":"2026-10-12T18:04:53.019Z","user_code_job_completed_at":"2026-10-12T18:16:46.654Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=5a41f5fe9ced84a0a604fd4e28cd7a9d4e9c89322b4b12220897896b39b7653b","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"aab59152-bfd0-4c93-aa43-7a0f986c21dd","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.12","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-12T16:12:03.974Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-50b922e67d918f837db8dcd33b61d673","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=aab59152-bfd0-4c93-aa43-7a0f986c21dd\u0026file_path=dist%2Fpcb%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=aab59152-bfd0-4c93-aa43-7a0f986c21dd\u0026file_path=dist%2Fpcb%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"3352c68e-e600-4c2e-a259-cad9ffb85f98","user_code_job_started_at":"2026-10-12T16:14:46.251Z","user_code_job_completed_at":"2026-10-12T16:35:20.667Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=2bdbcef8a7324bff72d96b7aaeb97c17d66e2c4a077547d6e120a4b78090f516","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"efa9c4d9-ae51-4d8b-b649-db86ada840c8","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.11","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-12T15:59:50.049Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-d9fc35b0bd15e4d5e6d73c05fb7927b6","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=efa9c4d9-ae51-4d8b-b649-db86ada840c8\u0026file_path=dist%2Findex%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=efa9c4d9-ae51-4d8b-b649-db86ada840c8\u0026file_path=dist%2Findex%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"bd5b8131-9b3d-4373-8e54-273cd3ec4109","user_code_job_started_at":"2026-10-12T16:05:10.343Z","user_code_job_completed_at":"2026-10-12T16:20:18.449Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=9bd14ffa60152f11a064287f1fa1682bf577739a2da2d4705add77f23f1db0d0","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"3539c83a-25b1-4a35-9ad0-c277e3a6fd0c","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.10","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-12T15:22:03.772Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-df542d89142783c5f36b90c9ad79cd43","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=3539c83a-25b1-4a35-9ad0-c277e3a6fd0c\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=3539c83a-25b1-4a35-9ad0-c277e3a6fd0c\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"f904b158-0fd2-4e85-854f-a5013a486ca8","user_code_job_started_at":"2026-10-12T15:22:28.257Z","user_code_job_completed_at":"2026-10-12T15:38:15.791Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=7e77fb08aeb13a41d294cd866c82a37ae0a28af8465f1cdb8189df6f6532afcd","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"912ded41-2b25-48d7-b228-cdab032a317d","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.9","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-12T13:09:40.498Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-eb780eb1886cb48d7145807f3ba9a635","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=912ded41-2b25-48d7-b228-cdab032a317d\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=912ded41-2b25-48d7-b228-cdab032a317d\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"54f39a89-aab6-4e91-ab5e-0a38aa87e73e","user_code_job_started_at":"2026-10-12T14:15:57.694Z","user_code_job_completed_at":"2026-10-12T14:26:52.089Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=c9db5fc17289c3ad158b8e716f2bf6665aa635f697f1129ca8f4cd849251b27c","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"ea74f114-b6cf-44fd-a43e-311171189f1c","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.8","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-12T12:37:57.576Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-8d2d25d7bdc1071b337068a4f60b2caa","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":null,"sch_preview_image_url":null,"cad_preview_image_url":null,"package_release_website_url":null,"display_status":"pending","latest_package_build_id":"2607362f-3d85-422c-abad-d9c2fa2b6f47","user_code_job_started_at":"2026-10-12T13:15:37.055Z","user_code_job_completed_at":"2026-10-12T13:45:45.924Z","user_code_job_error":{"message":"Build timed out after 30 minutes","error_code":"user_code_job_timeout"},"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=fadf1e3c0bbb1c1be3c10c928b65c99479806c438ae693c4b0b047920ae5424b","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"2fe40f39-d2f5-4ffd-9720-aae54330804c","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.7","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-12T03:44:05.708Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-a31148a46424606e71314289ca440a8b","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=2fe40f39-d2f5-4ffd-9720-aae54330804c\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=2fe40f39-d2f5-4ffd-9720-aae54330804c\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"bbfd484e-a1dd-4767-af3e-f7e78eb05a01","user_code_job_started_at":"2026-10-12T03:45:05.316Z","user_code_job_completed_at":"2026-10-12T03:54:35.031Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=2ca4484c0f9b3ae814b595291a5d564b7bc5ff9ba2f98f3f31b759a45001e69c","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"80789a1f-c787-4145-8f8e-e2963c24c64c","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.6","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-12T03:12:42.303Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-4000b40d71df0de251ff644047e8e770","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=80789a1f-c787-4145-8f8e-e2963c24c64c\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":null,"cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=80789a1f-c787-4145-8f8e-e2963c24c64c\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"688b9978-b571-4998-981e-e788c0dafb30","user_code_job_started_at":"2026-10-12T03:13:16.695Z","user_code_job_completed_at":"2026-10-12T03:24:34.149Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=f497d75c7f45a86f970e966cb1c4a6f26e31ae19debbf8d311e42d0a8c6a1bae","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"1e572550-6c11-407a-906e-a94c915001ec","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.5","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-11T23:51:00.961Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-048d5f4cd3ef71071245bf1fc361d77a","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=1e572550-6c11-407a-906e-a94c915001ec\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=1e572550-6c11-407a-906e-a94c915001ec\u0026file_path=dist%2Fwatch%2Fschematic.svg","cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=1e572550-6c11-407a-906e-a94c915001ec\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"5023dc8e-bfea-470b-9226-4130fc563149","user_code_job_started_at":"2026-10-11T23:58:50.762Z","user_code_job_completed_at":"2026-10-12T00:07:45.580Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=74deac198a79355052f4d0542b75b160d8cbe2d3572cd38005472454415a8c29","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"027b7b25-145d-4b30-97b3-87c5aacbafa0","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.4","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-11T23:38:46.989Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-d6ae0dc50d1b2a0737f982b0941fc48c","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=027b7b25-145d-4b30-97b3-87c5aacbafa0\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=027b7b25-145d-4b30-97b3-87c5aacbafa0\u0026file_path=dist%2Fwatch%2Fschematic.svg","cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=027b7b25-145d-4b30-97b3-87c5aacbafa0\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"7356ae1a-dacf-4dc9-9708-b7852b8137d3","user_code_job_started_at":"2026-10-11T23:39:05.724Z","user_code_job_completed_at":"2026-10-11T23:47:15.838Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=2313c38e1cde120e556f9e5e1290848606a85cabd63d09cef1756c7ee10892d8","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"154befb7-63d5-46cc-baa5-45c002da4348","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.3","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-11T23:13:34.664Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-920026eb2e9c8d7deb8cae28544d2359","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=154befb7-63d5-46cc-baa5-45c002da4348\u0026file_path=dist%2Fwatch%2Fpcb.svg","sch_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=154befb7-63d5-46cc-baa5-45c002da4348\u0026file_path=dist%2Fwatch%2Fschematic.svg","cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=154befb7-63d5-46cc-baa5-45c002da4348\u0026file_path=dist%2Fwatch%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"4328ecad-a402-4d1f-b9b0-e860839afa57","user_code_job_started_at":"2026-10-11T23:14:26.163Z","user_code_job_completed_at":"2026-10-11T23:29:41.677Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=4737af6e5ab7605bb1deb1a231fabce1f4c63b6fd903a3559fa88b36ebb1fce9","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"4aa28009-39f4-4cb6-a37f-791a6048171f","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.2","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-11T22:40:11.930Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-9b812a58c7200bf4855458976a67470f","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=4aa28009-39f4-4cb6-a37f-791a6048171f\u0026file_path=dist%2Fenclosure-fit%2Fpcb.svg","sch_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=4aa28009-39f4-4cb6-a37f-791a6048171f\u0026file_path=dist%2Fenclosure-fit%2Fschematic.svg","cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=4aa28009-39f4-4cb6-a37f-791a6048171f\u0026file_path=dist%2Fenclosure-fit%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"b3c627a4-6703-452f-8abc-714bebf3f7fe","user_code_job_started_at":"2026-10-11T22:40:37.173Z","user_code_job_completed_at":"2026-10-11T22:54:39.442Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=db563d480633dadff26e967065da7e3a2f88d04395da4ac9b65550c1be63b713","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"8cf46e8e-2d53-4865-8bb1-a0a82e08641a","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.1","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-11T17:00:54.794Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-a87d7b53ccd339e83178da45da951353","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=8cf46e8e-2d53-4865-8bb1-a0a82e08641a\u0026file_path=dist%2Findex%2Fpcb.svg","sch_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=8cf46e8e-2d53-4865-8bb1-a0a82e08641a\u0026file_path=dist%2Findex%2Fschematic.svg","cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=8cf46e8e-2d53-4865-8bb1-a0a82e08641a\u0026file_path=dist%2Findex%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"cc626c59-ec03-4d24-8e86-8dd27d1bbf1b","user_code_job_started_at":"2026-10-11T17:28:01.576Z","user_code_job_completed_at":"2026-10-11T17:58:23.875Z","user_code_job_error":{"message":"Build timed out after 30 minutes","error_code":"user_code_job_timeout"},"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=bbd0f3b95337bc4d5071023128a8edfeb43213ea19e756cda61579b384dee111","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"6fd7d335-6bec-447c-ad22-c260769b891c","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.2.0","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-11T15:58:17.494Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-4c582971c23e4b0560859a3459bdcd01","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=6fd7d335-6bec-447c-ad22-c260769b891c\u0026file_path=dist%2Findex%2Fpcb.svg","sch_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=6fd7d335-6bec-447c-ad22-c260769b891c\u0026file_path=dist%2Findex%2Fschematic.svg","cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=6fd7d335-6bec-447c-ad22-c260769b891c\u0026file_path=dist%2Findex%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"1f625280-cc35-47b7-bfa5-5e1289b91187","user_code_job_started_at":"2026-10-11T16:30:48.027Z","user_code_job_completed_at":"2026-10-11T17:01:10.445Z","user_code_job_error":{"message":"Build timed out after 30 minutes","error_code":"user_code_job_timeout"},"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=92bda936a3da083b4e1403b3749a32fef397a0e4b7bb48d13520fca72ea925c5","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"e7ec1920-738c-4808-9a61-852a6fe9599f","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.1.0","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-11T00:49:52.259Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-9064ee9cba662b62bacaf8338d652103","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=e7ec1920-738c-4808-9a61-852a6fe9599f\u0026file_path=dist%2Findex%2Fpcb.svg","sch_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=e7ec1920-738c-4808-9a61-852a6fe9599f\u0026file_path=dist%2Findex%2Fschematic.svg","cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=e7ec1920-738c-4808-9a61-852a6fe9599f\u0026file_path=dist%2Findex%2F3d.png","package_release_website_url":null,"display_status":"pending","latest_package_build_id":"92a2908d-7073-447b-83c1-6f1475dd9c3f","user_code_job_started_at":"2026-10-11T00:50:30.312Z","user_code_job_completed_at":"2026-10-11T00:56:41.282Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=990dd1dff4f1b79e883d112971a4c47cad30139a601fbb042e754ddfa00dca43","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null},{"package_release_id":"d5ee4513-50dd-4e86-acf6-ef8b9ac78150","package_id":"896a6fbb-9133-4703-a26e-044e70ca69be","version":"0.0.1","github_commit_sha":null,"is_locked":false,"is_latest":false,"ready_to_build":true,"is_pr_preview":false,"created_at":"2026-10-10T23:19:39.984Z","circuit_json_build_error":null,"circuit_json_build_error_last_updated_at":null,"has_transpiled":false,"transpilation_error":null,"transpilation_logs":null,"transpilation_in_progress":false,"transpilation_started_at":null,"transpilation_completed_at":null,"transpilation_is_stale":true,"transpilation_display_status":"pending","fs_sha":"md5-e9d92c3bc3092f3c3db825a428dd047b","circuit_json_build_logs":null,"circuit_json_build_in_progress":false,"circuit_json_build_started_at":null,"circuit_json_build_completed_at":null,"circuit_json_build_is_stale":true,"circuit_json_build_display_status":"pending","image_generation_error":null,"image_generation_error_last_updated_at":null,"image_generation_logs":null,"image_generation_in_progress":false,"image_generation_started_at":null,"image_generation_completed_at":null,"image_generation_is_stale":true,"image_generation_display_status":"pending","pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=d5ee4513-50dd-4e86-acf6-ef8b9ac78150\u0026file_path=dist%2Findex%2Fpcb.svg","sch_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=d5ee4513-50dd-4e86-acf6-ef8b9ac78150\u0026file_path=dist%2Findex%2Fschematic.svg","cad_preview_image_url":null,"package_release_website_url":null,"display_status":"pending","latest_package_build_id":"b9e57e33-7ed0-46df-a2b0-c824e62a74f6","user_code_job_started_at":"2026-10-10T23:19:59.025Z","user_code_job_completed_at":"2026-10-10T23:24:42.410Z","user_code_job_error":null,"user_code_job_completed_logs":null,"user_code_job_log_stream_url":"https://usercode.tscircuit.com/user_code_jobs/view_log_stream?user_code_job_id=a0d0612837ca4f13fa616f119406cc33198b7374f0d17b26271ae7c1d987ccea","ai_review_requested":false,"github_pr_number":null,"github_pr_title":null,"github_branch_name":null}]; window.SSR_PACKAGE_BUILDS = []; window.SSR_RELATED_PACKAGES = [{"package_id":"1bb71080-c9d9-4806-8dad-9546e8b9913b","creator_account_id":"03854e77-22c2-44a0-9cfc-2d4ed6741105","latest_package_release_id":"92d10956-aa95-4eba-8e98-42e66c16f463","last_built_release_id":"92d10956-aa95-4eba-8e98-42e66c16f463","latest_package_release_fs_sha":"md5-73c7349eef4667e7cbc7beecb7e35036","latest_pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=92d10956-aa95-4eba-8e98-42e66c16f463\u0026file_path=dist%2Findex%2Fpcb.svg","latest_sch_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=92d10956-aa95-4eba-8e98-42e66c16f463\u0026file_path=dist%2Findex%2Fschematic.svg","latest_cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=92d10956-aa95-4eba-8e98-42e66c16f463\u0026file_path=dist%2Findex%2F3d.png","latest_version":"1.0.5","license":"unset","owner_org_id":"7978967e-b956-4ac2-b813-667a08f6310a","org_owner_tscircuit_handle":"abse","owner_github_username":null,"github_repo_full_name":null,"is_source_from_github":false,"description":null,"name":"abse/boostxl-uln2003","unscoped_name":"boostxl-uln2003","star_count":0,"created_at":"2026-08-12T10:10:06.978Z","updated_at":"2026-08-12T22:29:23.783Z","ai_description":"This code defines a React component that models a through-hole or surface-mount LED with specified pin labels, footprint, silkscreen, and 3D CAD model for PCB layout.","ai_usage_instructions":null,"is_private":false,"is_unlisted":false,"is_public":true,"public_dist_enabled":false,"has_public_dist":true,"starred_at":null,"default_view":"files","website":null,"github_installation_id":null,"allow_pr_previews":false,"related_type":"same_author","thumbnail_url":"https://api.tscircuit.com/package_files/view?package_release_id=92d10956-aa95-4eba-8e98-42e66c16f463\u0026file_path=dist%2Findex%2Fpcb.svg"},{"package_id":"c9b86543-94f1-4be3-8a2d-dd17f99fe787","creator_account_id":"9f398687-69d0-4ef4-a48c-bb6dc990e7df","latest_package_release_id":"467c3f9b-77b0-4a2c-a0ea-fc47490ed553","last_built_release_id":"467c3f9b-77b0-4a2c-a0ea-fc47490ed553","latest_package_release_fs_sha":"md5-2dc921973ac2528afa86dcd89a0f6799","latest_pcb_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=467c3f9b-77b0-4a2c-a0ea-fc47490ed553\u0026file_path=dist%2Findex%2Fpcb.svg","latest_sch_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=467c3f9b-77b0-4a2c-a0ea-fc47490ed553\u0026file_path=dist%2Findex%2Fschematic.svg","latest_cad_preview_image_url":"https://api.tscircuit.com/package_files/view?package_release_id=467c3f9b-77b0-4a2c-a0ea-fc47490ed553\u0026file_path=dist%2Findex%2F3d.png","latest_version":"1.0.3","license":"unset","owner_org_id":"7ca3101d-0ece-4182-a775-d3aee7d7f0a0","org_owner_tscircuit_handle":"astra","owner_github_username":null,"github_repo_full_name":null,"is_source_from_github":false,"description":null,"name":"astra/iphone-encoder-counter","unscoped_name":"iphone-encoder-counter","star_count":0,"created_at":"2026-09-28T21:54:31.266Z","updated_at":"2026-09-28T22:48:23.596Z","ai_description":"A CR2450-powered MSP430 FRAM counter combines an always-on dual-channel TMR rotation sensor, pushbutton input, and ST25DV NFC tag with an integrated tuned printed antenna and I²C/GPIO interface.","ai_usage_instructions":null,"is_private":false,"is_unlisted":false,"is_public":true,"public_dist_enabled":false,"has_public_dist":true,"starred_at":null,"default_view":"files","website":null,"github_installation_id":null,"allow_pr_previews":false,"related_type":"random","thumbnail_url":"https://api.tscircuit.com/package_files/view?package_release_id=467c3f9b-77b0-4a2c-a0ea-fc47490ed553\u0026file_path=dist%2Findex%2Fpcb.svg"}]; window.SSR_PACKAGE_ROUTE = {"author":"abse","packageName":"smartwatch-flex-top-only","packageNameWithScope":"abse/smartwatch-flex-top-only","version":null,"isLegacyRoute":false,"kind":"file","filePath":"scripts/verify-warning-meshes.py"};