Skip to content

Commit 0ccd0ea

Browse files
author
Marcos Garralaga
committed
Updated the help modal
1 parent ca84995 commit 0ccd0ea

1 file changed

Lines changed: 24 additions & 30 deletions

File tree

client/help-content-template.html

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -12,56 +12,51 @@
1212

1313
<section id="overview">
1414
<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>
1616
</section>
1717

1818
<section id="getting-started">
1919
<h2>Getting Started</h2>
2020
<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>
2626
</ol>
2727
</section>
2828

2929
<section id="features">
3030
<h2>Key Features</h2>
3131

3232
<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>
3434

3535
<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>
3737

3838
<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>
4040

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 &amp; 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>
4643
</section>
4744

4845
<section id="workflow">
4946
<h2>Workflow</h2>
5047
<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>
5552
</ol>
5653

5754
<h3>Tips &amp; Best Practices</h3>
5855
<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>
6560
</ul>
6661
</section>
6762

@@ -76,30 +71,29 @@ <h2>Shortcuts</h2>
7671
<li><strong>Click output, click input</strong> – Create a wire between two components.</li>
7772
<li><strong>Click input hub</strong> – Remove the attached wire.</li>
7873
<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>
8175
</section>
8276

8377
<section id="faq">
8478
<h2>Troubleshooting / FAQ</h2>
8579

8680
<details>
8781
<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>
8983
</details>
9084

9185
<details>
9286
<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>
9488
</details>
9589

9690
<details>
9791
<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>
9993
</details>
10094

10195
<details>
10296
<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>
10498
</details>
10599
</section>

0 commit comments

Comments
 (0)