- Generate initial Keep a Changelog–formatted CHANGELOG.md
- Group historical commits by Conventional Commit type
- Fix git-cliff template issues to support first run with no tags
- Remove invalid template syntax and HTML outside TOML strings
- Align changelog wording with Computing:Box branding
Signed-off-by: Alexander Davis <alex@adcm.uk>
- Add CC BY-NC-SA 4.0 licence and attribution to site footer
- Update copyright notice and author attribution across exported pages
- Regenerate V1 export assets to reflect new licensing terms
- Consolidate scripts and styles as part of the export rebuild
- Update Bootstrap Studio project file used for V1 exports
Signed-off-by: Alexander Davis <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