54 lines
1.1 KiB
Markdown
54 lines
1.1 KiB
Markdown
# 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.
|