types/learning.types.ts
types/learning.types.ts is a file in Bane's Lab Site. 93 lines of code and 16 definitions.
export interface LearningStop {
readonly id: string;
readonly label: string;
readonly path: string;
readonly requires: readonly string[];
}
export interface LearningBlock {
readonly code: string;
readonly label: string;
readonly owner: string;
readonly stops: readonly LearningStop[];
}
export interface LaidStop {
readonly cx: number;
readonly cy: number;
readonly height: number;
readonly id: string;
readonly path: string;
readonly requires: readonly string[];
readonly rows: readonly string[];
readonly width: number;
readonly x: number;
readonly y: number;
}
export interface LaidBlock {
readonly accent: string;
readonly code: string;
readonly cx: number;
readonly cy: number;
readonly height: number;
readonly icon: string;
readonly label: string;
readonly owner: string;
readonly stops: readonly LaidStop[];
readonly width: number;
readonly x: number;
readonly y: number;
}
export interface IconPath {
readonly d: string;
readonly evenOdd: boolean;
}
export interface LearningModel {
readonly blocks: readonly LaidBlock[];
readonly height: number;
readonly width: number;
}
export interface LearningPoint {
readonly x: number;
readonly y: number;
}
export interface PlacedStop extends LaidStop {
readonly block: LaidBlock;
readonly node: Element;
}
export interface LearningView {
readonly stops: readonly PlacedStop[];
readonly trace: Element;
readonly vector: Element;
}
export interface CameraFit {
readonly zoom: number;
readonly lift: number;
}
export interface Geometry {
readonly getPointAtLength: (at: number) => LearningPoint;
readonly getTotalLength: () => number;
}
export interface LearningSample {
readonly at: number;
readonly point: LearningPoint;
}
export interface Framed {
readonly box: Record<string, unknown>;
readonly geometry: Geometry;
readonly style: Record<string, unknown>;
}
export interface LearningMark {
readonly at: number;
lit: boolean;
readonly stop: PlacedStop;
}
export interface LearningSpan {
readonly fast: boolean;
readonly from: number;
readonly to: number;
}
export interface LearningGrid {
readonly blocked: Uint8Array;
readonly tall: number;
readonly taken: Uint8Array;
readonly wide: number;
}