Known issues:
- Formatting of the navbar across the site is broken
- Formatting of the Binary simulator is broken
Signed-off-by: Alexander Lyall <alex@adcm.uk>
- Make the navigation bar 3 times it's current height
- The navbar needs the Computing:Box logo to the left of the site name
- Move the toolbox button to appear below the navigation bar
- Make the background of the random button glow/pulse green when random is running
- Make Random run a little longer (like 25% more)
- Rename the "Custom" card to "Custom Number"
- The bit value when in two's compliment mode is not right, it should be on the same line, not wrapped
- The random button should glow when the random function is running, it shouldn't be solid green all the time
- The reset button, can you make the background of it red when hovered over too? I want it to pulse red on the background as well
- Make the title of this page (in head) "Binary Simulator"
- Reinstate the BaseLayout layout which we created previously
- The shifts for Two's Compliment do not work. An Arithmetic Right Shift would keep the value of the most significant bit.
Signed-off-by: Alexander Lyall <alex@adcm.uk>
- Make the increment/decrement buttons centred to the card
- The toolbox button disappears when the toolbox is hidden
- Move the custom buttons to their own card in the toolbox
- Put the random button in the same card as the custom buttons
- Make the random button glow/pulse green when it is running
- Move the shift buttons to the "Tools" card
- Make the reset button the full width of the card, it should be in the bottom row on its own.
- Make the reset button glow/pulse red when hovered over
- Rename Mode to "Settings"
- Move bit width to the "Settings" card
- Keep the "Tools" card named as "Tools"
- Introduce collapsible right-hand toolbox for the binary simulator
- Pin toolbox to the right edge with responsive fallback on smaller screens
- Rework tools and bit-width controls into a shared side layout
- Adjust control sizing, spacing, and visual hierarchy for clarity
Notes:
- Toolbox collapse is functional but requires refinement
- Tools and Bit Width should be merged into a single module/card
- Collapsed state does not yet fully hide the panel or re-centre content
Signed-off-by: Alexander Lyall <alex@adcm.uk>
- Rewrite binary simulator with unified unsigned and two’s complement logic
- Support dynamic bit widths from 4 to 64 with LSB-preserving resizing
- Replace legacy unsigned-only scripts with a single maintainable implementation
- Extract binary styles into dedicated CSS and add global site styling
- Introduce shared header, footer, and base layout components
- Migrate Binary page to BaseLayout and modular assets
Signed-off-by: Alexander Lyall <alex@adcm.uk>
- Update README to reflect Computing:Box as the evolution of Bit:Box and CS:Box
- Replace CS:Box logo references with Computing:Box branding
- Add initial Bootstrap Studio design file for prototype layout
- Include legacy CS:Box logo assets for reference and transition
- Establish baseline assets for Prototype Alpha phase
Signed-off-by: Alexander Lyall <alex@adcm.uk>
- Introduce new Binary Simulator page with adjustable bit width (4–16 bits)
- Support unsigned and two’s complement representations with live conversion
- Add left/right shift operations and custom binary/denary input
- Implement accessible bulb-and-switch UI with MD3-inspired styling
- Add seven-segment display font assets for realistic number output
- Establish shared base layout, styles, and tooling for future simulators
Signed-off-by: Alexander Lyall <alex@adcm.uk>
revert ci(deploy): add Gitea Actions workflow for site publishing
- Add publish workflow to deploy main branch via SFTP
- Configure workflow dispatch and push-to-main triggers
- Use repository variables and secrets for SSH credentials
- Update README logo markup for consistent sizing
Signed-off-by: Alexander Davis <alex@adcm.uk>
- Rebrand UI text, navigation, footer, and metadata to Computing:Box
- Add canonical URLs and updated Open Graph metadata for SEO
- Replace legacy CS:Box imagery with new Computing:Box assets
- Update About page copy to reflect expanded curriculum focus
- Enhance A Level hexadecimal simulator with custom binary input
- Regenerate exported assets and font hashes
Signed-off-by: Alexander Davis <alex@adcm.uk>
- Add publish workflow to deploy main branch via SFTP
- Configure workflow dispatch and push-to-main triggers
- Use repository variables and secrets for SSH credentials
- Update README logo markup for consistent sizing
Signed-off-by: Alexander Davis <alex@adcm.uk>
- Move Bootstrap Studio design file into assets/bootstrap
- Rename and relocate screenshots into assets/screenshot with kebab-case names
- Add generated export HTML pages for simulators and site content
- Preserve existing content with no functional changes to simulators
Signed-off-by: Alexander Davis <alex@adcm.uk>
- Update default reviewer from @MrDavisCSIT to @alexander.lyall
- Remove generated files under Export/ (HTML/CSS/assets) from the repo
- Update Bootstrap Studio project file (CSBox.bsdesign)
``` :contentReference[oaicite:0]{index=0}
Signed-off-by: Alexander Davis <alex@adcm.uk>
✨ Wave 2 Beta Release: New Logic Gates, Improved UX, and Major Enhancements! ✨
---
## **🆕 New Features**
### **1️⃣ Additional Logic Gates**
#### **🔲 NAND Gate**
- **Fully functional NAND logic** implemented.
- **Truth Table**:
| **Input A** | **Input B** | **Output (A NAND B)** |
|-------------|-------------|-----------------------|
| 0 | 0 | **1** (ON) |
| 0 | 1 | **1** (ON) |
| 1 | 0 | **1** (ON) |
| 1 | 1 | **0** (OFF) |
- **Toggle buttons** for Input 1 and Input 2 work as expected.
- Lightbulb updates correctly to match the logic output.
#### **🔲 NOR Gate**
- **Fully functional NOR logic** implemented.
- **Truth Table**:
| **Input A** | **Input B** | **Output (A NOR B)** |
|-------------|-------------|----------------------|
| 0 | 0 | **1** (ON) |
| 0 | 1 | **0** (OFF) |
| 1 | 0 | **0** (OFF) |
| 1 | 1 | **0** (OFF) |
- Lightbulb updates correctly to match the logic output.
- Toggle buttons for Input 1 and Input 2 work as expected.
#### **🔲 XOR Gate**
- **Fully functional XOR logic** implemented.
- **Truth Table**:
| **Input A** | **Input B** | **Output (A XOR B)** |
|-------------|-------------|----------------------|
| 0 | 0 | **0** (OFF) |
| 0 | 1 | **1** (ON) |
| 1 | 0 | **1** (ON) |
| 1 | 1 | **0** (OFF) |
- Toggle buttons for Input 1 and Input 2 trigger the logic updates.
- Lightbulb behavior reflects the XOR output logic.
#### **🔲 XNOR Gate**
- **Fully functional XNOR logic** implemented.
- **Truth Table**:
| **Input A** | **Input B** | **Output (A XNOR B)** |
|-------------|-------------|-----------------------|
| 0 | 0 | **1** (ON) |
| 0 | 1 | **0** (OFF) |
| 1 | 0 | **0** (OFF) |
| 1 | 1 | **1** (ON) |
- Lightbulb updates correctly based on the logic.
- Input toggle buttons work correctly for Input 1 and Input 2.
---
## **🛠️ Enhancements & Improvements**
- **Input Handling**:
- **Input toggles** now work consistently across all logic gate types (AND, OR, NOT, XOR, NOR, NAND, XNOR).
- Input logic is consistent across all gate types, including the lightbulb status updates.
- **Reset Functionality**:
- The **reset button** now works across all logic gates.
- The lightbulb and toggle button status are properly reset.
- **Code Refactoring**:
- Reduced **redundancy** in the toggle input functions.
- Enhanced **code readability** and maintainability.
- Removed unnecessary logic duplications and consolidated shared logic for gate input handling.
---
## **🐛 Bug Fixes**
- **Fixed NAND Gate logic** — lightbulb now correctly updates according to the truth table.
- **Fixed XNOR Gate logic** — logic now correctly handles the logic for matching inputs.
- **Fixed Reset Functionality** — lightbulbs and buttons now reset correctly across all gate types.
- **General Bug Fixes** — Minor improvements in input toggle functions for better user experience.
---
## **📁 Files Changed**
📄 logicGates.js 📄 logicGates.html
---
## **🚀 Release Notes**
This release marks the **Wave 2 Beta** of the CS:Box project, bringing support for all fundamental logic gates. This wave includes the **NAND, NOR, XOR, and XNOR gates**, which have been built with consistent logic, responsive lightbulb behavior, and proper input handling. This release also introduces major fixes to the **reset functionality**, ensuring that all gates reset properly when the reset button is pressed.
**New Features Include:**
- Full support for **NAND, NOR, XOR, XNOR logic gates**.
- Input toggle buttons now work seamlessly for all gates.
- Lightbulb status updates in real-time according to input changes.
- **Reset button** now clears all input states and correctly resets the lightbulb status for each gate type.
**Looking Ahead**:
- Further UI improvements to make the interface more user-friendly.
- Expanded testing to ensure accurate logic across all devices.
Enjoy this latest version of CS:Box! 🚀