You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: client/help-content-template.html
+24-30Lines changed: 24 additions & 30 deletions
Original file line number
Diff line number
Diff line change
@@ -12,56 +12,51 @@
12
12
13
13
<sectionid="overview">
14
14
<h2>Overview</h2>
15
-
<p>Logic Circuit Lab is a drag-and-drop simulator for experimenting with logic gates without leaving the page. Build small combinational circuits, observe live signal flow, and share the resulting designs instantly.</p>
15
+
<p>Logic Circuit Lab is a drag-and-drop playground for experimenting with digital logic right inside your browser. Build combinational circuits, see how signals move through each gate, and share the results with classmates or teammates.</p>
16
16
</section>
17
17
18
18
<sectionid="getting-started">
19
19
<h2>Getting Started</h2>
20
20
<ol>
21
-
<li>Open the <strong>Circuit Elements</strong> palette and drag a gate onto the canvas, or click a tile to drop it in the center.</li>
22
-
<li>Place<strong>Input</strong> and <strong>Output</strong> blocks to provide circuit endpoints.</li>
23
-
<li>Connect components by clicking an output port and then an input port. The wire will follow the connection automatically.</li>
24
-
<li>Pan the workspace by dragging on empty grid space; use the trackpad or mouse wheel to zoom (150% by default).</li>
25
-
<li>Click an <strong>Input</strong> block (or use the <em>Toggle value</em>button in the Selection panel) to drive the circuit high (1) or low (0).</li>
21
+
<li>Open the <strong>Circuit Elements</strong> palette and drag any gate onto the grid, or click a tile to drop it into the center of the canvas.</li>
22
+
<li>Add<strong>Input</strong> and <strong>Output</strong> blocks so your circuit has places to send and receive signals.</li>
23
+
<li>Connect components by clicking a gate’s output port and then the destination input port. Wires route themselves between the two points.</li>
24
+
<li>Pan the workspace by dragging on empty grid space; use the mouse wheel or trackpad to zoom. The current zoom level appears in the toolbar.</li>
25
+
<li>Click an <strong>Input</strong> block (or press <em>Toggle value</em> in the contextual editor panel) to switch between logic 0 and 1 and watch the circuit update instantly.</li>
26
26
</ol>
27
27
</section>
28
28
29
29
<sectionid="features">
30
30
<h2>Key Features</h2>
31
31
32
32
<h3>Gate Palette</h3>
33
-
<p>The palette includes the most common two-input gates plus buffer and inverter blocks. Each gate uses the standard symbol stored in <code>client/gates</code>.</p>
33
+
<p>Frequently used gates (AND, OR, XOR, NOT, buffer, etc.) live in the left sidebar. Hover to read a short description or use the search field to jump directly to what you need.</p>
34
34
35
35
<h3>Interactive Canvas</h3>
36
-
<p>Drag gates to reposition them, wire connections visually, and highlight signal flow. Active signals tint their gate symbols and wire segments with the accent color.</p>
36
+
<p>Place, move, and rotate gates freely across the grid. Wires glow with the accent color whenever a signal is high so you can trace activity at a glance.</p>
37
37
38
38
<h3>Automatic Persistence</h3>
39
-
<p>Your canvas is saved to local storage after every change. Watch the status bar for messages such as “Saving…” and “Changes saved”.</p>
39
+
<p>The canvas saves itself after each change. Keep an eye on the status pill in the header for messages such as “Saving…” and “Changes saved”.</p>
40
40
41
-
<h3>Configurable Palette</h3>
42
-
<p>Control which gates appear in the Circuit Elements panel and set the default zoom level by editing <code>client/gate-config.json</code>. Reload the app to apply the updated palette.</p>
43
-
44
-
<h3>Programmatic VHDL Export</h3>
45
-
<p>External tools can dispatch the <code>logic-sim:export-vhdl</code> event or post the same message type to trigger an export. The current circuit is written to <code>user.vhdl</code>.</p>
41
+
<h3>Exports & Sharing</h3>
42
+
<p>Use the <em>Export VHDL</em> action to create a VHDL snapshot of your current circuit. When the export finishes you’ll see a confirmation toast along with any warnings from the report.</p>
46
43
</section>
47
44
48
45
<sectionid="workflow">
49
46
<h2>Workflow</h2>
50
47
<ol>
51
-
<li><strong>Plan</strong>: Sketch the circuit using the palette preview to decide which gates you need.</li>
52
-
<li><strong>Place</strong>: Drag the required gates to the canvas and arrange them to match your plan.</li>
53
-
<li><strong>Wire</strong>: Click an output hub, then click a target input to route a connection. Repeat for each signal path. Click an occupied input hub to remove its wire.</li>
54
-
<li><strong>Verify</strong>: Step through each combination by clicking your input blocks (or pressing <em>Toggle value</em> in the Selection panel). The panel summarizes every gate’s inputs, outputs, and position.</li>
48
+
<li><strong>Plan</strong>: Sketch the circuit on paper or in the palette preview and note how many inputs and outputs you need.</li>
49
+
<li><strong>Place</strong>: Drag the required gates to the canvas and arrange them so related blocks sit near each other.</li>
50
+
<li><strong>Wire</strong>: Click an output hub and then the destination input. Click an occupied input hub to remove or reroute its connection.</li>
51
+
<li><strong>Verify</strong>: Step through test cases by toggling input blocks.</li>
55
52
</ol>
56
53
57
54
<h3>Tips & Best Practices</h3>
58
55
<ul>
59
-
<li>Use the <em>Reset</em> button to restore the starter template. The new state is written to <code>user.vhdl</code> immediately.</li>
60
-
<li>Press <kbd>Delete</kbd> with a gate selected to remove it without touching the mouse.</li>
61
-
<li>Need to flip an input often? Click the block directly or reuse the <em>Toggle value</em> button to cycle through cases.</li>
62
-
<li>Name your Input and Output blocks from the right-click menu to keep larger designs organized.</li>
63
-
<li>Right-click any gate to rename it or trigger its quick actions.</li>
64
-
<li>Keep related gates close together so the auto-routed Bézier wires stay readable.</li>
56
+
<li>Use <em>Reset</em> whenever you want to return to the starter layout loaded on first launch.</li>
57
+
<li>Press <kbd>Delete</kbd> with a gate selected to remove it without leaving the keyboard.</li>
58
+
<li>Name inputs and outputs (right-click to open the contextual editor panel) so exported circuits are easier to read.</li>
59
+
<li>Group related gates close together to keep the auto-routed wires short and legible.</li>
65
60
</ul>
66
61
</section>
67
62
@@ -76,30 +71,29 @@ <h2>Shortcuts</h2>
76
71
<li><strong>Click output, click input</strong> – Create a wire between two components.</li>
77
72
<li><strong>Click input hub</strong> – Remove the attached wire.</li>
78
73
<li><strong>Right-click gate</strong> – Open the contextual editor for naming and quick actions.</li>
79
-
<li><strong>Click input block / Selection panel → Toggle value</strong> – Switch an input block between logic 0 and 1.</li>
80
-
</ul>
74
+
</ul>
81
75
</section>
82
76
83
77
<sectionid="faq">
84
78
<h2>Troubleshooting / FAQ</h2>
85
79
86
80
<details>
87
81
<summary>Why do I see “Save failed (will retry)”? </summary>
88
-
<p>This means the browser refused to write to local storage (usually because it is full or blocked). The app will retry automatically; freeing space in local storage normally resolves the issue.</p>
82
+
<p>The browser occasionally blocks local saves (usually because storage is full or disabled). The simulator retries in the background; clearing space or re-enabling storage fixes the warning.</p>
89
83
</details>
90
84
91
85
<details>
92
86
<summary>How do I delete a wire?</summary>
93
-
<p>Attach the source output to a different input to reroute it, or connect a new output to the input to replace the existing wire. Each input accepts one connection at a time.</p>
87
+
<p>Click the wire’s destination input hub. Each input accepts only one connection, so removing it frees the port immediately.</p>
94
88
</details>
95
89
96
90
<details>
97
91
<summary>The wires look misaligned after resizing the window.</summary>
98
-
<p>The wire layer recalculates its layout whenever the window size changes. If you still notice misalignment, move any gate slightly to trigger a full redraw.</p>
92
+
<p>The layout engine recalculates after every resize. If anything still looks off, nudge a gate slightly or press Reset to trigger a clean redraw.</p>
99
93
</details>
100
94
101
95
<details>
102
96
<summary>Is my work automatically saved?</summary>
103
-
<p>Yes. After every change the status bar progresses through “Saving…” and “Changes saved”, followed by “Ready”.</p>
97
+
<p>Yes. After every change the header cycles through “Saving…”, “Changes saved”, and finally “Ready”. You can keep building without pressing a save button.</p>
0 commit comments