Thoth Tech - Company Handover Report 2025 TRIMESTER 1
Table of Contents
- 5.1 Project Overview
- 5.2 User Manual
- 5.3 Completed Deliverables
- 5.4 Roadmap
- 5.5 Open Issues
- 5.6 Lessons Learned
- 5.7 Product Development Life Cycle
- 5.8 Product Architecture
- 5.9 Source Code
- 5.10 Login Credentials
- 6.1 Project Overview
- 6.2 User Manual
- 6.3 Completed Deliverables
- 6.4 Roadmap
- 6.5 Open Issues
- 6.6 Lessons Learned
- 6.7 Product Development Life Cycle
- 6.8 Product Architecture
- 6.9 Source Code
Executive Summary
Thoth Tech is an education-focused technology company located in Melbourne, Australia. Thoth Tech’s mission is to build, operate, and deploy tools that enhance education outcomes by empowering students, connecting them with tutors, and facilitating personalised learning experiences.
We value excellence and collaboration. We strive to deliver all our products in exceptional quality, making sure it is sustainable in the long run. We continuously meet this goal while empowering our people through established frameworks and a safe and supportive learning environment.
This report will outline the company structure, objectives, and projects for Trimester 3, 2024. This trimester, Thoth Tech will be running the two main products: OnTrack and SplashKit.
Showcase Video
This video summarises the accomplishments made at Thoth Tech for Trimester 1 2025: Thoth Tech Company Showcase Video.
Leadership Team
Company Board
- Glory Lee - Company Director
- Andrew Cain - Product Owner (OnTrack & SplashKit)
Product Mentors
- OnTrack: Nebula Alam
- SplashKit: Olivia McKeon
Student Leadership
- Atharv Sandip Bhandare – Senior Leader (OnTrack)
- Eliya Barryevitch Geerlings - Senior Leader (OnTrack)
- Amrith Jayadeep - Senior Leader (OnTrack)
- Martin John Dolores - Junior Leader (OnTrack)
- Samindi Situmya Ratnayake Mudiyanselage - Junior Leader (OnTrack)
- Ibitope Ebenezer Fatoki - Junior Leader (OnTrack)
- Ethan Rin – Senior Leader (SplashKit)
- Joshua Peyton Fernandes - Junior Leader (SplashKit)
- Oliver Alexander Quail - Junior Leader (SplashKit)
Leadership Responsibilities
These are the following responsibilities of the company student leadership throughout the trimester:
-
Company Recriutment Presentation the First Junior Lecture: The leadership is responsible for introducing Thoth Tech to junior students and attracting new talents by showcasing the company’s purpose, culture, and opportunities.
- Deliver a compelling presentation to inspire junior studensts to join.
- Highlight company goals, unique opportunities, required skills and mindset, and previous successes.
- Provide engaging delivery with visuals to attract motivated recruits.
-
Onboarding Students: Ensure all new team members are welcomed, informed, and aligned with the company’s objectives.
- Host multiple onboarding sessions to accommodate various schedules and learning styles.
- Clearly outline team roles, meeting schedules, project goals, and expectations.
- Provide accessible materials such as documentation and tutorials to help students onboard.
- Establish a welcoming, collaborative culture from the beginning.
-
Weekly Leadership Team Meetings: Regular meetings ensure communication, accountability, and leadership developmment across the company throughout the trimester.
- Hold weekly meetings to dicuss progress, challenges, and strategies.
- Assign clear action items with deadlines along with regular follow ups.
- Use the meetings as an opportunity to ensure that each team aligns with the company-wide goals.
- Discuss strategy for company deliverables with a clear structure.
-
Mentorship and Support: The leadership team must guide and support all contributors by offering mentorship, resolving issues, and ensuring alignment with company standards.
- Provide leadership and technical support to both peers and junior members.
- Promote teamwork across different groups by encouraging knowledge sharing.
- Support problem-solving by facilitating collaboration and creative thinking.
-
Communication and Collaboration: Effective communication is essential for aligning items, fostering creativity, and maintaining productivity.
- Create opportunities for shared learning.
- Ensure all communication reflects company goals, values, and priorities.
- Communicate key informatiom to team members via annoucements and updates.
-
Company Deliverables: The leadership team is responsible for ensuring that all reports and videos accurately represent the work of the company and are completely in a timely manner.
- Work with other members to gather relevant updates and documentation for deliverables.
- Ensure each report or video aligns with Thoth Tech’s brand and voice.
- Review deliverables for accuracy and completeness before submission.
- Submit deliverables on time by one junior and one senior member on behalf of the company.
-
Innovation and Best Practices: Leadership should set the tone for continuous improvement by encouraging new ideas and promoting a growth mindset.
- Encourage evidence-based decisions and foster a learning culture.
- Encourage team members to experiment, take ownership, and drive innovation.
- Emphasize learning from mistakes as a core value of growth and iteration.
-
Fostering Team Morale and Inclusivity: Maintain a postive, inclusive, and respectful environment is key to productivity and collaboration.
- Promote inclusivity by ensuring all voices are heard and valued in discussions.
- Act as role models for positive communication, teamwork, and respect.
- Recognize and celebrate both individual and team successes.
- Support conflict resolution and maintain open-ended communication between the team members.
Company Structure

