diff --git a/tests/tools/curation/dedupeByProximity.test.ts b/tests/tools/curation/dedupeByProximity.test.ts index d257a600a..6eebc4cce 100644 --- a/tests/tools/curation/dedupeByProximity.test.ts +++ b/tests/tools/curation/dedupeByProximity.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from 'vitest'; -import { dedupeByProximity, type ProximityPoint } from '../../../tools/curation/dedupeByProximity.js'; -import type { Vec3 } from '../../../src/@types/math/Vec3.js'; +import { dedupeByProximity, type ProximityPoint } from '../../../tools/curation/dedupeByProximity'; +import type { Vec3 } from '../../../src/@types/math/Vec3'; describe('dedupeByProximity', () => { it('drops a candidate inside a featured anchor radius', () => { diff --git a/tests/tools/curation/writeMetaSidecar.test.ts b/tests/tools/curation/writeMetaSidecar.test.ts index d489ab666..7b3657a88 100644 --- a/tests/tools/curation/writeMetaSidecar.test.ts +++ b/tests/tools/curation/writeMetaSidecar.test.ts @@ -4,7 +4,7 @@ import { tmpdir } from 'node:os'; import { join } from 'node:path'; import { randomBytes } from 'node:crypto'; -import { writeMetaSidecar, type MetaSidecarEntry } from '../../../tools/curation/writeMetaSidecar.js'; +import { writeMetaSidecar, type MetaSidecarEntry } from '../../../tools/curation/writeMetaSidecar'; function tmpPath(): string { return join(tmpdir(), `writeMetaSidecar-${randomBytes(6).toString('hex')}.json`); diff --git a/tests/tools/famous-curator/cropExtract.test.ts b/tests/tools/famous-curator/cropExtract.test.ts index 5c66840da..5ea452e45 100644 --- a/tests/tools/famous-curator/cropExtract.test.ts +++ b/tests/tools/famous-curator/cropExtract.test.ts @@ -8,7 +8,7 @@ */ import { describe, it, expect } from 'vitest'; import sharp from 'sharp'; -import { rotatedExtract } from '../../../tools/famous-curator/plugin/cropExtract.js'; +import { rotatedExtract } from '../../../tools/famous-curator/plugin/cropExtract'; import { mkdtempSync, writeFileSync } from 'node:fs'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; diff --git a/tests/tools/famous-curator/routes/process.deproject.test.ts b/tests/tools/famous-curator/routes/process.deproject.test.ts index 03565e9fe..159a4d865 100644 --- a/tests/tools/famous-curator/routes/process.deproject.test.ts +++ b/tests/tools/famous-curator/routes/process.deproject.test.ts @@ -17,7 +17,7 @@ import { mkdtempSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; import sharp from 'sharp'; -import { handleProcess } from '../../../../tools/famous-curator/plugin/routes/process.js'; +import { handleProcess } from '../../../../tools/famous-curator/plugin/routes/process'; import type { RecipeDisk } from '../../../../tools/famous-curator/plugin/recipe'; async function seedSession(prefix: string): Promise<{ tmpId: string; dir: string }> { diff --git a/tests/tools/famous-curator/routes/process.test.ts b/tests/tools/famous-curator/routes/process.test.ts index b15c79f7b..56832011b 100644 --- a/tests/tools/famous-curator/routes/process.test.ts +++ b/tests/tools/famous-curator/routes/process.test.ts @@ -11,7 +11,7 @@ import { existsSync, mkdirSync, mkdtempSync, writeFileSync, readFileSync } from import { tmpdir } from 'node:os'; import { join } from 'node:path'; import sharp from 'sharp'; -import { handleProcess } from '../../../../tools/famous-curator/plugin/routes/process.js'; +import { handleProcess } from '../../../../tools/famous-curator/plugin/routes/process'; async function seedSession(): Promise<{ tmpId: string; dir: string }> { // 128×128 PNG with a bright disc in the middle so alpha-pass output diff --git a/tools/catalog/buildAllBins.ts b/tools/catalog/buildAllBins.ts index 9564afba5..af310c494 100644 --- a/tools/catalog/buildAllBins.ts +++ b/tools/catalog/buildAllBins.ts @@ -34,39 +34,39 @@ import { createInterface } from 'node:readline'; import { fileURLToPath } from 'node:url'; import type { SourceType } from '../../src/@types/data/SourceType'; -import { parseSdssCsv } from '../parsers/sdssCsv.js'; -import { parseTwoMrs, parseXscShapeCsv } from '../parsers/twoMrs.js'; -import type { XscShapeMap } from '../parsers/twoMrs.js'; -import { parseGladeLine, parseGlade2masxPgcLine, parseHyperLedaCsv } from '../parsers/glade.js'; -import type { HyperLedaShapeMap } from '../parsers/glade.js'; -import { parseMilliquas } from '../parsers/milliquas.js'; -import type { MilliquasParseResult } from '../parsers/milliquas.js'; -import type { ParsedRecord } from '../parsers/common.js'; -import { crossMatch } from './crossMatch.js'; -import { dropFamousMatches } from './dropFamousMatches.js'; -import type { FamousSkyPosition } from './dropFamousMatches.js'; -import { parseFamousSeed } from '../parsers/famousSeed.js'; - -import { encodeGalaxyCatalog } from '../../src/data/galaxyCatalogFormat.js'; -import { raDecZToCartesian } from '../../src/utils/math/index.js'; -import { raDecDistToCartesian } from '../../src/utils/math/raDecDistToCartesian.js'; -import { fallbackOrientation } from '../../src/utils/random/fallbackOrientation.js'; -import { catalogDistanceFor } from './catalogDistanceFor.js'; -import { CUTOFF_MPC } from './localVolumeCutoff.js'; -import type { Cf4CatalogIndex } from '../parsers/cosmicflows4.js'; -import { loadCf4CatalogIndex } from '../parsers/cosmicflows4.js'; -import { DEFAULT_GALAXY_DIAMETER_KPC } from '../../src/utils/math/galaxyDiameterKpc.js'; -import { Source, SOURCE_REGISTRY } from '../../src/data/sources.js'; -import type { GalaxyCatalog } from '../../src/@types/data/GalaxyCatalog.js'; -import { tierTarget, tierFilenameForSource } from '../../src/data/tierTargets.js'; -import type { Tier } from '../../src/@types/data/Tier.js'; -import { subsampleByAbsMag } from './subsampleByAbsMag.js'; -import { rawDataPath } from '../utils/io/rawDataRegistry.js'; +import { parseSdssCsv } from '../parsers/sdssCsv'; +import { parseTwoMrs, parseXscShapeCsv } from '../parsers/twoMrs'; +import type { XscShapeMap } from '../parsers/twoMrs'; +import { parseGladeLine, parseGlade2masxPgcLine, parseHyperLedaCsv } from '../parsers/glade'; +import type { HyperLedaShapeMap } from '../parsers/glade'; +import { parseMilliquas } from '../parsers/milliquas'; +import type { MilliquasParseResult } from '../parsers/milliquas'; +import type { ParsedRecord } from '../parsers/common'; +import { crossMatch } from './crossMatch'; +import { dropFamousMatches } from './dropFamousMatches'; +import type { FamousSkyPosition } from './dropFamousMatches'; +import { parseFamousSeed } from '../parsers/famousSeed'; + +import { encodeGalaxyCatalog } from '../../src/data/galaxyCatalogFormat'; +import { raDecZToCartesian } from '../../src/utils/math/index'; +import { raDecDistToCartesian } from '../../src/utils/math/raDecDistToCartesian'; +import { fallbackOrientation } from '../../src/utils/random/fallbackOrientation'; +import { catalogDistanceFor } from './catalogDistanceFor'; +import { CUTOFF_MPC } from './localVolumeCutoff'; +import type { Cf4CatalogIndex } from '../parsers/cosmicflows4'; +import { loadCf4CatalogIndex } from '../parsers/cosmicflows4'; +import { DEFAULT_GALAXY_DIAMETER_KPC } from '../../src/utils/math/galaxyDiameterKpc'; +import { Source, SOURCE_REGISTRY } from '../../src/data/sources'; +import type { GalaxyCatalog } from '../../src/@types/data/GalaxyCatalog'; +import { tierTarget, tierFilenameForSource } from '../../src/data/tierTargets'; +import type { Tier } from '../../src/@types/data/Tier'; +import { subsampleByAbsMag } from './subsampleByAbsMag'; +import { rawDataPath } from '../utils/io/rawDataRegistry'; // Re-export so `tests/crossMatch.test.ts` and any other consumer can keep // using the documented `tools/buildAllBins` import path. -export { crossMatch } from './crossMatch.js'; -export type { CrossMatchInputs } from './crossMatch.js'; +export { crossMatch } from './crossMatch'; +export type { CrossMatchInputs } from './crossMatch'; // ─── GalaxyCatalog assembly + write ────────────────────────────────────────── diff --git a/tools/catalog/crossMatch.ts b/tools/catalog/crossMatch.ts index d458042f1..33414a969 100644 --- a/tools/catalog/crossMatch.ts +++ b/tools/catalog/crossMatch.ts @@ -26,7 +26,7 @@ * GLADE itself uses to pre-merge its constituent catalogues. */ -import type { ParsedRecord } from '../parsers/common.js'; +import type { ParsedRecord } from '../parsers/common'; /** * Position tolerance: 5 arcseconds expressed in degrees. diff --git a/tools/catalog/subsampleByAbsMag.ts b/tools/catalog/subsampleByAbsMag.ts index be32b4582..cf3fb7f54 100644 --- a/tools/catalog/subsampleByAbsMag.ts +++ b/tools/catalog/subsampleByAbsMag.ts @@ -38,9 +38,9 @@ * non-positive z are dropped regardless of target. */ -import { absoluteMagnitude } from '../../src/utils/math/absoluteMagnitude.js'; -import { redshiftToDistanceMpc } from '../../src/utils/math/redshiftToDistanceMpc.js'; -import type { ParsedRecord } from '../parsers/common.js'; +import { absoluteMagnitude } from '../../src/utils/math/absoluteMagnitude'; +import { redshiftToDistanceMpc } from '../../src/utils/math/redshiftToDistanceMpc'; +import type { ParsedRecord } from '../parsers/common'; export function subsampleByAbsMag(records: ParsedRecord[], target: number): ParsedRecord[] { const kept = subsampleIndicesByAbsMag(records, target); diff --git a/tools/clusters/buildClusters.ts b/tools/clusters/buildClusters.ts index 138b6ed80..72c73467f 100644 --- a/tools/clusters/buildClusters.ts +++ b/tools/clusters/buildClusters.ts @@ -37,19 +37,19 @@ import { readFileSync, writeFileSync } from 'node:fs'; import { resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; -import { parseMcxc, type McxcRow } from '../parsers/parseMcxc.js'; -import { parseMscc, type MsccRow } from '../parsers/parseMscc.js'; -import { parseClusterSeed, type ClusterSeedEntry } from '../parsers/parseClusterSeed.js'; -import { encodeClusterCatalog } from '../../src/data/clusterCatalogFormat.js'; -import { rawDataPath } from '../utils/io/rawDataRegistry.js'; -import { writeMetaSidecar } from '../curation/writeMetaSidecar.js'; -import { dedupeByProximity } from '../curation/dedupeByProximity.js'; -import { raDecDistToEqCart } from '../../src/utils/math/raDecDistToEqCart.js'; -import { redshiftToDistanceMpc } from '../../src/utils/math/redshiftToDistanceMpc.js'; -import { H0_KM_S_MPC } from '../../src/utils/math/constants.js'; -import type { ClusterCatalog } from '../../src/@types/data/ClusterCatalog.js'; -import type { ClusterCategoryByte } from '../../src/@types/data/ClusterCatalog.js'; -import type { Vec3 } from '../../src/@types/math/Vec3.js'; +import { parseMcxc, type McxcRow } from '../parsers/parseMcxc'; +import { parseMscc, type MsccRow } from '../parsers/parseMscc'; +import { parseClusterSeed, type ClusterSeedEntry } from '../parsers/parseClusterSeed'; +import { encodeClusterCatalog } from '../../src/data/clusterCatalogFormat'; +import { rawDataPath } from '../utils/io/rawDataRegistry'; +import { writeMetaSidecar } from '../curation/writeMetaSidecar'; +import { dedupeByProximity } from '../curation/dedupeByProximity'; +import { raDecDistToEqCart } from '../../src/utils/math/raDecDistToEqCart'; +import { redshiftToDistanceMpc } from '../../src/utils/math/redshiftToDistanceMpc'; +import { H0_KM_S_MPC } from '../../src/utils/math/constants'; +import type { ClusterCatalog } from '../../src/@types/data/ClusterCatalog'; +import type { ClusterCategoryByte } from '../../src/@types/data/ClusterCatalog'; +import type { Vec3 } from '../../src/@types/math/Vec3'; // ── Tunable threshold constants ─────────────────────────────────────────────── // diff --git a/tools/curation/dedupeByProximity.ts b/tools/curation/dedupeByProximity.ts index 8f77e4b8a..2e20e4c31 100644 --- a/tools/curation/dedupeByProximity.ts +++ b/tools/curation/dedupeByProximity.ts @@ -21,7 +21,7 @@ * pair. Pure function; preserves input order of surviving candidates. */ -import type { Vec3 } from '../../src/@types/math/Vec3.js'; +import type { Vec3 } from '../../src/@types/math/Vec3'; export type ProximityPoint = { worldPos: Vec3 }; diff --git a/tools/famous-curator/plugin/paths.ts b/tools/famous-curator/plugin/paths.ts index 31890d2c5..4ebefbc94 100644 --- a/tools/famous-curator/plugin/paths.ts +++ b/tools/famous-curator/plugin/paths.ts @@ -18,7 +18,7 @@ */ import { resolve } from 'node:path'; -import { RAW_DATA } from '../../utils/io/rawDataRegistry.js'; +import { RAW_DATA } from '../../utils/io/rawDataRegistry'; export function curatedDir(repoRoot: string): string { return resolve(repoRoot, 'public/images/famous-curated'); diff --git a/tools/famous-curator/plugin/routes/export.ts b/tools/famous-curator/plugin/routes/export.ts index 4eb68cc32..53388e58e 100644 --- a/tools/famous-curator/plugin/routes/export.ts +++ b/tools/famous-curator/plugin/routes/export.ts @@ -31,15 +31,15 @@ import sharp from 'sharp'; import { existsSync, mkdirSync, rmSync, renameSync, writeFileSync } from 'node:fs'; import { resolve } from 'node:path'; -import { curatedGalaxyDir, curatedTmpDir, overrideIndexPath } from '../paths.js'; -import { sessionPath } from '../tmpSession.js'; -import { serialiseRecipe, validateRecipeDisk, type Recipe, type RecipeDisk } from '../recipe.js'; -import { upsertOverrideEntry, type OverrideIndex } from '../overrideIndex.js'; -import { applyLuminanceAsAlpha } from '../../../utils/image/applyLuminanceAsAlpha.js'; -import { willDeproject } from '../../../famous/deprojectDisk.js'; -import { squareDeprojectCrop } from '../../../famous/squareDeprojectCrop.js'; -import { deriveFamousCalibration } from '../../../famous/deriveFamousCalibration.js'; -import { publishFamousRuntimeImages } from '../../../famous/publishFamousRuntimeImages.js'; +import { curatedGalaxyDir, curatedTmpDir, overrideIndexPath } from '../paths'; +import { sessionPath } from '../tmpSession'; +import { serialiseRecipe, validateRecipeDisk, type Recipe, type RecipeDisk } from '../recipe'; +import { upsertOverrideEntry, type OverrideIndex } from '../overrideIndex'; +import { applyLuminanceAsAlpha } from '../../../utils/image/applyLuminanceAsAlpha'; +import { willDeproject } from '../../../famous/deprojectDisk'; +import { squareDeprojectCrop } from '../../../famous/squareDeprojectCrop'; +import { deriveFamousCalibration } from '../../../famous/deriveFamousCalibration'; +import { publishFamousRuntimeImages } from '../../../famous/publishFamousRuntimeImages'; import type { FamousCalibration } from '../../../../src/@types/loading/FamousCalibration'; const FULL_PX = 1024; diff --git a/tools/famous-curator/plugin/routes/galaxies.ts b/tools/famous-curator/plugin/routes/galaxies.ts index 85c12210f..08c7dce44 100644 --- a/tools/famous-curator/plugin/routes/galaxies.ts +++ b/tools/famous-curator/plugin/routes/galaxies.ts @@ -8,11 +8,11 @@ */ import { readFileSync, existsSync } from 'node:fs'; import { resolve } from 'node:path'; -import { parseFamousSeed } from '../../../parsers/famousSeed.js'; -import { RAW_DATA } from '../../../utils/io/rawDataRegistry.js'; -import { loadOverrideIndex } from '../overrideIndex.js'; -import { overrideIndexPath, recipePath } from '../paths.js'; -import { parseRecipe } from '../recipe.js'; +import { parseFamousSeed } from '../../../parsers/famousSeed'; +import { RAW_DATA } from '../../../utils/io/rawDataRegistry'; +import { loadOverrideIndex } from '../overrideIndex'; +import { overrideIndexPath, recipePath } from '../paths'; +import { parseRecipe } from '../recipe'; export type GalaxyListEntry = { id: string; diff --git a/tools/famous-curator/plugin/routes/process.ts b/tools/famous-curator/plugin/routes/process.ts index cafef36b4..852f2e6b3 100644 --- a/tools/famous-curator/plugin/routes/process.ts +++ b/tools/famous-curator/plugin/routes/process.ts @@ -17,13 +17,13 @@ import sharp from 'sharp'; import { writeFileSync } from 'node:fs'; import { resolve } from 'node:path'; -import { sessionPath } from '../tmpSession.js'; -import { runStarnet, type StarnetConfig } from '../starnet.js'; -import { applyLuminanceAsAlpha } from '../../../utils/image/applyLuminanceAsAlpha.js'; -import { rotatedExtract } from '../cropExtract.js'; -import { deprojectDisk, willDeproject } from '../../../famous/deprojectDisk.js'; -import { squareDeprojectCrop } from '../../../famous/squareDeprojectCrop.js'; -import { validateRecipeDisk, type RecipeDisk } from '../recipe.js'; +import { sessionPath } from '../tmpSession'; +import { runStarnet, type StarnetConfig } from '../starnet'; +import { applyLuminanceAsAlpha } from '../../../utils/image/applyLuminanceAsAlpha'; +import { rotatedExtract } from '../cropExtract'; +import { deprojectDisk, willDeproject } from '../../../famous/deprojectDisk'; +import { squareDeprojectCrop } from '../../../famous/squareDeprojectCrop'; +import { validateRecipeDisk, type RecipeDisk } from '../recipe'; const PREVIEW_PX = 512; diff --git a/tools/famous-curator/plugin/routes/processAlphaOnly.ts b/tools/famous-curator/plugin/routes/processAlphaOnly.ts index 642adae22..9ee3c192e 100644 --- a/tools/famous-curator/plugin/routes/processAlphaOnly.ts +++ b/tools/famous-curator/plugin/routes/processAlphaOnly.ts @@ -12,8 +12,8 @@ import sharp from 'sharp'; import { existsSync, writeFileSync } from 'node:fs'; import { resolve } from 'node:path'; -import { sessionPath } from '../tmpSession.js'; -import { applyLuminanceAsAlpha } from '../../../utils/image/applyLuminanceAsAlpha.js'; +import { sessionPath } from '../tmpSession'; +import { applyLuminanceAsAlpha } from '../../../utils/image/applyLuminanceAsAlpha'; const PREVIEW_PX = 512; diff --git a/tools/famous-curator/plugin/routes/resolve.ts b/tools/famous-curator/plugin/routes/resolve.ts index 051fea72c..50414d1ba 100644 --- a/tools/famous-curator/plugin/routes/resolve.ts +++ b/tools/famous-curator/plugin/routes/resolve.ts @@ -22,7 +22,7 @@ * in; tests inject stubs. Only the `ResolvedMedia` shape is shared, * and it crosses as a type-only import — no value-level coupling. */ -import type { ResolvedMedia } from '../noirlabResolver.js'; +import type { ResolvedMedia } from '../noirlabResolver'; export type ResolverFn = (html: string, pageUrl: string) => ResolvedMedia | null; export type HtmlFetcher = (url: string) => Promise; diff --git a/tools/famous/buildFamous.ts b/tools/famous/buildFamous.ts index 34d8ed8d6..5fdd38015 100644 --- a/tools/famous/buildFamous.ts +++ b/tools/famous/buildFamous.ts @@ -23,19 +23,19 @@ import { existsSync, readFileSync, writeFileSync } from 'node:fs'; import { resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; -import { parseFamousSeed, type FamousEntry } from '../parsers/famousSeed.js'; -import { encodeGalaxyCatalog } from '../../src/data/galaxyCatalogFormat.js'; -import { Source } from '../../src/data/sources.js'; -import { fallbackOrientation } from '../../src/utils/random/fallbackOrientation.js'; -import type { GalaxyCatalog } from '../../src/@types/data/GalaxyCatalog.js'; -import type { FamousMetaEntry } from '../../src/@types/loading/FamousMetaEntry.js'; -import { rawDataPath } from '../utils/io/rawDataRegistry.js'; -import { parseRecipe, type Recipe } from '../famous-curator/plugin/recipe.js'; -import { curatedGalaxyDir } from '../famous-curator/plugin/paths.js'; -import { deriveFamousCalibration } from './deriveFamousCalibration.js'; -import { willDeproject } from './deprojectDisk.js'; -import { squareDeprojectCrop } from './squareDeprojectCrop.js'; -import { writeMetaSidecar } from '../curation/writeMetaSidecar.js'; +import { parseFamousSeed, type FamousEntry } from '../parsers/famousSeed'; +import { encodeGalaxyCatalog } from '../../src/data/galaxyCatalogFormat'; +import { Source } from '../../src/data/sources'; +import { fallbackOrientation } from '../../src/utils/random/fallbackOrientation'; +import type { GalaxyCatalog } from '../../src/@types/data/GalaxyCatalog'; +import type { FamousMetaEntry } from '../../src/@types/loading/FamousMetaEntry'; +import { rawDataPath } from '../utils/io/rawDataRegistry'; +import { parseRecipe, type Recipe } from '../famous-curator/plugin/recipe'; +import { curatedGalaxyDir } from '../famous-curator/plugin/paths'; +import { deriveFamousCalibration } from './deriveFamousCalibration'; +import { willDeproject } from './deprojectDisk'; +import { squareDeprojectCrop } from './squareDeprojectCrop'; +import { writeMetaSidecar } from '../curation/writeMetaSidecar'; /** * Convert a curated entry's (RA, Dec, distanceMpc) to Cartesian (x, y, z). diff --git a/tools/famous/copyHiResToPublic.ts b/tools/famous/copyHiResToPublic.ts index 13199d9f3..405ac1b99 100644 --- a/tools/famous/copyHiResToPublic.ts +++ b/tools/famous/copyHiResToPublic.ts @@ -66,7 +66,7 @@ import { existsSync, mkdirSync, readdirSync } from 'node:fs'; import { join, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; -import { copyIfChanged, CURATED_DIR, HIRES_RUNTIME_DIR } from './publishFamousRuntimeImages.js'; +import { copyIfChanged, CURATED_DIR, HIRES_RUNTIME_DIR } from './publishFamousRuntimeImages'; type CopyHiResOptions = { /** Source root. Defaults to the curated master dir relative to CWD. */ diff --git a/tools/famous/expandFamousFromCatalogs.ts b/tools/famous/expandFamousFromCatalogs.ts index acdfa8cde..38e203407 100644 --- a/tools/famous/expandFamousFromCatalogs.ts +++ b/tools/famous/expandFamousFromCatalogs.ts @@ -86,18 +86,18 @@ import { readFileSync, writeFileSync, existsSync, renameSync } from 'node:fs'; import { resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; -import { rawDataPath } from '../utils/io/rawDataRegistry.js'; +import { rawDataPath } from '../utils/io/rawDataRegistry'; -import { parseFamousSeed, validateFamousEntry, type FamousEntry } from '../parsers/famousSeed.js'; +import { parseFamousSeed, validateFamousEntry, type FamousEntry } from '../parsers/famousSeed'; import { parseHyperLedaMeandata, hyperLedaMeandataUrl, type HyperLedaMeandataRow, -} from '../parsers/hyperledaMeandata.js'; -import { parseWikipediaSummary, wikipediaSummaryUrl } from '../parsers/wikipediaSummary.js'; -import { loadJsonCache, saveJsonCache } from '../utils/io/jsonCache.js'; -import { parseFlags } from '../utils/cli/args.js'; -import { delay } from '../utils/async/delay.js'; +} from '../parsers/hyperledaMeandata'; +import { parseWikipediaSummary, wikipediaSummaryUrl } from '../parsers/wikipediaSummary'; +import { loadJsonCache, saveJsonCache } from '../utils/io/jsonCache'; +import { parseFlags } from '../utils/cli/args'; +import { delay } from '../utils/async/delay'; // ────────────────────────────────────────────────────────────────────── // Constants diff --git a/tools/famous/fetchFamousImages.ts b/tools/famous/fetchFamousImages.ts index 53a5d77be..61fc83af6 100644 --- a/tools/famous/fetchFamousImages.ts +++ b/tools/famous/fetchFamousImages.ts @@ -105,23 +105,23 @@ import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from 'node:fs'; import { resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; -import { loadCuratedOverrides, type CuratedOverrideIndex } from './famousCuratedOverrides.js'; -import { rawDataPath } from '../utils/io/rawDataRegistry.js'; +import { loadCuratedOverrides, type CuratedOverrideIndex } from './famousCuratedOverrides'; +import { rawDataPath } from '../utils/io/rawDataRegistry'; import sharp from 'sharp'; -import { parseFlags } from '../utils/cli/args.js'; -import { loadJsonCache, saveJsonCache } from '../utils/io/jsonCache.js'; -import { parseFamousSeed, type FamousEntry } from '../parsers/famousSeed.js'; +import { parseFlags } from '../utils/cli/args'; +import { loadJsonCache, saveJsonCache } from '../utils/io/jsonCache'; +import { parseFamousSeed, type FamousEntry } from '../parsers/famousSeed'; import { parseWikipediaSummary, wikipediaSummaryUrl, type WikipediaSummary, -} from '../parsers/wikipediaSummary.js'; +} from '../parsers/wikipediaSummary'; import { applyRadialFade, applyTransparency, sampleCornerColor, type RGBA, -} from './famousImageProcessor.js'; +} from './famousImageProcessor'; // ────────────────────────────────────────────────────────────────────── // Constants — Wikipedia path diff --git a/tools/fetch/fetchClusterCatalogs.ts b/tools/fetch/fetchClusterCatalogs.ts index 208fb9292..058b95052 100644 --- a/tools/fetch/fetchClusterCatalogs.ts +++ b/tools/fetch/fetchClusterCatalogs.ts @@ -16,8 +16,8 @@ import { readFileSync } from 'node:fs'; import { fileURLToPath } from 'node:url'; -import { downloadWithResume, sha256OfFile } from './fetchCosmicflows4.js'; -import { rawDataPath } from '../utils/io/rawDataRegistry.js'; +import { downloadWithResume, sha256OfFile } from './fetchCosmicflows4'; +import { rawDataPath } from '../utils/io/rawDataRegistry'; // ── CDS FTP URLs ──────────────────────────────────────────────────────────── diff --git a/tools/filaments/buildFilaments.ts b/tools/filaments/buildFilaments.ts index c86abeb11..b39864e5c 100644 --- a/tools/filaments/buildFilaments.ts +++ b/tools/filaments/buildFilaments.ts @@ -69,18 +69,18 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; import { resolve, dirname, basename, join } from 'node:path'; import { fileURLToPath } from 'node:url'; import type { SourceType } from '../../src/@types/data/SourceType'; -import { rawDataPath } from '../utils/io/rawDataRegistry.js'; +import { rawDataPath } from '../utils/io/rawDataRegistry'; -import { decodeGalaxyCatalog } from '../../src/data/galaxyCatalogFormat.js'; -import { parseNDskl, skeletonToFilamentCloud } from '../parsers/ndskl.js'; -import { encodeFilaments } from '../../src/data/filamentBinaryFormat.js'; -import type { GalaxyCatalog } from '../../src/@types/data/GalaxyCatalog.js'; -import { Source } from '../../src/data/sources.js'; -import { surveyFluxLimit } from '../../src/data/surveyFluxLimits.js'; -import { absoluteFromApparent, dMaxFromAbsolute } from '../../src/utils/math/distanceModulus.js'; -import { mulberry32 } from '../../src/utils/random/mulberry32.js'; -import { computeAngularWeights } from '../../src/services/engine/bake/computeAngularWeights.js'; -import { gaussian } from '../utils/random/gaussian.js'; +import { decodeGalaxyCatalog } from '../../src/data/galaxyCatalogFormat'; +import { parseNDskl, skeletonToFilamentCloud } from '../parsers/ndskl'; +import { encodeFilaments } from '../../src/data/filamentBinaryFormat'; +import type { GalaxyCatalog } from '../../src/@types/data/GalaxyCatalog'; +import { Source } from '../../src/data/sources'; +import { surveyFluxLimit } from '../../src/data/surveyFluxLimits'; +import { absoluteFromApparent, dMaxFromAbsolute } from '../../src/utils/math/distanceModulus'; +import { mulberry32 } from '../../src/utils/random/mulberry32'; +import { computeAngularWeights } from '../../src/services/engine/bake/computeAngularWeights'; +import { gaussian } from '../utils/random/gaussian'; /** * Default persistence cut in σ. Lower = more filaments accepted as diff --git a/tools/parsers/common.ts b/tools/parsers/common.ts index 0fceb708d..8038c7527 100644 --- a/tools/parsers/common.ts +++ b/tools/parsers/common.ts @@ -20,7 +20,7 @@ * not a distinct absent state requiring extra narrowing. */ -import { Source } from '../../src/data/sources.js'; +import { Source } from '../../src/data/sources'; import type { SourceType } from '../../src/@types/data/SourceType'; export type ParsedRecord = { diff --git a/tools/parsers/glade.ts b/tools/parsers/glade.ts index fe68e024a..932473c9f 100644 --- a/tools/parsers/glade.ts +++ b/tools/parsers/glade.ts @@ -93,14 +93,14 @@ * objID is always `0n` — see the cross-match note above. */ -import { Source } from '../../src/data/sources.js'; -import { type ParsedRecord } from './common.js'; +import { Source } from '../../src/data/sources'; +import { type ParsedRecord } from './common'; import { galaxyDiameterKpc, DEFAULT_GALAXY_DIAMETER_KPC, -} from '../../src/utils/math/galaxyDiameterKpc.js'; -import { absoluteMagnitude } from '../../src/utils/math/absoluteMagnitude.js'; -import { redshiftToDistanceMpc } from '../../src/utils/math/redshiftToDistanceMpc.js'; +} from '../../src/utils/math/galaxyDiameterKpc'; +import { absoluteMagnitude } from '../../src/utils/math/absoluteMagnitude'; +import { redshiftToDistanceMpc } from '../../src/utils/math/redshiftToDistanceMpc'; /** * Map from PGC string (no padding, no leading zeros stripped) to HyperLEDA's diff --git a/tools/parsers/milliquas.ts b/tools/parsers/milliquas.ts index b5a812a72..77e61bb71 100644 --- a/tools/parsers/milliquas.ts +++ b/tools/parsers/milliquas.ts @@ -31,12 +31,12 @@ * `MQ J` IAU name. */ -import { Source } from '../../src/data/sources.js'; +import { Source } from '../../src/data/sources'; import { MILLIQUAS_CLASS_BYTE, MILLIQUAS_PARENT_SURVEY_BYTE, -} from '../../src/data/sourceClass.js'; -import { nonCommentLines, type ParsedRecord } from './common.js'; +} from '../../src/data/sourceClass'; +import { nonCommentLines, type ParsedRecord } from './common'; // ─── Byte ranges (1-based inclusive, as published in the upstream ReadMe) ── diff --git a/tools/parsers/parseMcxc.ts b/tools/parsers/parseMcxc.ts index 140e7ddfe..96da225a8 100644 --- a/tools/parsers/parseMcxc.ts +++ b/tools/parsers/parseMcxc.ts @@ -30,7 +30,7 @@ * producing NaN. */ -import { nonCommentLines, slot } from './common.js'; +import { nonCommentLines, slot } from './common'; /** Minimum useful line length — R500 column ends at byte 204. */ const MIN_LINE_LEN = 204; diff --git a/tools/parsers/parseMscc.ts b/tools/parsers/parseMscc.ts index 618c113e2..62294362b 100644 --- a/tools/parsers/parseMscc.ts +++ b/tools/parsers/parseMscc.ts @@ -68,7 +68,7 @@ * faithful column reader; it does not interpret units. */ -import { nonCommentLines, slot } from './common.js'; +import { nonCommentLines, slot } from './common'; /** Minimum useful line length — all required fields end at byte 51. */ const MIN_LINE_LEN = 51; diff --git a/tools/parsers/sdssCsv.ts b/tools/parsers/sdssCsv.ts index 09e5159ad..8abff6eb8 100644 --- a/tools/parsers/sdssCsv.ts +++ b/tools/parsers/sdssCsv.ts @@ -32,10 +32,10 @@ * them inside the row loop. */ -import { Source } from '../../src/data/sources.js'; -import { arcsecToKpc } from '../../src/utils/math/arcsecToKpc.js'; -import { redshiftToDistanceMpc } from '../../src/utils/math/redshiftToDistanceMpc.js'; -import { nonCommentLines, type ParsedRecord } from './common.js'; +import { Source } from '../../src/data/sources'; +import { arcsecToKpc } from '../../src/utils/math/arcsecToKpc'; +import { redshiftToDistanceMpc } from '../../src/utils/math/redshiftToDistanceMpc'; +import { nonCommentLines, type ParsedRecord } from './common'; /** * Result of parsing an SDSS CSV: the validated records plus a count of diff --git a/tools/parsers/twoMrs.ts b/tools/parsers/twoMrs.ts index f3dee47a4..ddf0e677d 100644 --- a/tools/parsers/twoMrs.ts +++ b/tools/parsers/twoMrs.ts @@ -68,9 +68,9 @@ * definition; the merger uses 0n as the dedup-skip sentinel. */ -import { Source } from '../../src/data/sources.js'; -import { nonCommentLines, type ParsedRecord } from './common.js'; -import { arcsecToKpc } from '../../src/utils/math/arcsecToKpc.js'; +import { Source } from '../../src/data/sources'; +import { nonCommentLines, type ParsedRecord } from './common'; +import { arcsecToKpc } from '../../src/utils/math/arcsecToKpc'; /** * Speed of light in km/s, used to convert heliocentric velocity cz into