diff --git a/src/app/features/body-detail/body-detail-scene.component.ts b/src/app/features/body-detail/body-detail-scene.component.ts index bf4bcb5..3ef681a 100644 --- a/src/app/features/body-detail/body-detail-scene.component.ts +++ b/src/app/features/body-detail/body-detail-scene.component.ts @@ -271,7 +271,6 @@ export class BodyDetailSceneComponent implements AfterViewInit, OnDestroy { scene.add(sunLight); const geometry = new THREE.SphereGeometry(1, 64, 48); - const viewModel = this.viewModel(); this.planetMaterial = new THREE.MeshStandardMaterial({ // White, always: the map that arrives a moment later carries the colour, whether it is a // photograph or a surface derived from the body's own measurements. diff --git a/src/app/features/galaxy-system/galaxy-system-scene.component.spec.ts b/src/app/features/galaxy-system/galaxy-system-scene.component.spec.ts index e470776..73fc83a 100644 --- a/src/app/features/galaxy-system/galaxy-system-scene.component.spec.ts +++ b/src/app/features/galaxy-system/galaxy-system-scene.component.spec.ts @@ -604,7 +604,7 @@ describe('GalaxySystemSceneComponent camera-flight transitions', () => { } it('links the stars being drawn, and asks again once a new set of them holds still', async () => { - const links = vi.fn((_rangePc: number, _drawn: Uint32Array) => Promise.resolve(new Float32Array(0))); + const links = vi.fn(() => Promise.resolve(new Float32Array(0))); const component = linkScene(links); await settle(); expect(links).toHaveBeenCalledTimes(1); @@ -625,7 +625,7 @@ describe('GalaxySystemSceneComponent camera-flight transitions', () => { }); it('asks for as much of the graph as a million pixels of line make, around where the view is centred', async () => { - const links = vi.fn((_rangePc: number, _drawn: Uint32Array, _budget?: LinkBudget) => Promise.resolve(new Float32Array(0))); + const links = vi.fn(() => Promise.resolve(new Float32Array(0))); Object.defineProperty((fixture.nativeElement as HTMLElement).querySelector('canvas')!, 'clientHeight', { value: 1080 }); // A screen scaled to 200%: 1080 CSS pixels are 2160 drawn ones, and the lines are drawn in those. engine.pixelRatio = 2; @@ -641,7 +641,7 @@ describe('GalaxySystemSceneComponent camera-flight transitions', () => { it('asks again once the view has zoomed past the budget it asked with, though the drawn stars are the same', async () => { // All three stars fit the star budget, so the drawn set never changes: only the budget can. - const links = vi.fn((_rangePc: number, _drawn: Uint32Array, _budget?: LinkBudget) => Promise.resolve(new Float32Array(0))); + const links = vi.fn(() => Promise.resolve(new Float32Array(0))); Object.defineProperty((fixture.nativeElement as HTMLElement).querySelector('canvas')!, 'clientHeight', { value: 1080 }); const component = linkScene(links); await advanceFrames(engine, 0.3); @@ -658,7 +658,7 @@ describe('GalaxySystemSceneComponent camera-flight transitions', () => { }); it('asks for no graph from inside a system, where distances are in astronomical units', async () => { - const links = vi.fn((_rangePc: number, _drawn: Uint32Array, _budget?: LinkBudget) => Promise.resolve(new Float32Array(0))); + const links = vi.fn(() => Promise.resolve(new Float32Array(0))); navigationStore.selectStar(SUN.id); await flushAsync(); await advanceFrames(engine, 2.5); @@ -695,7 +695,7 @@ describe('GalaxySystemSceneComponent camera-flight transitions', () => { }); it('gives a view on the move a new graph at least every quarter second, rather than waiting for it to stop', async () => { - const links = vi.fn((_rangePc: number, _drawn: Uint32Array) => Promise.resolve(new Float32Array(0))); + const links = vi.fn(() => Promise.resolve(new Float32Array(0))); const component = linkScene(links); await settle(); diff --git a/src/app/features/galaxy-system/galaxy-system-scene.component.ts b/src/app/features/galaxy-system/galaxy-system-scene.component.ts index 05bf8ad..1ecc13e 100644 --- a/src/app/features/galaxy-system/galaxy-system-scene.component.ts +++ b/src/app/features/galaxy-system/galaxy-system-scene.component.ts @@ -484,7 +484,7 @@ export class GalaxySystemSceneComponent implements AfterViewInit, OnDestroy { // Reads both signals, so flipping the layer on and dragging the range each land here. effect(() => { this.jumpRangePc(); - this.display().jumpLinks; + void this.display().jumpLinks; this.scheduleJumpLinks(); }); } @@ -1804,8 +1804,6 @@ export class GalaxySystemSceneComponent implements AfterViewInit, OnDestroy { } private swapToSystemSpace(star: StarRecord, direction: THREE.Vector3, onComplete: () => void): void { - const camera = this.engine.getCamera(); - this.systemRenderer?.dispose(); if (this.starMarker) { this.systemGroup.remove(this.starMarker); @@ -1912,7 +1910,6 @@ export class GalaxySystemSceneComponent implements AfterViewInit, OnDestroy { } private swapToGalaxySpace(exitingStarId: number, direction: THREE.Vector3, isSwitchingSystems: boolean, onComplete: () => void): void { - const camera = this.engine.getCamera(); const star = this.starsById.get(exitingStarId); const starPc = star ? new THREE.Vector3(star.x, star.y, star.z) : GALAXY_OVERVIEW_TARGET.clone(); diff --git a/src/app/features/galaxy-system/grid-plane.ts b/src/app/features/galaxy-system/grid-plane.ts index 687c758..7794783 100644 --- a/src/app/features/galaxy-system/grid-plane.ts +++ b/src/app/features/galaxy-system/grid-plane.ts @@ -1,6 +1,6 @@ import * as THREE from 'three/webgpu'; -import { GALACTIC_BASIS_EQUATORIAL, SUN_HEIGHT_ABOVE_MIDPLANE_PC } from '../../shared/astro/galaxy'; +import { GALACTIC_BASIS_EQUATORIAL } from '../../shared/astro/galaxy'; const SEGMENTS_PER_RING = 180; diff --git a/src/app/features/galaxy-system/milky-way-model.ts b/src/app/features/galaxy-system/milky-way-model.ts index c90a45f..cfde7be 100644 --- a/src/app/features/galaxy-system/milky-way-model.ts +++ b/src/app/features/galaxy-system/milky-way-model.ts @@ -87,9 +87,9 @@ export function createRandom(seed: number): () => number { /** Standard normal sample, by the polar form of Box-Muller. */ function gaussian(random: () => number): number { - let u = 0; - let v = 0; - let s = 0; + let u: number; + let v: number; + let s: number; do { u = random() * 2 - 1; v = random() * 2 - 1; diff --git a/src/app/features/galaxy-system/star-field-renderer.ts b/src/app/features/galaxy-system/star-field-renderer.ts index 4014bf6..b86f345 100644 --- a/src/app/features/galaxy-system/star-field-renderer.ts +++ b/src/app/features/galaxy-system/star-field-renderer.ts @@ -5,7 +5,7 @@ import { BrightnessIndex, brightnessIndex, Positioned } from '../../shared/astro import { spectralTypeToColorIndex } from '../../shared/astro/spectral'; import { SceneCamera } from '../../core/engine/engine.service'; import { StarRecord } from '../../shared/models/star.model'; -import { PIXELS_TO_ANGULAR_SIZE, REFERENCE_FOV_DEGREES, REFERENCE_VIEWPORT_HEIGHT_PX } from './angular-size'; +import { PIXELS_TO_ANGULAR_SIZE, REFERENCE_FOV_DEGREES } from './angular-size'; /** Apparent star diameters, in pixels at {@link REFERENCE_VIEWPORT_HEIGHT_PX}. */ const MIN_POINT_SIZE = 1.5; diff --git a/src/app/shared/state/bookmarks.store.ts b/src/app/shared/state/bookmarks.store.ts index 704e28d..8e64306 100644 --- a/src/app/shared/state/bookmarks.store.ts +++ b/src/app/shared/state/bookmarks.store.ts @@ -82,7 +82,7 @@ export class BookmarksStore { } private read(): Bookmark[] { - let raw: string | null = null; + let raw: string | null; try { raw = localStorage.getItem(STORAGE_KEY); } catch {