InterUnit-UI on mobile (Android and iOS)

Implementation in Swift using UIKit (iPhone)

Approximate Implementation Notesclass EngagementManager : UIViewstruct SInterUnit (base functions and data needed by all InterUnits to interface with the EngagementManager)
protocol PInterUnit(additional functions required for all concrete InterUnits.
All concrete InterUnits are SInterUnits that implement PInterUnit)
1. Frame-buffer access
override UIView::draw(_:)
{
UIGraphicsGetCurrentContext()
UIGraphicsPushContext(_:)(draw the InterUnit stack in back to front order)
UIGraphicsPopContext()
}2. User-input response
UIPress(UIKit sends this general purpose descriptive object to the UIViewfor keyboard, mouse and touch events)
UIView::setNeedsDisplay(_:)
(request for a draw, full or partial)

Implementation in Dart using Flutter (Android)

TBD