Changes to file system to store Original Assets, following new file structure conventions.
Re-exported website to new local path.
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