- 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! 🚀
# Wave 1 Beta Release
---
## Key Features and Enhancements
### 1. Core Functionality
- Developed and optimized JavaScript functions for binary, hexadecimal, and logic gate simulations, ensuring high performance and compatibility across GCSE and A-Level specifications.
- Introduced dynamic behavior to adapt pages (e.g., GCSE vs A-Level) based on URL or heading context.
- Streamlined reset, toggle, and update functionalities for user inputs and sliders across various simulation pages.
### 2. Hexadecimal Simulator
- Enabled two configurations:
- 8-bit binary with 2-digit hexadecimal (GCSE).
- 16-bit binary with 4-digit hexadecimal (A-Level).
- Ensured user input validation for denary and hexadecimal values with robust error handling and feedback.
### 3. Hex Colors Module
- Added dynamic color preview updates for RGB sliders, denary, binary, and hexadecimal values.
- Included an "invert color" feature with corresponding visual updates.
### 4. Logic Gates Module
- Implemented NOT, AND, and OR gates with toggle buttons and live output updates.
- Enhanced reset functionality to initialize states correctly for each gate type.
### 5. Error Handling
- Resolved bugs related to undefined slider properties and invalid binary/hexadecimal inputs.
- Implemented fallback defaults for invalid or canceled inputs.
---
## Visual Enhancements
### 1. Custom Illustrations
- Created custom images for the following sections:
- **About CS:Box**: A simplistic and educational-themed design.
- **The Evolution from Bit:Box**: A visual transition from Bit:Box to CS:Box.
- **Educational Impact**: Vibrant and engaging designs showcasing classroom learning.
- Refined visual hierarchy across all pages for better user experience.
### 2. Navigation Revamp
- Redesigned Bootstrap-based dropdown menus for better usability and accessibility.
- Improved menu hierarchy to align with the UK Computing Curriculum elements.
---
## Documentation
### 1. CS:Box Overview
- Added content explaining the project's evolution from Bit:Box and its educational significance.
- Highlighted key features and their relevance to the UK Computing Curriculum.
### 2. GitHub Repository
- Structured repository with concise descriptions of modules, features, and usage instructions.
---
## Bug Fixes and Optimizations
- Addressed issues with sliders not functioning correctly after reset on hexadecimal pages.
- Fixed error with NOT gate toggling state incorrectly upon reset.
- Streamlined JavaScript logic across all simulations to reduce redundancy and improve maintainability.
---
## Future Scope
- Prepare for **Wave 2 Release** with additional simulations (e.g., XOR gates, floating-point representations).
- Enhance accessibility features for a more inclusive user experience.
- Explore collaborative features for classroom settings.
---
*Wave 1 Beta Release is the foundation of CS:Box, setting the stage for engaging, curriculum-aligned computing education tools.*
# Wave 1 Beta Release
---
## Key Features and Enhancements
### 1. Core Functionality
- Developed and optimized JavaScript functions for binary, hexadecimal, and logic gate simulations, ensuring high performance and compatibility across GCSE and A-Level specifications.
- Introduced dynamic behavior to adapt pages (e.g., GCSE vs A-Level) based on URL or heading context.
- Streamlined reset, toggle, and update functionalities for user inputs and sliders across various simulation pages.
### 2. Hexadecimal Simulator
- Enabled two configurations:
- 8-bit binary with 2-digit hexadecimal (GCSE).
- 16-bit binary with 4-digit hexadecimal (A-Level).
- Ensured user input validation for denary and hexadecimal values with robust error handling and feedback.
### 3. Hex Colors Module
- Added dynamic color preview updates for RGB sliders, denary, binary, and hexadecimal values.
- Included an "invert color" feature with corresponding visual updates.
### 4. Logic Gates Module
- Implemented NOT, AND, and OR gates with toggle buttons and live output updates.
- Enhanced reset functionality to initialize states correctly for each gate type.
### 5. Error Handling
- Resolved bugs related to undefined slider properties and invalid binary/hexadecimal inputs.
- Implemented fallback defaults for invalid or canceled inputs.
---
## Visual Enhancements
### 1. Custom Illustrations
- Created custom images for the following sections:
- **About CS:Box**: A simplistic and educational-themed design.
- **The Evolution from Bit:Box**: A visual transition from Bit:Box to CS:Box.
- **Educational Impact**: Vibrant and engaging designs showcasing classroom learning.
- Refined visual hierarchy across all pages for better user experience.
### 2. Navigation Revamp
- Redesigned Bootstrap-based dropdown menus for better usability and accessibility.
- Improved menu hierarchy to align with the UK Computing Curriculum elements.
---
## Documentation
### 1. CS:Box Overview
- Added content explaining the project's evolution from Bit:Box and its educational significance.
- Highlighted key features and their relevance to the UK Computing Curriculum.
### 2. GitHub Repository
- Structured repository with concise descriptions of modules, features, and usage instructions.
---
## Bug Fixes and Optimizations
- Addressed issues with sliders not functioning correctly after reset on hexadecimal pages.
- Fixed error with NOT gate toggling state incorrectly upon reset.
- Streamlined JavaScript logic across all simulations to reduce redundancy and improve maintainability.
---
## Future Scope
- Prepare for **Wave 2 Release** with additional simulations (e.g., XOR gates, floating-point representations).
- Enhance accessibility features for a more inclusive user experience.
- Explore collaborative features for classroom settings.
---
*Wave 1 Beta Release is the foundation of CS:Box, setting the stage for engaging, curriculum-aligned computing education tools.*
Added options for custom denary and binary values to be entered into the Binary simulator
Creation of the AND, OR and NOT logic gate pages and accompanying logic
Further preparation for upcoming major changes:
- Changes to page organisation and naming conventions
- Changes to CSS configuration
- Further preparation for project-wide naming convention change
Migrated features from Bit:Box website.
Minor changes to CSS
Linked Header and Footer across all pages to allow automatic update to both across all pages
Export folder created
Preparation for upcoming changes:
- Site-wide naming convention change
- Creation of copyright page
- About page changes