Add project documentation and repository structure
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# Hudra Architecture
|
||||
|
||||
## Overview
|
||||
|
||||
Hudra is a Manifest V3 browser extension that presents the existing DOM of an
|
||||
HTML lesson.
|
||||
|
||||
It does not convert the lesson into a proprietary format.
|
||||
|
||||
## Slide detection
|
||||
|
||||
The current presentation model uses HTML headings:
|
||||
|
||||
- H1 identifies the lesson title
|
||||
- H2 identifies the beginning of a new slide
|
||||
- content following an H2 belongs to that slide until the next H2
|
||||
|
||||
## Main components
|
||||
|
||||
### background.js
|
||||
|
||||
Handles extension-level behaviour and presentation launch logic.
|
||||
|
||||
### controls.html
|
||||
|
||||
Provides the presenter dashboard interface.
|
||||
|
||||
### controls.css
|
||||
|
||||
Styles the presenter controls.
|
||||
|
||||
### controls.js
|
||||
|
||||
Manages presenter navigation, controls and audience communication.
|
||||
|
||||
### presenter.js
|
||||
|
||||
Creates and manages the audience presentation experience.
|
||||
|
||||
### manifest.json
|
||||
|
||||
Defines the extension metadata, permissions and version.
|
||||
|
||||
## Design constraints
|
||||
|
||||
Hudra should avoid:
|
||||
|
||||
- cloning complex media unnecessarily
|
||||
- fragile LMS-specific DOM assumptions
|
||||
- large content-detection systems
|
||||
- destructive modification of the original lesson
|
||||
|
||||
New media features should be implemented and tested independently.
|
||||
Reference in New Issue
Block a user