diff --git a/js/quadrilateral/model/QuadrilateralShapeModel.ts b/js/quadrilateral/model/QuadrilateralShapeModel.ts index d8b89526..01923440 100644 --- a/js/quadrilateral/model/QuadrilateralShapeModel.ts +++ b/js/quadrilateral/model/QuadrilateralShapeModel.ts @@ -58,14 +58,14 @@ export default class QuadrilateralShapeModel { public readonly vertexB: QuadrilateralVertex; public readonly vertexC: QuadrilateralVertex; public readonly vertexD: QuadrilateralVertex; - public readonly vertices: QuadrilateralVertex[]; + public readonly vertices: readonly QuadrilateralVertex[]; // Sides of the quadrilateral. public readonly sideAB: QuadrilateralSide; public readonly sideBC: QuadrilateralSide; public readonly sideCD: QuadrilateralSide; public readonly sideDA: QuadrilateralSide; - public readonly sides: QuadrilateralSide[]; + public readonly sides: readonly QuadrilateralSide[]; // Available space for the Vertices to move. private readonly modelBounds: Bounds2; @@ -73,7 +73,7 @@ export default class QuadrilateralShapeModel { // Monitors angles of the shape to determine when pairs of opposite sides are parallel. public readonly sideABSideCDParallelSideChecker: ParallelSideChecker; public readonly sideBCSideDAParallelSideChecker: ParallelSideChecker; - public readonly parallelSideCheckers: ParallelSideChecker[]; + public readonly parallelSideCheckers: readonly ParallelSideChecker[]; // Whether the quadrilateral is a parallelogram. This Property is true when both ParallelSideCheckers report // parallel sides. diff --git a/js/quadrilateral/view/QuadrilateralDescriber.ts b/js/quadrilateral/view/QuadrilateralDescriber.ts index f549988a..259274cc 100644 --- a/js/quadrilateral/view/QuadrilateralDescriber.ts +++ b/js/quadrilateral/view/QuadrilateralDescriber.ts @@ -141,7 +141,7 @@ export default class QuadrilateralDescriber { public readonly sideBCDescriber: SideDescriber; public readonly sideCDDescriber: SideDescriber; public readonly sideDADescriber: SideDescriber; - private readonly sideDescribers: SideDescriber[]; + private readonly sideDescribers: readonly SideDescriber[]; public readonly vertexADescriber: VertexDescriber; public readonly vertexBDescriber: VertexDescriber; diff --git a/js/quadrilateral/view/QuadrilateralNode.ts b/js/quadrilateral/view/QuadrilateralNode.ts index ba57120f..d7c46955 100644 --- a/js/quadrilateral/view/QuadrilateralNode.ts +++ b/js/quadrilateral/view/QuadrilateralNode.ts @@ -51,8 +51,8 @@ export default class QuadrilateralNode extends Voicing( Node ) { private readonly scratchShapeModel: QuadrilateralShapeModel; private readonly modelViewTransform: ModelViewTransform2; - private readonly vertexNodes: QuadrilateralVertexNode[]; - private readonly sideNodes: QuadrilateralSideNode[]; + private readonly vertexNodes: readonly QuadrilateralVertexNode[]; + private readonly sideNodes: readonly QuadrilateralSideNode[]; private remainingTimeForShapeChangeFill: number; private activeFill: TPaint | null; diff --git a/js/quadrilateral/view/sound/TracksSoundView.ts b/js/quadrilateral/view/sound/TracksSoundView.ts index c8c5c988..7f5303c2 100644 --- a/js/quadrilateral/view/sound/TracksSoundView.ts +++ b/js/quadrilateral/view/sound/TracksSoundView.ts @@ -55,7 +55,7 @@ export default class TracksSoundView extends SoundGenerator { // Array of all SoundGenerators from the provided tracks. They will play and loop forever in the background. Depending // on input and state of the quadrilateral shape, their output level will change. - public readonly soundClips: SoundClip[]; + public readonly soundClips: readonly SoundClip[]; // A map that goes from the index of the sound file to play to its desired output leve. Subclasses will populate this. public readonly indexToOutputLevelMap = new Map();