Skip to content

Commit c28ffbb

Browse files
committed
Release: JSCircuit v1.1.0
Merge develop into main for production release. New Features: - Clipboard export netlist (Ctrl+Shift+C) - Zero external dependencies (configuration embedded) - Improved component label rendering Improvements: - Reduced font sizes for better circuit clarity - Standardized element naming conventions - Enhanced documentation with getting started guide - Better error handling and DOM cleanup Bug Fixes: - Fixed GitHub Pages asset paths - Improved clipboard operation error handling All 448 tests passing. Ready for production.
2 parents 0f80f88 + cd62bce commit c28ffbb

213 files changed

Lines changed: 29517 additions & 765 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Build and Deploy Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch: # Allows manual triggering
8+
9+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
15+
# Allow only one concurrent deployment
16+
concurrency:
17+
group: "pages"
18+
cancel-in-progress: false
19+
20+
jobs:
21+
build:
22+
runs-on: ubuntu-latest
23+
24+
steps:
25+
# Checkout the repository
26+
- name: Checkout code
27+
uses: actions/checkout@v4
28+
29+
# Set up Node.js
30+
- name: Set up Node.js
31+
uses: actions/setup-node@v4
32+
with:
33+
node-version: '20'
34+
cache: 'npm'
35+
36+
# Install dependencies
37+
- name: Install dependencies
38+
run: npm ci
39+
40+
# Build documentation
41+
- name: Build documentation
42+
run: npm run docs:build
43+
44+
# Upload artifact for GitHub Pages
45+
- name: Upload artifact
46+
uses: actions/upload-pages-artifact@v3
47+
with:
48+
path: docs/dist
49+
50+
deploy:
51+
environment:
52+
name: github-pages
53+
url: ${{ steps.deployment.outputs.page_url }}
54+
runs-on: ubuntu-latest
55+
needs: build
56+
57+
steps:
58+
- name: Deploy to GitHub Pages
59+
id: deployment
60+
uses: actions/deploy-pages@v4

.github/workflows/test.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Run Tests
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
- main
8+
pull_request:
9+
branches:
10+
- develop
11+
- main
12+
workflow_dispatch: # Allows manual triggering
13+
14+
jobs:
15+
test:
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
# Checkout the repository
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
23+
# Set up Node.js
24+
- name: Set up Node.js
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: '20' # Updated to Node.js 20 LTS for better compatibility
28+
cache: 'npm' # Cache npm dependencies for faster builds
29+
30+
# Install dependencies
31+
- name: Install dependencies
32+
run: npm ci # Use npm ci for faster, reliable builds in CI
33+
34+
# Build menu configuration (required for tests)
35+
- name: Build menu configuration
36+
run: npm run menu:build
37+
38+
# Run tests
39+
- name: Run tests
40+
run: npm test

.gitignore

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
dev-notes
22
.trunk
3+
.ipynb_checkpoints/
4+
.vscode/
35

46
# ignore node dependencies
5-
node_modules
7+
node_modules
8+
9+
# Ignored build files
10+
dist/
11+
docs/dist/
12+
13+
# Auto-generated configuration (built from gui.config.yaml)
14+
src/config/gui.config.js
15+
16+
compile.txt

CITATION.cff

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
cff-version: 1.2.0
2+
message: "If you use this software, please cite it as below."
3+
title: "JSCircuit - Web-based Circuit Editor and Netlist Generator"
4+
abstract: "A web-based circuit editor for designing circuits and exporting netlists to various formats. Built with modern JavaScript, featuring real-time rendering, spatial indexing optimization, and support for multiple circuit types including cavity circuits, couplers, and optomechanical systems."
5+
authors:
6+
- family-names: "Urra Llanusa"
7+
given-names: "Jose Carlos"
8+
email: "j.c.urrallanusa@tudelft.nl"
9+
affiliation: "Delft University of Technology"
10+
contributors:
11+
- family-names: "Steele"
12+
given-names: "Gary"
13+
- family-names: "Branchet"
14+
given-names: "Susan"
15+
version: "1.1.0"
16+
date-released: "2025-01-15"
17+
license: "MIT"
18+
repository-code: "https://github.com/qucat/jscircuit"
19+
repository: "https://github.com/qucat/jscircuit"
20+
keywords:
21+
- "circuit editor"
22+
- "netlist generation"
23+
- "web application"
24+
- "quantum circuits"
25+
- "circuit design"
26+
- "interactive visualization"
27+
- "JavaScript"
28+
documentation: "https://github.com/qucat/jscircuit/blob/main/README.md"

README.md

Lines changed: 76 additions & 43 deletions

assets/C.jpg

3.77 KB

assets/C.png

760 Bytes

assets/C_hover.jpg

4.07 KB

assets/C_hover.png

836 Bytes

assets/C_hover_selected.jpg

9.33 KB

0 commit comments

Comments
 (0)