Project 1: OnTrack
Project Overview
OnTrack, also known as Doubtfire, is an innovative Learning Management System (LMS) designed specifically for skill-based course delivery. This platform enhances the connection between tutors and students, with a primary focus on Deakin University and other global educational institutions. OnTrack aims to elevate the educational experience by offering a structured, efficient, and interactive learning environment. The system is crafted to improve student engagement, boost learning outcomes, and streamline the teaching and learning process, benefiting both students and educators.
The OnTrack team is dedicated to continuously improving the platform by working on all planned deliverables each trimester. While the team strives to complete all objectives, any remaining deliverables are carried forward, encouraging the next generation of leaders to take ownership and drive the project forward. This approach ensures the long-term sustainability and evolution of OnTrack, fostering a culture of responsibility, innovation, and continuous enhancement for the benefit of future users.
User Manual
This section provides all the essential tutorials and contribution guides to help new team members set up their local environment and begin contributing to OnTrack confidently.
Tutorial Videos on Setting Up Your Local Development Environment
-
T1 2025 Setup demo by Aditya Pratap Singh Tomar
-
T3 2023 Setup demo by Satika Jayawardena
-
T2 2023 Setup demo by Daniel Maddern
-
T1 2024 Common setup error solutions by Satika Jayawardena
Contributing Guides
-
T1 2025 Guide on Getting Started with OnTrack by Atharv Sandip Bhandare
-
T1 2025 Guide on getting 9.x and 8.0.x branches to build on Windows by Eliya Geerlings
-
App-Attack x OnTrack feature branch - Pull Request Contribution Guide by Atharv Sandip Bhandare
Completed Deliverables
Frontend Migration
Completed migrations:
- unit-dates-selector.coffee
- date-service.coffee
- media-service.coffee
- routing.coffee
- outcome-service.coffee
- analytics-service.coffee
- unit-staff-editor.coffee
- listener-service
- progress-dashboard.coffee
- student-task-status-pie-chart.coffee
- tutorials.coffee
- unit-details-editor.coffee
- content-editable.coffee
- group-member-contribution-assigner.coffee
- task-ilo-alignment-rater.coffee
- analytics.coffee
- debug.coffee
- portfolio-grade-select-step.coffee
In development migrations:
- runtime.coffee
- group-member-list.coffee
- inbox.coffee
- group-member-list
- task-ilo-alignment-modal.coffee
- group-set-manager.coffee
- file-uploader.coffee
- Students-list.coffee
- portfolio-review-step.coffee
- portfolios.coffee
- group-selector
AppAttack x OnTrack
We successfully initiated a collaboration with the HardHat AppAttack team to conduct a two-phase security testing process for OnTrack.
-
Stage 1 vulnerability scanning was completed, and initial findings were received on 7 April 2025.
-
A complete workflow was designed to manage the vulnerability mitigation process, which included:
- Establishing scope and agreement with AppAttack,
- Categorizing vulnerabilities based on severity,
- Recruiting a dedicated patching team,
- Creating and assigning tickets in Microsoft Teams Planner,
- Prioritizing and addressing critical vulnerabilities first.
-
The team implemented fixes for multiple high-impact vulnerabilities, including:
Vulnerability Name Impact Level Clickjacking Severe Insecure Direct Object Reference (IDOR) Major Malicious Code Execution Major Exposed JavaScript Source Maps (False Positive) Major Session Hijacking and Fixation Significant Token Exposure via Local Storage and HTTP Headers (False Positive) Significant Misconfigured CORS (False Positive) Significant -
Fixes for Clickjacking and IDOR vulnerabilities were completed and pull requests were raised to the upstream feature branch, with Clickjacking successfully merged.
-
Although the full retesting cycle is pending, the team initiated internal validation of key fixes based on the documentation provided by AppAttack. This ensured timely feedback loops and quality assurance in the absence of immediate external retesting.
-
The final End-of-Trimester security report from AppAttack is expected to be shared to support future OnTrack development cycles and to maintain ongoing platform security improvements.
SSRF Testing on OnTrack
- Developed a Bash-based automated script for SSRF payload injection across API endpoints.
- Performed multiple rounds of testing and logged potential vulnerabilities.
- Worked on enhancing the script for scalability and integration with Burp Suite.
- Collaborated with the patching team to address vulnerabilities discovered by the AppAttack phase.
Bug Fixes & Urgent Enhancements
- Issues with the student calendar and notifications has been resolved and pull requests have been submitted.
- Issues with building the app on Windows has been identified and a fix has been deployed into the upstream 8.0.x branch.
New Feature Additions
Staff Extension Management
- Planner board tickets for the Staff Grant Extension feature have been created, outlining frontend and backend responsibilities in detail.
- Backend development was completed for importing and exporting tutorial data using CSV format.
- A new modal interface was implemented, allowing staff to enter extension durations and select multiple students simultaneously.
- The backend now successfully grants extensions based on staff input, ensuring seamless interaction between UI and data layer.
- A new in-system notification system was developed from scratch, allowing students to receive updates related to granted extensions directly within OnTrack.
- Email notifications were also integrated, ensuring students are notified through multiple channels.
- Initial UI wireframes and user flows were completed and used as the foundation for the final implementation.
Gauge Chart
- Replaced the legacy progress burndown chart with an interactive ngx-charts-based gauge chart to provide a cleaner visual representation of student progress.
- Dynamically displays key progress metrics including Target, Projected, To Submit, and To Complete using distinct color bands and percentage values in the form of a Gauge
- Center value auto-updates based on the Marked percentage.
- Interactive legend: Clicking on a legend item (e.g., “Marked”) isolates that segment on the gauge, temporarily hiding all others for focused viewing.
Student Self-Enrollment into Projects
- An implementation plan has been proposed and has been adjusted accordingly to meet the project requirements. Progress has begun on the UI.
Student Self-Enrollment into Projects
- An implementation plan has been proposed and has been adjusted accordingly to meet the project requirements. Progress has begun on the UI.
Tutor Times Module
- Progress has begun both on the front-end and back-end, but has temporarily been put on pause due to outdated documentation of the feature that has lead to different understandings of the goal of the feature.
Staff Extension Management
- Planner board tickets for the Staff Grant Extension feature have been created, outlining frontend and backend responsibilities in detail.
- Backend development has been finalized for the CSV import/export of tutorial data.
- Frontend work for the same functionality is underway, with integration currently in progress.
- UI wireframes and user flow for the extension management interface have been completed, forming the foundation for frontend implementation.
List of Completed Deliverables
Roadmap
AppAttack x OnTrack
Although the team successfully addressed 7 of the initially reported vulnerabilities, 3 critical issues remain unresolved due to time constraints in the current trimester:
- Publicly Accessible API Documentation via Swagger
- Privilege Escalation – Tutor Accessing Admin Pages
- Insufficient Token Entropy
- These issues have been logged for future action and will be passed on to the incoming development cohort.
- The AppAttack x OnTrack initiative is designed as a cyclical vulnerability resolution process, where ongoing findings from HardHat will be reviewed, prioritised, and patched incrementally by future teams.
- End of Trimester Security Report with new vulnerabilities have been received for future cohorts to work upon.
- Patch plans are available in the security board to ensure smooth continuity.
Onboarding Guide for New OnTrack Contributors
An onboarding guide is planned to support new students joining the OnTrack project in future trimesters. This guide will be published in the OnTrack technical documentation (doubtfire-astro) and will include:
- Environment setup instructions (Node, Docker, Git access),
- Navigating the Planner board and understanding task structure,
- Contribution process (feature branches, PR creation, peer reviews),
- Common setup errors and FAQs. This task is currently not started and will be prioritized in the next trimester to streamline onboarding and reduce dependency on live mentorship.
Bug Fixes & Urgent Enhancements
Bug resolution and urgent frontend/backend enhancements are ongoing processes tracked in dedicated Planner buckets and will be continued by future teams as part of regular maintenance.
Planned Improvements
Ongoing improvements such as UI redesigns, grade tracking features, model migrations, and structural standardization are in the pipeline and recommended for future development cycles.
Panopto Video Integration
Integration with Panopto for secure video uploads, metadata handling, and embedding is fully scoped but remains in backlog for future implementation across frontend and backend components.
OnTrack Documentation Website
Efforts to centralize OnTrack’s technical documentation and create a dedicated onboarding experience remain in backlog, with plans to unify API and backend docs in upcoming trimesters.
Multiple Organisations Support
Planned enhancements to support multi-organisation functionality-including switching logic, access control, and org-based context switching-remain in backlog for future implementation.
Incorporate Content in OnTrack
A new feature to enable content integration within OnTrack-including API updates, frontend component builds, and database schema changes is fully scoped but remains in backlog.
Tutor Times Feature
A full-stack Tutor Times feature-spanning frontend integration, session tracking services, analytics APIs, and documentation has been fully scoped but remains in backlog for future development.
Staff Grant Extension
While the feature is functionally complete, remaining backlog items such as performance testing and error handling are pending and may be addressed in future sprints if required.
Authentication Module
The authentication module including third-party sign-ons, secure cookie handling, and internal password management is in backlog and scoped for future implementation.
Security Enhancement
Pending security tasks including CI/CD testing integration, access control fixes, audit issue resolutions, and standardizing authentication—are in backlog for future implementation and hardening.
CourseFlow Feature
CourseFlow aims to introduce interactive components for displaying unit details, credit points, and course requirements currently scoped and in backlog for future frontend development.
Frontend Migration: AngularJS & CoffeeScript → Angular & TypeScript
Migration of legacy AngularJS and CoffeeScript components to Angular 17 and TypeScript is underway, with several modules completed and others still in progress and under review.
Open Issues
- The purpose of this section is to flag things that may interfere with the future team’s ability to work on the project, and to give advice as to how these issues could be fixed in the future.
- Despite steady progress across technical deliverables, the OnTrack team has encountered several persistent issues that may impact continuity and learning outcomes for future cohorts:
Skills Gap & Onboarding Challenges
Many students join OnTrack with the intent to learn and contribute meaningfully. However, the steep learning curve particularly around complex technologies like Angular, TypeScript, and legacy CoffeeScript has made it difficult for newcomers to get started. Without structured technical onboarding, many spend the first 3–4 weeks simply trying to understand the system, which delays their ability to contribute effectively.
Development Environment & Compatibility Issues
Setting up the local development environment remains a significant hurdle, especially for peers
using lower spec Windows machines. Docker image sizes are large, and the performance gap compared to
Mac users creates an uneven learning experience. Compatibility differences between branches (e.g.,
8.0.x vs 9.x) also lead to frequent build issues, creating confusion and discouraging ongoing
contributions.
Lack of Training & Documentation Support
While OnTrack encourages open contributions, many team members struggle due to limited training in core concepts (e.g., Git workflows, Angular framework, Typescript, and Docker). There is an implicit expectation that students are already proficient, which often isn’t the case this leads to frustration and reduced engagement. Structured training sessions and technical documentation tailored for beginners would significantly improve project onboarding.
Fragmented Review and Contribution Workflow
The process for reviewing Planner board tasks, GitHub pull requests, and migration progress lacks consistency. Without clear ownership and review pathways, some completed work sits idle or gets delayed due to unclear approval hierarchies.
Recommendations for Future Teams
- Introduce a structured onboarding program covering setup, Git, and core stack training.
- Create a beginner-friendly setup guide tailored for Windows environments.
- Regularly audit compatibility across OnTrack branches and Docker images.
- Communicate with mentors or sub-leads to guide and unblock newcomers.
- Encourage documentation of common issues and fixes directly within the repo.
- Leverage the resources listed in the User Manual section, which includes:
Lessons Learned
- Throughout the trimester, the OnTrack team gained valuable insights into effective collaboration, workflow management, and the importance of technical readiness. The following lessons are shared to help future teams avoid common pitfalls and adopt practices that support sustained progress and learning.
Mentorship and Leadership Engagement
- Mentors played a pivotal role in guiding the team, clarifying complex tasks, and helping contributors stay aligned with deadlines. However, low attendance in mentor meetings created knowledge gaps for some students, leading to missed updates and slower progress. Future cohorts should prioritize regular mentor engagement to stay informed and unblock technical or process-related issues early.
Planner Board Usage and Task Management
- A common challenge observed was the inconsistent use of the Planner board. Tasks were often left unupdated, causing confusion around team progress and responsibility. Familiarity with Planner usage, card ownership, and regular updates is essential for maintaining transparency, accountability, and momentum in collaborative work.
GitHub Fluency and Frontend Migration
- A significant number of contributors struggled with frontend migration tasks due to limited experience with GitHub and version control best practices. This impacted review cycles and slowed down feature delivery. It is highly recommended that new team members undergo early Git and GitHub training, particularly around pull requests, branching strategies, and commit hygiene.
Continuous Learning and Skill Development
- Capstone projects like OnTrack require more than just effort they demand continuous upskilling. Many students realized mid-trimester that improving their understanding of technologies like Angular, TypeScript, and Docker was essential to contribute effectively. Future teams should proactively allocate time for learning, especially when entering unfamiliar technical domains.
Time Management and Self-Discipline
- Delayed deliverables and unfinished tasks were often linked to weak time management. Without consistent planning and regular progress tracking, students found it difficult to meet sprint goals. Future cohorts should adopt strategies like weekly planning, setting personal deadlines, and using reminders to stay on track and contribute reliably.
Final Advice
- New teams may assume that deep technical knowledge is required before contributing. However, what truly matters is consistency, communication, and a willingness to learn. Investing time early to understand the workflow, connect with mentors, and get comfortable with the tools will yield strong contributions by the end of the trimester.
Product Development Life Cycle
We continue to use Agile methodologies to deliver updates and new features for OnTrack. Our approach includes 2-week sprints focused on completing tasks, and weekly stand-up meetings to assess progress, share updates, discuss roadblocks, and assign new tasks via Teams Planner cards.
New Tasks
- New tasks are assigned by the project mentor during the weekly stand-up meetings. Once you areassigned a task, be sure to assign yourself to the corresponding Teams Planner card and attach your draft or completed pull request when you begin work.
- If you have an idea for a new feature or enhancement, schedule a meeting with the project mentor to discuss it. Upon approval, create a new card or backlog column in Teams Planner to track the task.
- If the feature is large, start researching the benefits and challenges, and create a Spike document, which can be committed to the documentation repository.
- Spike templates are available in the documentation repository.
Definition of Done
A task is considered complete once it has been fully tested, functions as expected, and is
documented in a well-organized pull request. The task must also undergo peer review and be approved
by your mentor. Ensure that the corresponding Teams Planner card is updated and keep in
communication with your reviewer and mentor until your contribution is merged into the upstream
doubtfire-lms repository.
Task Review
- Each pull request requires a mandatory peer review before a mentor review. After creating the pull request, contact a teammate to review it. Tag them as the reviewer in both the Teams Planner card and the GitHub pull request.
- As a reviewer, ensure that you test the code by pulling the changes locally and reviewing the syntax, logic, and output. If any changes are needed, update the contribution and notify the reviewer.
- Once the updates are made, the pull request will be automatically updated.
- After the peer review is complete, notify the mentor for their review. Once approved, you can submit the pull request to the upstream repository for the final review.
Testing
- For frontend changes, test the functionality in the browser or run specification tests as needed.
- For backend changes, use browser interactions or tools like Postman to test functionality.
- Additionally, GitHub CI Actions will run tests automatically when changes are pushed.
- In the pull request template, include detailed instructions on how others can test your changes.
- Always provide before-and-after screenshots to show the outcome of your modifications.
Branching Strategy
- When starting a new contribution, fork all three
thoth-techrepositories (deploy,web, andAPI) to your GitHub profile. - Create a new branch from the development branch of the relevant repository. For example, for
frontend migrations, you would create a branch from the
doubtfire-webdevelopment branch.\ - Follow the Branch Prefixes and Commit Message Format in the Contributing Guide when naming branches and creating commits.
Product Architecture
OnTrack is developed as a collaborative open-source project built on top of the Doubtfire-LMS ecosystem. It comprises four key components:
- Doubtfire-Web: The frontend application responsible for user interface and interactions. Built using Angular.
- Doubtfire-API: The backend service that handles business logic and communicates with the database. Built using Ruby on Rails.
- Database: A structured relational database (e.g., MariaDB) that stores all persistent application data.
- Doubtfire-Deploy: Infrastructure scripts and configuration used to deploy OnTrack in a stable and maintainable environment, primarily using Docker and associated CI/CD tools.
OnTrack is maintained and enhanced by ThothTech, a student-led capstone development team at Deakin University. The project is forked from the official Doubtfire-LMS repository, which is managed by Company Directors and Mentors. The LMS environment represents the production-grade implementation, while ThothTech serves as the innovation space where new features, patches, and improvements are developed, tested, and refined before potential upstream contribution.
Tech Stack
-
Frontend: Currently being migrated from AngularJS and CoffeeScript to Angular 17 and TypeScript. The stack also includes HTML, SCSS, and Tailwind CSS.
-
Backend: Built on Ruby on Rails with the Grape Framework. It uses MariaDB as the database engine. Docker is used for deployment and local development.
Source Code
The following are the relevant GitHub repositories to this project:
- Deployment: thoth-tech/doubtfire-deploy
- Frontend: thoth-tech/doubtfire-web
- Backend: thoth-tech/doubtfire-api
- OnTrack Documentation Website: thoth-tech/doubtfire-astro
- Documentation: OnTrack Documentation
- Templates: Templates Documentation
- Course Flow documentation: CourseFlow Docs
Login Credentials
Refer to the Working with Dev Containers section of the Contributing Guide for authentication credentials for locally deployed OnTrack.
Project 2: SplashKit
Project Overview
SplashKit is an open-source software development framework designed to simplify game and application developement for beginners and students. It was primarily coded in C++ but has since offer supports for addition languages such as C#, Python, Pascal, and JavaScript.
SplashKit provides users with a set of pre-built libraries for graphics, sound, input handlindg and more, making it easier to create interactive applications. It also offers an extensive documentation and tutorials designed to help students get started quickly and maximise their use of the SDK. This wealth of resources empowers learners to progress at their own pace and fully explore the capabilities of SplashKit, making it an invaluable tool for both beginners and more advanced users.
SplashKit ran with the following projects during T1 2025:
SplashKit Website & Tutorials
Powered by the Starlight framework, the revamped SplashKit website aims to offer an enriched and user-friendly experience for developers and learners. The SplashKit Website will also feature tutorials aimed at helping students learn and explore SplashKit’s functionality. The focus is on developing smaller, high-quality tutorials across C++, C#, and Python, rather than extensive series.
SplashKit Expansion
The Expansion team is responsible for maintaining and enhancing the SplashKit core. This includes bug fixes, feature improvements, units testing, and refining installation and usage workflows through package creation and addressing installation issues.
SplashKit Online
SplashKit Online is developing a web-based IDE that allows students to write and run code directly in their browsers. Initially launched as a prototype in 2023, the 2025 goal is to mature this tool into a comprehensive product, including further C# support and refining the embedded version for the SplashKit website.
Arcade Machines
The university has acquired four arcade machines equipped with Raspberry Pi 3B+ units, designed to showcase games developed with SplashKit. The short-term goal is to prepare these platforms for students to display their SplashKit creations. The medium-term goal is to streamline the process for first-year students to easily upload and test their games.
User Manual
A suite of resources for getting started with SplashKit can be found on the SplashKit Product Page of the Thoth Tech Documentation site. The below details some specific contributing documents that sit in the repositories for the relevant teams.
Arcade Machines
SplashKit Website & Tutorials
SplashKit Expansion
SplashKit Online
Completed Deliverables
SplashKit Expansion
-
Expanded Unit Tests to Cover the of basics.cpp:
- Work that started last trimester was added to to complete unit test coverage for the basics.cpp file.
-
Added new Unit Tests for the Graphics Module:
- A new unit testing suite was added to the graphics module to reduce the number of bugs that make it to production.
-
Documented macOS Build and Test Instructions:
- These were added to the top-level readme for four different commands aimed at making the process easier to complete.
-
Added new Helper Scripts and CMake Presets to the Build Process of SplashKit:
- Catch helper scripts and CMake presets were added to simplifier building the project and enable the use of the CMake Tools extension for VS Code.
-
Updated Raspberry Pis to use Newer Libraries:
- The pigpio library was changed to WiringPi and SSH to allow for support of newer Raspberry Pi models.
-
Bug fix for Using CMake with Raspberry Pi:
- A fix was added that allowed for Cmake to more easily recognise a Raspberry Pi.
-
Bug fixes for the Window Class:
- Added missing methods to the C# implementation of
draw_pixel_on_windowfunctions. - Fixed missing attributes in the header documentation for the Window class.
- Removed overloads for
get_pixel()that shouldn’t exists. - Updated class to user proper destructor.
- Added missing methods to the C# implementation of
SplashKit Website & Tutorials
-
Implementation References Update:
- The implementation reference has been updated to include instances when the functions are used in other usage examples, resulting in a larger number of references.
-
Usage Examples Identifier:
- The function headers in API Documentation has been updated to indicate which functions has examples created or implementation for it references, resulting in a better user experience and visibility.
-
Game Showcase Updates:
- A script has been created to generate the each game showcase markdown files automatically using a JSON that stores all of the showcases’ data.
- A new page has been created to allow users to test out the games online using SplashKit Online Lite.
-
SplashKit Blog Addition:
- Created new blog posts about the usage examples and implementation references on the API Documentation and the new Algolia DocSearch engine.
-
Usage Examples Expansion:
- Significantly expanded usage examples across various categories which improve the overall quality of the site.Addition include comprehensive examples for Graphics, Geometery, Audio, Interface, and Networking functions.
-
Beyond SplashKit Expansion:
- Considerable addition to the Beyond SplashKit iniatives with examples created primarily for Graphics and Geometery functions.
-
Updated README File:
- Updated the CONTRIBUTING markdown file for the usage examples to improve overall clarity of the process.
-
Documentation site Updates:
- Updated the Usage Examples documentation to reflect the new contributing process, helping students contribute effciently.
- Created a styling guide for usage example, standardizing the process and improving consistency across examples.
- Created a unit testing guide on how the unit testing creation process.
- Created a tips and ticks guide which contain information that members can use to streamlime their development process.
SplashKit Online
-
Added Support for Custom Themes:
- Centralised all colour related styling into a single file, allowing for easy overriding off variables to create new themes.
- Removed duplicate colours that created an inconsistenant user interface.
-
Restructured Main Project Repository
- Restructured the main repository with the goal of making it easier to work on and improve ease of maintainability in future.
-
Added Support for C# in IDE
- The C# programming language was added as a new language option that students can work with in the browser IDE.
-
Added Support for Mobile Screen Sizes
- SplashKit Online now can be used on mobile devices, allowing greater access to the IDE.
- Additionally restructured CSS so that adding more screen sizes will be far simplier.
-
Overhauled Project Documentation
- The project’s documentation was overhauled and updated to be reflect the current state of the project.
List of Completed Deliverables
| Name | Type | Task Name | Task Attachment |
|---|---|---|---|
| Anish Sampson | Main Contributor | Font Named - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/545 |
| Anish Sampson | Main Contributor | Line Intersection Point - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/464 |
| Anish Sampson | Main Contributor | Line Normal - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/455 |
| Anish Sampson | Main Contributor | Point in Quad - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/431#issue-2990452267 |
| Anish Sampson | Main Contributor | Distant Point on Circle - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/430#issue-2990429376 |
| Anish Sampson | Main Contributor | Get System Font - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/435#issue-2999025131 |
| Anish Sampson | Reviewer | Circle Quad Intersect - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/445 |
| Anish Sampson | Reviewer | Circle Triangle Intersect - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/452 |
| Anish Sampson | Reviewer | Closest Point on Line - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/432 |
| Anish Sampson | Reviewer | Closest Point on Rect From Circle - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/433 |
| Anish Sampson | Reviewer | End Panel - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/501 |
| Anish Sampson | Reviewer | Open Connection - Networking - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/500 |
| Anish Sampson | Reviewer | Point Line Distance - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/542 |
| Anish Sampson | Reviewer | Random Color - Color - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/514 |
| Anish Sampson | Reviewer | Set Interface Font - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/503 |
| Anish Sampson | Reviewer | Set font style (Overload) - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/506 |
| Anish Sampson | Reviewer | Tangent Points - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/447 |
| Anish Sampson | Reviewer | Closest Point on Line From Circle - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/429 |
| Anish Sampson | Reviewer | Display Height - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/366 |
| Anish Sampson | Reviewer | Set Music Volume - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/416 |
| Anish Sampson | Reviewer | Option Flip X - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/389 |
| Anish Sampson | Reviewer | Text Height - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/360 |
| Cameron Stewart Humphries | Main Contributor | Closest Point on Line - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/432 |
| Cameron Stewart Humphries | Main Contributor | Closest Point on Rect From Circle - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/433 |
| Cameron Stewart Humphries | Main Contributor | Push Clip - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/397 |
| Cameron Stewart Humphries | Main Contributor | Review Raspberry Pi tutorials | https://github.com/thoth-tech/splashkit.io-starlight/pull/492 |
| Cameron Stewart Humphries | Main Contributor | Rework documentation | https://github.com/thoth-tech/SplashkitOnline/pull/122 |
| Cameron Stewart Humphries | Reviewer | Refactor CSS and HTML to support theming and later mobile support | https://github.com/thoth-tech/SplashkitOnline/pull/116 |
| Cameron Stewart Humphries | Reviewer | Widest points - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/446 |
| Cameron Stewart Humphries | Reviewer | Add support for custom themes | https://github.com/thoth-tech/SplashkitOnline/pull/118 |
| Cameron Stewart Humphries | Reviewer | Display X - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/356 |
| Cameron Stewart Humphries | Reviewer | Draw Pixel on window - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/379 |
| Cameron Stewart Humphries | Reviewer | Fade Music In Named - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/415 |
| Cameron Stewart Humphries | Reviewer | Fade Music Out - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/414 |
| Cameron Stewart Humphries | Reviewer | Line Intersection Point - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/464 |
| Cameron Stewart Humphries | Reviewer | Load Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/413 |
| Cameron Stewart Humphries | Reviewer | Music Name - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/412 |
| Cameron Stewart Humphries | Reviewer | Pause Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/411 |
| Cameron Stewart Humphries | Reviewer | C# Support - CSharpWasm support JS side | https://github.com/thoth-tech/SplashkitOnline/pull/120 |
| Daniel Carroll-Leonard | Main Contributor | Update usage-examples CONTRIBUTING.mdx | https://github.com/thoth-tech/splashkit.io-starlight/pull/367 |
| Daniel Carroll-Leonard | Main Contributor | Add script to set up and launch usage examples | https://github.com/thoth-tech/splashkit.io-starlight/pull/463 |
| Daniel Carroll-Leonard | Main Contributor | Code coverage | https://github.com/thoth-tech/splashkit-core/pull/110 |
| Daniel Carroll-Leonard | Main Contributor | Improve unit testing workflow | https://github.com/thoth-tech/documentation/pull/594 |
| Daniel Carroll-Leonard | Main Contributor | Unit testing guide | https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/139 |
| Daniel Carroll-Leonard | Main Contributor | Unit tests for basics.cpp | https://github.com/thoth-tech/splashkit-core/pull/98 |
| Daniel Carroll-Leonard | Main Contributor | Add method for DrawPixel to Window class (C#) | https://github.com/thoth-tech/splashkit-core/pull/105 https://github.com/thoth-tech/splashkit-core/pull/105#pullrequestreview-2838709777 |
| Daniel Carroll-Leonard | Main Contributor | Add missing destructor methods (C#) | https://github.com/thoth-tech/splashkit-core/pull/109 https://github.com/thoth-tech/splashkit-core/pull/109#pullrequestreview-2838664924 |
| Daniel Carroll-Leonard | Main Contributor | Add missing methods to Window class (C#) | https://github.com/thoth-tech/splashkit-core/pull/108 https://github.com/thoth-tech/splashkit-core/pull/108#pullrequestreview-2838688022 |
| Daniel Carroll-Leonard | Main Contributor | Fix Pascal Compilation | |
| Daniel Carroll-Leonard | Main Contributor | Line from (point to point) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/359 |
| Daniel Carroll-Leonard | Main Contributor | Remove Unnecessary GetPixel Overloads | https://github.com/thoth-tech/splashkit-core/pull/112 https://github.com/thoth-tech/splashkit-core/pull/112#pullrequestreview-2838590391 |
| Daniel Carroll-Leonard | Main Contributor | Add Catch2 helper scripts and CMake presets | https://github.com/thoth-tech/splashkit-core/pull/106 |
| Daniel Carroll-Leonard | Main Contributor | Tips and tricks guide | https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/140 |
| Daniel Carroll-Leonard | Reviewer | Resume Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/409 |
| Daniel Carroll-Leonard | Reviewer | Swap RPi Library from pigpio to WiringPi | https://github.com/thoth-tech/splashkit-core/pull/111 |
| Daniel Carroll-Leonard | Reviewer | Closest Point on Line From Circle - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/429 |
| Daniel Carroll-Leonard | Reviewer | Display X - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/356 |
| Daniel Carroll-Leonard | Reviewer | Line from (start with offset) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/364 |
| Daniel Carroll-Leonard | Reviewer | Using Animations Tutorial - Python Language Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/406 |
| Daniel Garcia Vargas | Main Contributor | C# Support - Add C# WebAssembly Translator and JavaScript Method Export Generator | https://github.com/thoth-tech/splashkit-translator/pull/24 |
| Daniel Garcia Vargas | Main Contributor | C# Support - Generate binding in the C# side | https://github.com/thoth-tech/SplashkitOnline/pull/117 |
| Daniel Garcia Vargas | Main Contributor | C# Support - Understand auto-generated api.json | https://github.com/thoth-tech/SplashkitOnline/pull/117 |
| Daniel Garcia Vargas | Main Contributor | C# Support - CSharpWasm support JS side | https://github.com/thoth-tech/SplashkitOnline/pull/120 |
| Daniel Garcia Vargas | Reviewer | Implement mobile support for editor | https://github.com/thoth-tech/SplashkitOnline/pull/121 |
| Deepak | Main Contributor | Fill circle on bitmap - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/477/files |
| Deepak | Main Contributor | Line from (using vector) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/476 |
| Deepak | Main Contributor | Draw quad on bitmap - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/494 |
| Deepak | Reviewer | Draw circle on window - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/402 |
| Deepak | Reviewer | Draw triangle - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/525 |
| Deepak | Reviewer | Fill circle on window - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/533 |
| Deepak | Reviewer | Fill circle on window - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/523/files |
| Deepak | Reviewer | Fill triangle on window - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/534 |
| Deepak | Reviewer | Free font - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/532 |
| Deepak | Reviewer | Fill triangle - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/453 |
| Dhruv Janghu | Main Contributor | Free all fonts - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/383 |
| Dhruv Janghu | Main Contributor | Line intersects lines - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/422 |
| Dhruv Janghu | Reviewer | Circle Intersect version 2 - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/450 |
| Dhruv Janghu | Reviewer | Circles Intersect - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/469 |
| Dhruv Janghu | Reviewer | Fill rectangle - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/394 |
| Dhruv Janghu | Reviewer | Stop Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/417 |
| Ethan Rin | Main Contributor | Text width - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/361 |
| Ethan Rin | Main Contributor | Update the API pages’ link | https://github.com/thoth-tech/splashkit.io-starlight/pull/378 |
| Ethan Rin | Main Contributor | Update the Usage Examples Documentation | https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/135 |
| Ethan Rin | Main Contributor | Gameshow Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/505 |
| Ethan Rin | Main Contributor | SplashKit Blogs Addition | https://github.com/thoth-tech/splashkit.io-starlight/pull/478 |
| Ethan Rin | Main Contributor | Text Height - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/360 |
| Ethan Rin | Main Contributor | Update Script to Add Usage Examples Function | https://github.com/thoth-tech/splashkit.io-starlight/pull/408 |
| Ethan Rin | Reviewer | Play Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/410 |
| Ethan Rin | Reviewer | Set interface border color - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/504 |
| Ethan Rin | Reviewer | Display Width - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/365 |
| Ethan Rin | Reviewer | Line Normal - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/455 |
| Ethan Rin | Reviewer | Circle At - Geometry - Usage Example | https://github.com/thoth-tech/splashkit.io-starlight/pull/423 |
| Ethan Rin | Reviewer | Circle Intersect version 1 - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/376 |
| Ethan Rin | Reviewer | Fill Ellipse on Window - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/377 |
| Josh Fernandes | Main Contributor | Fix up Cmake bug for RPi | https://github.com/splashkit/splashkit-core/pull/208 https://github.com/thoth-tech/splashkit-core/pull/104 |
| Josh Fernandes | Main Contributor | Swap RPi Library from pigpio to WiringPi | https://github.com/thoth-tech/splashkit-core/pull/111 |
| Josh Fernandes | Main Contributor | Circle Intersect version 1 - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/376 |
| Josh Fernandes | Reviewer | Unit testing guide | https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/139 |
| Josh Fernandes | Reviewer | Display Name - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/363 |
| Josh Fernandes | Reviewer | Add Catch2 helper scripts and CMake presets | https://github.com/thoth-tech/splashkit-core/pull/106 |
| Josh Fernandes | Reviewer | Bitmap Name - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/393 |
| Josh Fernandes | Reviewer | Display Details - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/362 |
| Josh Fernandes | Reviewer | Fill Ellipse on Window - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/377 |
| Josh Fernandes | Reviewer | Pop Clip - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/419 |
| Julian Burton | Main Contributor | Get font style (Overload) - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/499 |
| Julian Burton | Main Contributor | Set font style (Overload) - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/506 |
| Julian Burton | Main Contributor | Set font style - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/441 |
| Julian Burton | Main Contributor | Get font style name as string - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/392/files |
| Julian Burton | Reviewer | Text width - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/361 |
| Julian Burton | Reviewer | Button (no label) - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/468 |
| Julian Burton | Reviewer | Draw Pixel on window - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/379 |
| Julian Burton | Reviewer | Fade Music In Named - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/415 |
| Julian Burton | Reviewer | Fade Music Out - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/414 |
| Julian Burton | Reviewer | Load Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/413 |
| Julian Burton | Reviewer | Music Name - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/412 |
| Julian Burton | Reviewer | Option Scale Bmp - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/372 |
| Julian Burton | Reviewer | Pause Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/411 |
| Lam Quoc Huy Huynh | Main Contributor | Fill rectangle - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/394 |
| Lam Quoc Huy Huynh | Main Contributor | HSB - Color - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/510 |
| Lam Quoc Huy Huynh | Main Contributor | Hex To Ipv4 - Networking - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/509 |
| Lam Quoc Huy Huynh | Main Contributor | Json Count Keys- Json - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/512 |
| Lam Quoc Huy Huynh | Main Contributor | Json From Color- Json - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/511 |
| Lam Quoc Huy Huynh | Main Contributor | Json Read Number As Integer - Json - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/513 |
| Lam Quoc Huy Huynh | Main Contributor | Random Color - Color - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/514 |
| Lam Quoc Huy Huynh | Main Contributor | Draw line on window- Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/421 |
| Lam Quoc Huy Huynh | Main Contributor | Option Flip X - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/389 |
| Lam Quoc Huy Huynh | Main Contributor | Option Flip Y - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/390 |
| Lam Quoc Huy Huynh | Reviewer | Clear screen - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/374 |
| Lam Quoc Huy Huynh | Reviewer | Closest point on lines - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/425 |
| Lam Quoc Huy Huynh | Reviewer | Tangent Points - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/447 |
| Lam Quoc Huy Huynh | Reviewer | Widest points - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/446 |
| Lam Quoc Huy Huynh | Reviewer | Display Width - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/365 |
| Lam Quoc Huy Huynh | Reviewer | Draw quad - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/420 |
| Lam Quoc Huy Huynh | Reviewer | Draw rectangle - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/385 |
| Lam Quoc Huy Huynh | Reviewer | Line from (point to point) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/359 |
| Lam Quoc Huy Huynh | Reviewer | Option Rotate Bmp - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/368 |
| Lam Quoc Huy Huynh | Reviewer | Point in Quad - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/431#issue-2990452267 |
| Lam Quoc Huy Huynh | Reviewer | Display Y - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/357 |
| Muhammad Danial | Main Contributor | Draw circle on bitmap - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/521 |
| Muhammad Danial | Main Contributor | Draw circle record - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/491 |
| Muhammad Danial | Main Contributor | Using Animations Tutorial - Python Language Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/406 |
| Muhammad Danial | Reviewer | Fill circle on bitmap - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/477/files |
| Muhammad Danial | Reviewer | Load font - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/472 |
| Muhammad Danial | Reviewer | Set font style - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/441 |
| Muhammad Sufian Javid | Main Contributor | Distant point on Circle heading - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/470 |
| Muhammad Sufian Javid | Main Contributor | End Panel - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/501 |
| Muhammad Sufian Javid | Main Contributor | Label Element - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/502 |
| Muhammad Sufian Javid | Main Contributor | Move sprite by vector - Sprites - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/496 |
| Muhammad Sufian Javid | Main Contributor | Open Connection - Networking - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/500 |
| Muhammad Sufian Javid | Main Contributor | Ray circle intersect distance - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/486 |
| Oliver Alexander Quail | Main Contributor | Add print support to Splashkit documentation | https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/137 |
| Oliver Alexander Quail | Main Contributor | Restructure SplashKit Repo | |
| Oliver Alexander Quail | Main Contributor | Implement mobile support for editor | https://github.com/thoth-tech/SplashkitOnline/pull/121 |
| Oliver Alexander Quail | Main Contributor | Refactor CSS and HTML to support theming and later mobile support | https://github.com/thoth-tech/SplashkitOnline/pull/116 |
| Oliver Alexander Quail | Reviewer | C# Support - Add C# WebAssembly Translator and JavaScript Method Export Generator | https://github.com/thoth-tech/splashkit-translator/pull/24 |
| Oliver Alexander Quail | Reviewer | C# Support - Generate binding in the C# side | https://github.com/thoth-tech/SplashkitOnline/pull/117 |
| Oliver Alexander Quail | Reviewer | C# Support - Understand auto-generated api.json | https://github.com/thoth-tech/SplashkitOnline/pull/117 |
| Oliver Alexander Quail | Reviewer | Add method for DrawPixel to Window class (C#) | https://github.com/thoth-tech/splashkit-core/pull/105 https://github.com/thoth-tech/splashkit-core/pull/105#pullrequestreview-2838709777 |
| Oliver Alexander Quail | Reviewer | Add missing destructor methods (C#) | https://github.com/thoth-tech/splashkit-core/pull/109 https://github.com/thoth-tech/splashkit-core/pull/109#pullrequestreview-2838664924 |
| Oliver Alexander Quail | Reviewer | Add missing methods to Window class (C#) | https://github.com/thoth-tech/splashkit-core/pull/108 https://github.com/thoth-tech/splashkit-core/pull/108#pullrequestreview-2838688022 |
| Oliver Alexander Quail | Reviewer | Add support for custom themes | https://github.com/thoth-tech/SplashkitOnline/pull/118 |
| Oliver Alexander Quail | Reviewer | Remove Unnecessary GetPixel Overloads | https://github.com/thoth-tech/splashkit-core/pull/112 https://github.com/thoth-tech/splashkit-core/pull/112#pullrequestreview-2838590391 |
| Oliver Alexander Quail | Reviewer | Rework documentation | https://github.com/thoth-tech/SplashkitOnline/pull/122 |
| Oliver Alexander Quail | Reviewer | C# Support - CSharpWasm support JS side | https://github.com/thoth-tech/SplashkitOnline/pull/120 |
| Paavan Kalra | Main Contributor | Fill ellipse - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/518 |
| Paavan Kalra | Main Contributor | Fill quad - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/519 |
| Paavan Kalra | Main Contributor | Line intersects circle - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/424 |
| Paavan Kalra | Main Contributor | Circle At - Geometry - Usage Example | https://github.com/thoth-tech/splashkit.io-starlight/pull/423 |
| Paavan Kalra | Main Contributor | Point in Circle- Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/483 |
| Paavan Kalra | Reviewer | Hex To Ipv4 - Networking - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/509 |
| Paavan Kalra | Reviewer | Json Count Keys- Json - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/512 |
| Paavan Kalra | Reviewer | Json From Color- Json - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/511 |
| Paavan Kalra | Reviewer | Line from (using vector) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/476 |
| Paavan Kalra | Reviewer | Ray circle intersect distance - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/486 |
| Paavan Kalra | Reviewer | Set Clip - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/539 |
| Paavan Kalra | Reviewer | Line Intersection Point - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/464 |
| Paavan Kalra | Reviewer | Line Normal - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/455 |
| Paavan Kalra | Reviewer | Point in Quad - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/431#issue-2990452267 |
| Paavan Kalra | Reviewer | Lines Intersect Rect - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/434#issue-2998994645 |
| Prabhjot Singh | Main Contributor | Circle Triangle Intersect - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/452 |
| Prabhjot Singh | Main Contributor | Draw triangle - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/525 |
| Prabhjot Singh | Main Contributor | Fill circle on window - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/523/files |
| Prabhjot Singh | Main Contributor | Point Line Distance - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/542 |
| Prabhjot Singh | Main Contributor | Fill triangle - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/453 |
| Prabhjot Singh | Main Contributor | Has font name as string - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/436#issue-2999152195 |
| Prabhjot Singh | Main Contributor | Lines Intersect Rect - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/434#issue-2998994645 |
| Prabhjot Singh | Reviewer | Move sprite by vector - Sprites - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/496 |
| Prabhjot Singh | Reviewer | Draw quad - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/420 |
| Prabhjot Singh | Reviewer | Draw line on window- Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/421 |
| Prasanna Pradeep Kumara Silva Singhara | Main Contributor | Draw_circle_on_bitmap Usage example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/522/ |
| Prasanna Pradeep Kumara Silva Singhara | Main Contributor | Option Line Width - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/387 |
| Prasanna Pradeep Kumara Silva Singhara | Reviewer | HSB - Color - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/510 |
| Prasanna Pradeep Kumara Silva Singhara | Reviewer | Line intersects circle - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/424 |
| Prasanna Pradeep Kumara Silva Singhara | Reviewer | Line intersects lines - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/422 |
| Prasanna Pradeep Kumara Silva Singhara | Reviewer | Read message - Networking - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/538 |
| Prasanna Pradeep Kumara Silva Singhara | Reviewer | Review Raspberry Pi tutorials | https://github.com/thoth-tech/splashkit.io-starlight/pull/492 |
| Prasanna Pradeep Kumara Silva Singhara | Reviewer | Closest Point on Line From Circle - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/429 |
| Prasanna Pradeep Kumara Silva Singhara | Reviewer | Distant Point on Circle - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/430#issue-2990429376 |
| Prasanna Pradeep Kumara Silva Singhara | Reviewer | Option Flip Y - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/390 |
| Rachel Mei Alonzo Chu | Main Contributor | Adding identifier to mark function with usage example in API doc | https://github.com/thoth-tech/splashkit.io-starlight/pull/439 |
| Rachel Mei Alonzo Chu | Main Contributor | Clear screen - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/374 |
| Rachel Mei Alonzo Chu | Main Contributor | Fill Ellipse on Window - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/377 |
| Rachel Mei Alonzo Chu | Reviewer | Update the API pages’ link | https://github.com/thoth-tech/splashkit.io-starlight/pull/378 |
| Rachel Mei Alonzo Chu | Reviewer | Free all fonts - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/383 |
| Rachel Mei Alonzo Chu | Reviewer | Point on Line - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/471 |
| Rachel Mei Alonzo Chu | Reviewer | Display Height - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/366 |
| Rachel Mei Alonzo Chu | Reviewer | Line from (point to point) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/359 |
| Rachel Mei Alonzo Chu | Reviewer | Line from (start with offset) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/364 |
| Rachel Mei Alonzo Chu | Reviewer | Option Scale Bmp - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/372 |
| Rachel Mei Alonzo Chu | Reviewer | Current Clip - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/488 |
| Rachel Mei Alonzo Chu | Reviewer | Get font style name as string - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/392/files |
| Rachel Mei Alonzo Chu | Reviewer | Has font name as string - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/436#issue-2999152195 |
| Rachel Mei Alonzo Chu | Reviewer | Text Height - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/360 |
| Rachel Mei Alonzo Chu | Reviewer | Update Script to Add Usage Examples Function | https://github.com/thoth-tech/splashkit.io-starlight/pull/408 |
| Saksham | Main Contributor | Has font - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/535 |
| Saksham | Main Contributor | Header - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/497 |
| Saksham | Main Contributor | Load font - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/472 |
| Saksham | Main Contributor | Point on Line - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/471 |
| Saksham | Main Contributor | Read message - Networking - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/538 |
| Saksham | Main Contributor | Refresh screen - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/524 |
| Saksham | Reviewer | Color slider at position - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/544 |
| Saksham | Reviewer | Draw circle record - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/491 |
| Saksham | Reviewer | Draw line on bitmap - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/540 |
| Saksham | Reviewer | Fill rectangle on window - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/507 |
| Saksham | Reviewer | Fill triangle - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/453 |
| Sam Stajnko | Reviewer | Refactor CSS and HTML to support theming and later mobile support | https://github.com/thoth-tech/SplashkitOnline/pull/116 |
| Sam Stajnko | Main Contributor | Add method for DrawPixel to Window class (C#) | https://github.com/thoth-tech/splashkit-core/pull/105 https://github.com/thoth-tech/splashkit-core/pull/105#pullrequestreview-2838709777 |
| Sam Stajnko | Main Contributor | Add missing destructor methods (C#) | https://github.com/thoth-tech/splashkit-core/pull/109 https://github.com/thoth-tech/splashkit-core/pull/109#pullrequestreview-2838664924 |
| Sam Stajnko | Main Contributor | Add missing methods to Window class (C#) | https://github.com/thoth-tech/splashkit-core/pull/108 https://github.com/thoth-tech/splashkit-core/pull/108#pullrequestreview-2838688022 |
| Sam Stajnko | Main Contributor | Draw quad - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/420 |
| Sam Stajnko | Main Contributor | Option Rotate Bmp - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/368 |
| Sam Stajnko | Main Contributor | Remove Unnecessary GetPixel Overloads | https://github.com/thoth-tech/splashkit-core/pull/112 https://github.com/thoth-tech/splashkit-core/pull/112#pullrequestreview-2838590391 |
| Sam Stajnko | Reviewer | Display Name - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/363 |
| Sam Stajnko | Reviewer | Draw Pixel on window - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/379 |
| Sam Stajnko | Reviewer | Draw rectangle - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/385 |
| Sam Stajnko | Reviewer | Implement mobile support for editor | https://github.com/thoth-tech/SplashkitOnline/pull/121 |
| Sam Stajnko | Reviewer | Option Scale Bmp - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/372 |
| Sam Stajnko | Reviewer | Rework documentation | https://github.com/thoth-tech/SplashkitOnline/pull/122 |
| Sam Wong | Main Contributor | Circle Quad Intersect - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/445 |
| Sam Wong | Main Contributor | Lines From (with rectangle) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/444 |
| Sam Wong | Main Contributor | Bitmap Name - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/393 |
| Sam Wong | Reviewer | Font Named - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/545 |
| Sam Wong | Reviewer | Push Clip - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/397 |
| Sam Wong | Reviewer | Display Y - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/357 |
| Shen Tian | Main Contributor | Closest point on lines - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/425 |
| Shen Tian | Main Contributor | Fill circle on window - Graphics - Usage Example Update | |
| Shen Tian | Reviewer | Distant point on Circle heading - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/470 |
| Shen Tian | Reviewer | Lines From (with triangle) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/438 |
| Simon Rhook | Main Contributor | Play Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/410 |
| Simon Rhook | Main Contributor | Resume Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/409 |
| Simon Rhook | Main Contributor | Usage Example Styling Guide | https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/138 |
| Simon Rhook | Main Contributor | Update OOP Styling On Documentation Site | https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/141/commits/46bf8bd557f56c8e72c83d945cd9666c161825b8 |
| Simon Rhook | Main Contributor | Display Width - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/365 |
| Simon Rhook | Main Contributor | Fade Music In Named - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/415 |
| Simon Rhook | Main Contributor | Fade Music Out - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/414 |
| Simon Rhook | Main Contributor | Load Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/413 |
| Simon Rhook | Main Contributor | Display Details - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/362 |
| Simon Rhook | Main Contributor | Display Y - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/357 |
| Simon Rhook | Main Contributor | Draw line- Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/384 |
| Simon Rhook | Reviewer | Clear screen - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/374 |
| Simon Rhook | Reviewer | Text width - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/361 |
| Simon Rhook | Reviewer | Update the API pages’ link | https://github.com/thoth-tech/splashkit.io-starlight/pull/378 |
| Simon Rhook | Reviewer | Display Height - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/366 |
| Simon Rhook | Reviewer | Display Name - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/363 |
| Simon Rhook | Reviewer | Display X - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/356 |
| Simon Rhook | Reviewer | Draw rectangle - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/385 |
| Simon Rhook | Reviewer | Line from (start with offset) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/364 |
| Simon Rhook | Reviewer | Music Name - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/412 |
| Simon Rhook | Reviewer | Option Rotate Bmp - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/368 |
| Simon Rhook | Reviewer | Pause Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/411 |
| Simon Rhook | Reviewer | Set Music Volume - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/416 |
| Simon Rhook | Reviewer | Stop Music - Audio - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/417 |
| Simon Rhook | Reviewer | Get System Font - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/435#issue-2999025131 |
| Simon Rhook | Reviewer | Option Line Width - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/387 |
| Simon Rhook | Reviewer | Tips and tricks guide | https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/140 |
| Theiss Shar Nielsen | Main Contributor | Fill quad on bitmap - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/554 |
| Theiss Shar Nielsen | Main Contributor | Lines From (with triangle) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/438 |
| Theiss Shar Nielsen | Main Contributor | Add support for custom themes | https://github.com/thoth-tech/SplashkitOnline/pull/118 |
| Theiss Shar Nielsen | Main Contributor | Current Clip - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/488 |
| Theiss Shar Nielsen | Main Contributor | Pop Clip - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/419 |
| Theiss Shar Nielsen | Reviewer | Lines From (with rectangle) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/444 |
| Theiss Shar Nielsen | Reviewer | Display Details - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/362 |
| Theiss Shar Nielsen | Reviewer | Draw line- Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/384 |
| Theiss Shar Nielsen | Reviewer | Draw quad on bitmap - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/494 |
| Theiss Shar Nielsen | Reviewer | Lines Intersect Rect - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/434#issue-2998994645 |
| Theiss Shar Nielsen | Reviewer | Option Flip X - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/389 |
| Theiss Shar Nielsen | Reviewer | Option Flip Y - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/390 |
| Theiss Shar Nielsen | Reviewer | Option Line Width - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/387 |
| Theiss Shar Nielsen | Reviewer | Point in Circle- Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/483 |
| Triet Lam | Main Contributor | Set Clip - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/539 |
| Triet Lam | Main Contributor | Tangent Points - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/447 |
| Triet Lam | Main Contributor | Widest points - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/446 |
| Triet Lam | Reviewer | Closest point on lines - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/425 |
| Triet Lam | Reviewer | Label Element - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/502 |
| Triet Lam | Reviewer | Current Clip - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/488 |
| Triet Lam | Reviewer | Point in Circle- Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/483 |
| Tuan Trung Pham | Main Contributor | Button (no label) - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/468 |
| Tuan Trung Pham | Main Contributor | Circle Intersect version 2 - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/450 |
| Tuan Trung Pham | Main Contributor | Draw pixel - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/467/files |
| Tuan Trung Pham | Main Contributor | Fill rectangle on window - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/507 |
| Tuan Trung Pham | Main Contributor | Set Interface Font - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/503 |
| Tuan Trung Pham | Main Contributor | Set interface border color - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/504 |
| Tuan Trung Pham | Reviewer | Code coverage | https://github.com/thoth-tech/splashkit-core/pull/110 |
| Tuan Trung Pham | Reviewer | Fill ellipse - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/518 |
| Tuan Trung Pham | Reviewer | Fill quad - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/519 |
| Tuan Trung Pham | Reviewer | Unit testing guide | https://github.com/thoth-tech/ThothTech-Documentation-Website/pull/139 |
| Tuan Trung Pham | Reviewer | Circle Intersect version 1 - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/376 |
| Tuan Trung Pham | Reviewer | Distant Point on Circle - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/430#issue-2990429376 |
| Tuan Trung Pham | Reviewer | Get System Font - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/435#issue-2999025131 |
| Tuan Trung Pham | Reviewer | Pop Clip - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/419 |
| Vipin Kumar | Main Contributor | Circles Intersect - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/469 |
| Vipin Kumar | Main Contributor | Color slider at position - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/544 |
| Vipin Kumar | Main Contributor | Draw circle on window - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/402 |
| Vipin Kumar | Main Contributor | Draw line on bitmap - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/540 |
| Vipin Kumar | Main Contributor | Fill circle on window - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/533 |
| Vipin Kumar | Main Contributor | Fill triangle on window - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/534 |
| Vipin Kumar | Main Contributor | Free font - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/532 |
| Vipin Kumar | Main Contributor | Line from (coordinates) - Geometry - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/405 |
| Vipin Kumar | Reviewer | Draw circle on bitmap - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/521 |
| Vipin Kumar | Reviewer | Draw pixel - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/467/files |
| Vipin Kumar | Reviewer | Get font style (Overload) - Graphics - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/499 |
| Vipin Kumar | Reviewer | Has font - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/535 |
| Vipin Kumar | Reviewer | Header - Interface - Usage Example Creation | https://github.com/thoth-tech/splashkit.io-starlight/pull/497 |
| Vipin Kumar | Reviewer | Refresh screen - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/524 |
| Vipin Kumar | Reviewer | Has font name as string - Graphics - Usage Example Update | https://github.com/thoth-tech/splashkit.io-starlight/pull/436#issue-2999152195 |
Roadmap
SplashKit Expansion
- Comprehensive Testing and Debugging: Develop a thorough test suite for SplashKit libraries to ensure stability across the library.
- Unit Tests Revision: Refactor existing unit tests to ensure that each tests run independently, with a focus on addressing shared state issues.
- SplashKit Libraries addition to NuGet: Add the required SplashKit libraries to the existing NuGet package with a proper icon, description, and documentation of the packaging process.
- Rust Translation: Port the SplashKit framework to Rust, expanding its accessibility and allowing developers using Rust to take advantage of SplashKit’s features and capabilities.
- Fix Pascal Memory Leaks: Investigate and fix the issues with Pascal programs memory leaks after compilation with FPC.
- Functions Header Revision: Review the current header information to ensure accuracy for each functions.
SplashKit Website & Tutorials
- Expand Onboarding Hub: Continue building the onboarding hub to include information about learning paths, guides, and tutorial templates to allow for an easier transition.
- Further Usage Example Expansion: Create examples for every SplashKit function to improve accessibility for users.
- API Documentation Updates: Further refine the information in the API Documentation page to improve clarity and accuracy.
- Advanced Tutorials: Develop in-depth tutorials on AI and advanced game development topics.
- Tutorials Review and Refinement: A thorough review of each tutorials to ensure that they are up-to-date and align with our current standards.
- Data Analytics Integration: Integrate data analytics to track the most-viewed pages on the website, allowing for data-driven decisions.
- Netlify Build Process Improvement: Update the configuration of the site deployment so that each deploys are only built when needed, decreasing build minutes.
- Beyond SplashKit Project: Further develop resources showcasing users how to program without SplashKit.
SplashKit Online
- C# Support: Continue developing browser-based C# compilation and execution features.
- Autocomplete Improvement: Improve the functionality of the search autocomplete to support C++ languages result.
- Debugging Features: Investigate and implement debugging features regarding breakpoints and variable watch window.
- Further Features Refinements: Continue developing SplashKit Online features to improve user experience and functionality of the platform.
Arcade Machine
-
Consolidate Documentation:
- Centralise all documentation in a single location or repository to improve accessibility and ensure consistency across projects.
-
Add Additional Modes to the Arcade Machine Software:
- Kiosk Mode: Display only published games, making it ideal for showcasing at events or exhibitions.
- Normal Mode: Show both published and test games, catering to developers and testers.
-
Implement Voting System:
- Integrate a voting system to give greater significance to the star ranking currently available on the machines, enhancing user engagement and feedback mechanisms.
-
Correct C# Compatibility for ARM:
- Address the issue of .NET not running correctly in the emulated Raspberry Pi environment used for C++ games, ensuring seamless compatibility for C# games.
-
Implement Versioning for Compiled Games:
- Introduce versioning to manage updates effectively, reducing potential issues with game compatibility and ensuring a smooth update process.
-
Continue Development of Flipper Game Packaging Tool:
- Advance the development of the Flipper tool to streamline game packaging, deployment, and compatibility across platforms.
Open Issues
Onboarding Process and Information
Although the Onboarding documentation has been updated to streamline the process and provide clear guidance, there will still challenges during the onboarding phase. There will difficulties with setting up developement environments or understanding the workflow process. Through help hub sessions and mentorship, we were to somewhat address concerns but this issues suggest that while the documentation is a good foundation, it may benefit from further refinement. This could be adding step-by-step tutorials or a more structured onboarding checklist.
Task Review Process
While the requirement of each task to go through two peer reviews followed by a mentor review helps ensure quality and maintain high coding standards, it has also led to a significant bottleneck in the workflow. As the volume of tasks increase, the number of reviewers often falls short, causing many completed task to remain in a pending state for extended period. This delay can hinder overall progress and reduce team momentum. Without a more scalable review process or improved review scheduling, the current approach may continue to strain the efficiency of the team.
Lack of Communication between Groups
While regular stand-ups meetings with overlapping members from different sub-products exist, there is still a noticable lack of a collaborative efforts across teams. As a result, oppportunities for synergy between products are missed where shared challenged could arise across teams and allow for chances to reduce duplication in problem resolution. Moving forward, the company should consider creating more opportunities for collaboration with cross-functional discussions, shared planning sessions, or joint tasks could help bridge this gap and promote a stronger sense of team across the entire ecosystem.
Lessons Learned
The Importance of Collaboration
This trimester offered a clear reminder of how essential effective is to the success of a project. While individual contributions are important, greater progress happens when team works together, share ideas or knowledge, and support one another. Instances where collaboration sparked often led to faster problem-solving, innovative ideas, and higher-quality outcomes. Moving forward, creating a more connected and communicative team culture is key to reaching the true potential of the company.
Further Onboarding Refinements
Despite improvements to the onboarding documentation, this trimester revealed areas that still need to be addressed. Some members found the setup process confusing, ran into build issues, or lacked clarity on where to start. This highlights the need for more structured onboarding, potentially with interactive guides, videos, or more designated support for new members.
Balancing Contributions and Reviews
As the trimester progressed, it became clear that balancing the rate of new contributions with capacity of peer reviews is essential for maintaining the project’s momentum and efficiency. While students were increasingly productive in terms of pull requests, the review process often lagged behind, creating a backlog of tasks needing feedback. Building a stronger culture and emphasis around reviewing, dedicated review times, or review responsibilities assignment could lead to a better balance between contribtutions and reviews, allowing for a more efficient development cycle.
Product Development Life Cycle
New Task
In SplashKit, we place a strong emphasis on reponsiblity and accountablity; this means individuals are encouraged to ownership and self-assign tasks/cards to themselves. Members are free to assign themselves to any card unless noted otherwise. To ensure clarity and alignment with project’s goals, the process of creating a new task are listed below:
- Problem or Opportunity Idenfication: If you notice any areas of improvement or come across an idea for new features, discuss it with a mentor. This can be done via stand-ups/team meetings or direct one-on-one communication with the mentor.
- Approval: Upon discussion, the mentor will evaluate the relevance and feasibility of the task brough up and if approved, this card should be made in Planner to outline its scope and requirements.
- Assignment: After the card is created, you can assign yourself to it but you must ensure that the tasks’s objectives are fully understood before work begins.
- Collaboration (if necessary): For larger or complex tasks, it can be coordinated with other members to determine if the task needs collaboration to complete.
Definition of Done
A task is only considered fully done once it has been completed, submitted as a pull request, and reviewed by two other students who approve it (see below). Once a mentor reviews it, it may be considered fully complete or potentially moved back to “doing” if deemed unsatisfactory.
Task Review
Two mandatory peer reviews must be completed before the mentor reivew. Once a pull request is created:
- Contact a Reviewer: You can either reach out a teammate for review or forward your pull request to the team channel. Upon agreement, tag them under the Teams Planner card and GitHub pull request as the reviewer.
- Reviewer Responsibilities: Review the code by:
- Checking syntax, logic, and output.
- Pulling the changes onto your local machine to test functionality.
- Feedback Process: If the reviewer requests changes:
- Update the contribution based on the feedback.
- Notify the reviewer once changes are committed and pushed. This will automatically update the pull request, eliminating the need to create a new one.
- Completion of Peer Reviews: Once two peer reviews are completed and the contribution is deemed correct, the pull request can be moved to the “Mentor Review” column.
Watch this tutorial video by Satika Jayawardena for a step-by-step guide on creating and reviewing pull requests.
Once the pull request is in the “Mentor Review” column, a mentor will review the work. If satisfactory, it will be marked as complete and moved to the current sprint’s “Complete” column. If additional changes are needed, the task may be moved back to “Doing” for further refinement.
Testing
Testing strategies depend on the project – please see each project’s onboarding information for more details.
Branching Strategy
Refer to the Branch Prefixes and Commit Message Format sections of the Git Contributions Guide for guidelines on creating Git branches and commits for contributions.
Product Architecture
The SplashKit ecosystem is a comprehensive set of tools and platforms that streamline game development and support learning for both beginnners and experienced developers. The architecture consists of interconnected components, each with a specific purpose, working together to deliver a smooth and integrated experience:
SplashKit SDK (Core Foundation)
At the core of the SplashKit ecosystem is the SplashKit SDK, a powerful toolkit built with C++, SDL, and OpenGL. It provides essential game development featues such as graphics rendering, input handling, and audio support. Through automated translation into languages like C#, Python, and Pascal, the SDK broadens its accessibility across various programming communities.
- Integration: The SDK powers all games developed within the ecosystem, supports tools like SplashKit Online, and forms the basis of the games showcased on the SplashKit.io website.
SplashKit.io Website (User Portal)
The SplashKit website acts as the primary interface for developers with access to the API documentation, Installation Guides, and Tutorials. It was built using Astro Starlight, React, SolidJS, and TailwindCSS to ensure responsive user-friendly experience. Integration using Dockerised deployment with NodeJS ensures scalability and consistency.
- Interaction: The website saw integration with SplashKit Online, allowing for interactive examples and development tools. It also showcases functions’ examples along with games developed using SplashKit with a recently added feature where users can test out the game online.
SplashKit Online (Interactive Development)
SplashKit Online extends the capabilities of the SDK with a web-based IDE that allows for real-time coding and testing without the need for local installations. It’s powered by WebAssembly (WASM) and Emscripten, the platform currently supports coding with C++ and JavaScript.
- Role in Ecosystem: This component is an exciting and innovative tool that can used during onboarding new developers, especially for beginners, allowing them to experiment with SplashKit without any setup.
Arcade Machine (Hardware Integration)
Developed in collaboration with Deakin University, the arcade machines run on Raspberry Pi hardware, leveraging emulationstation and retropie. These machines allow developers to test and showcase their games in a real-world arcade environment, offering a tactile experience that bridges software and hardware.
- Interaction: Games created using the SplashKit SDK can be directly uploaded and tested on these machines, demonstrating the SDK’s versatility.
Source Code
- Github Account
- Arcade Machine
- SplashKit Expansion
- SplashKit Website
- SplashKit Online