update DD.md

This commit is contained in:
Chris Bell 2025-02-13 23:04:21 -06:00
parent 920ed06a5f
commit a65e61b6df

30
DD.md
View File

@ -1,20 +1,36 @@
# ADEPT Design Document
*Last modified Feb. 11th 2025 by Christopher Bell*
*Last modified Feb. 13th 2025 by Christopher Bell*
## What is ADEPT
ADEPT, or Advanced Documentation and Educational Platform Toolkit, is a suite of tools for creating and viewing educational lessons with a 2D or 3D context with advanced interactions.
# ADEPT (Advanced Documentation and Educational Platform Toolkit)
ADEPT is an IMI (Interactive Multimedia Instruction) platform for creating 2D and 3D based interactive learning.
## Definitions
## Structure
- Client: The part that end users interact with that loads lessons, etc
- CreationKit: Restricted feature inside the client that allows for creating lessons
- Core: Core functionality of the toolkit (Code, etc)
## Definitions:
- Lesson - A lesson holds assets, data, and "Pages" that comprise the whole of the content.
- Page - The main component of a "Lesson" which contains logic and interactions.
- Client - The client which is used to load a "Lesson".
- Lesson Creator - Used for creating "Lessons".
## Notes
- The creation toolkit will create a "LessonName.adept" (or similar) file that is a self contained archive (possibly encrypted to prevent tampering) that contains all data relating to a lesson such as all assets (pics, vids, 3d scenes, etc) and the lesson structure.
- Pages need "Views" or "Components" or something similar that are basically logic/UI/etc that define what kind of interactions a page can have (Think multiple choice questions for 2D and Interacting with 3D parts for 3D).
- Lessons will have some sort of logic tied to them that defines how to complete the page. This may be in the form of a custom state machine type thing that defines what interactions need to be completed.
- There also will just be visual UI components like labeling 3D, on screen text, buttons, etc
- The main goal for 3D is to utilize the power of GLTF files for entire 3D scenes and taking individual parts of the models within and creating some kind of "Parts List" controller so that interacting with 3D components is easier and models don't have to be manually broken apart.
## Development tools
- Godot 4.4 beta (.NET)
- C#
- Third Party:
- - CogwheelLib
## Roadmap
- [ ] Client Application
- [ ]
- [ ] Lesson Creation Toolkit
- [ ] Creation Toolkit
- [ ]
- [ ] Cloud Services