Commit Graph

40 Commits

Author SHA1 Message Date
50829688e3 feat(binary): add full binary simulator with unsigned and two’s complement modes
- 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>
2025-12-14 16:57:31 +00:00
7a694bf400 Update README.md 2025-12-14 16:34:30 +00:00
8ea5c870be revert 268a82f17c
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>
2025-12-14 16:18:42 +00:00
758d2228f7 feat(rebrand): migrate CS:Box content to Computing:Box branding
- 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>
2025-12-14 15:23:57 +00:00
268a82f17c 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>
2025-12-14 13:59:47 +00:00
01cc324549 chore(assets): reorganise project files and add exported pages
- 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>
2025-12-14 13:53:28 +00:00
6e1c31068a chore(repo): update CODEOWNERS and remove exported site artifacts
- 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>
2025-12-14 13:49:40 +00:00
a87d9d0da6 Export of updated website
Signed-off-by: Alexander Davis <alex@adcm.uk>
2025-12-09 19:56:29 +00:00
36fcbf53f9 Removal of external linking
Signed-off-by: Alexander Davis <alex@adcm.uk>
2025-12-09 19:53:41 +00:00
f8a86adc40 Merge branch 'main' of https://gitea.adcmnetworks.co.uk/alexander/CS-Box
Merge of minor updates
2025-07-20 14:16:56 +01:00
837f1f3e9f Added show on hover for dropdown menu items 2025-07-20 14:13:40 +01:00
Alexander Davis
c94121646b Update README.md 2025-07-19 19:53:08 +01:00
9bbd8ee3c0 Tracking Update
Updates to site tracking service
2025-05-26 21:51:05 +01:00
f7766d03b0 Create CODEOWNERS 2025-04-24 20:43:24 +01:00
d89c0093fa Upload of Screenshorts 2025-04-24 20:40:45 +01:00
b6cefbfdbe Update CSBox.bsdesign 2025-02-22 11:39:42 +00:00
fc9c5f4c9f Update CSBox.bsdesign 2024-12-11 23:05:49 +00:00
d4441afd55 Wave 2 Beta Release
 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! 🚀
2024-12-07 23:46:18 +00:00
a247bc036e Wave 1 Beta Release
# 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.*
2024-12-07 22:51:42 +00:00
f428b4a616 Merge branch 'main' of https://github.com/MrDavisCSIT/CS-Box 2024-12-07 22:49:57 +00:00
93b5f11abe Wave 1 Beta Release
# 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.*
2024-12-07 22:49:29 +00:00
Alexander Davis
7ec00b49a8 Update README.md 2024-11-15 20:26:58 +00:00
0f7711fbb5 Changed Hex Spinner
Changed Hex Spinner to Sliders

Hex Colours Spinners to be replaced in next update
2024-11-10 00:23:04 +00:00
a262cad382 Unlinked Nav Bar
Unlinked Nav Bar on all pages so users can see the active page correctly
2024-10-30 17:39:47 +00:00
f85bee2c69 Remove File Extensions
Removed file extensions from links
Updated Nav bar so home link takes users to / instead of /index.html
2024-10-30 17:27:41 +00:00
261b6c79ce Logic Gates Work
Adding Reset Buttons to logic gates
Updating and modifying layout and CSS to ensure responsive design and layout
2024-10-29 11:08:35 +00:00
709a9a5a08 General Tweaking 2024-10-28 20:55:16 +00:00
d0cccc50de CSS and URL Tweaks 2024-10-28 17:58:16 +00:00
dd146985b0 Wave 1 Features Alpha
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
2024-10-28 17:39:58 +00:00
038f0a6e50 Merge branch 'main' of https://github.com/AlexanderEDavis/CS-Box 2024-10-27 21:18:33 +00:00
3bb14f98a8 CSS Fixes to Hex Colour Simulator 2024-10-27 21:13:31 +00:00
Alexander Davis
ec6cb962dc Update README.md 2024-10-27 20:47:31 +00:00
Alexander Davis
eba37d89bf Update README.md 2024-10-27 20:47:13 +00:00
Alexander Davis
a62c747b8d Update README.md
Update to GitHub Readme file
2024-10-27 20:45:46 +00:00
d993b87b3a Updated Timescales 2024-10-27 20:42:02 +00:00
43b8b60579 Bit:Box Feature Migration
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
2024-10-27 20:36:57 +00:00
1e70c12593 Tweak to landing page 2024-10-19 21:16:50 +01:00
43ba24a8f1 Creation of Logo and Design File 2024-10-19 21:11:11 +01:00
Alexander Davis
101529c780 Update README.md 2024-10-19 17:49:41 +01:00
Alexander Davis
bc0bec3ec6 Initial commit 2024-10-19 17:48:58 +01:00