SYMBOL INDEX (263 symbols across 42 files) FILE: scripts/gen-book-titles-sqlite.ts type Record (line 6) | interface Record { function connect (line 27) | function connect(dbName: string) { function load (line 46) | async function load(dbName: string, dataDir: string) { FILE: scripts/gen-prefixes.ts type JsonRecord (line 15) | interface JsonRecord { function go (line 31) | async function go() { FILE: scripts/rarity/src/main.rs constant CHANNEL_BATCH_SIZE (line 15) | const CHANNEL_BATCH_SIZE: usize = 10000; type OclcIdNumeric (line 18) | type OclcIdNumeric = u64; type Isbn (line 19) | type Isbn = String; type RawRecord (line 24) | enum RawRecord { type TitleRecord (line 39) | struct TitleRecord { type HoldingsRecord (line 56) | struct HoldingsRecord { type JsonRecord (line 63) | struct JsonRecord { type ParsedRecord (line 69) | enum ParsedRecord { function format_si_number (line 83) | fn format_si_number(num: u64) -> String { type ZstdStreamWithProgress (line 87) | struct ZstdStreamWithProgress { function new (line 96) | fn new(reader: R, total_size: u64) -> Self { function read (line 108) | fn read(&mut self, buf: &mut [u8]) -> io::Result { function process_batch (line 130) | fn process_batch(lines: Vec, record_count: u64) -> Vec Option { function parse_publication_date (line 192) | fn parse_publication_date(record: &TitleRecord) -> Option { function reader_thread (line 211) | fn reader_thread(reader: impl BufRead, sender: Sender>) -> i... function setup_database (line 233) | fn setup_database(conn: &Connection) -> rusqlite::Result<()> { function main (line 265) | fn main() -> io::Result<()> { function store_to_db (line 334) | fn store_to_db( function get_memory_usage (line 370) | fn get_memory_usage() -> u64 { FILE: scripts/write-images/ImageTiler.ts class StatsAggregator (line 15) | class StatsAggregator { method addStatistic (line 18) | addStatistic(isbn: IsbnRelative, obj: Record) { class ImageTiler (line 37) | class ImageTiler { method constructor (line 48) | constructor( method logProgress (line 67) | logProgress(progress: number) { method init (line 72) | async init() { method #getImage (line 76) | #getImage(relativeIsbn: number): ImageTile { method colorIsbn (line 99) | colorIsbn( method #writeAndPurgeImage (line 152) | async #writeAndPurgeImage(prefix: number) { method writeImage (line 157) | async writeImage(prefix: number) { method writeAll (line 184) | async writeAll() { method purgeToLength (line 187) | async purgeToLength(len: number) { method finish (line 195) | async finish() { FILE: scripts/write-images/index.ts type IsbnData (line 6) | type IsbnData = Partial>; type ImageTile (line 12) | interface ImageTile { type ProcessSingleZoom (line 20) | type ProcessSingleZoom = (tiler: ImageTiler) => Promise; function processAllZoomLevels (line 21) | async function processAllZoomLevels( function loadData (line 54) | async function loadData( function main (line 70) | async function main() { FILE: scripts/write-images/modules/aggregate-dense.ts function colorImageWithDenseIsbns (line 6) | async function colorImageWithDenseIsbns( function aggregateDatasets (line 24) | function aggregateDatasets( function aggregateDense (line 55) | async function aggregateDense( FILE: scripts/write-images/modules/publication_date.ts function loadPublicationDateData (line 12) | function loadPublicationDateData( function rarityModule (line 60) | function rarityModule( function processPublicationData (line 69) | async function processPublicationData( function postprocessPixels (line 90) | function postprocessPixels(image: ImageTile, totalBooksPerPixel: number) { FILE: scripts/write-images/modules/publishers.ts function processPublishersData (line 14) | async function processPublishersData( function loadPublishersData (line 76) | async function loadPublishersData() { function publishersModule (line 89) | async function publishersModule(): Promise { FILE: scripts/write-images/modules/rarity.ts function loadRarityData (line 12) | function loadRarityData(dbName: string, stats: StatsAggregator) { function rarityModule (line 79) | function rarityModule( function processRarityData (line 88) | async function processRarityData( function postprocessPixels (line 113) | function postprocessPixels(image: ImageTile) { FILE: scripts/write-images/modules/single-sparse.ts constant INPUT_FILENAME (line 7) | const INPUT_FILENAME = function colorImageWithSparseIsbns (line 11) | async function colorImageWithSparseIsbns( function loadSparseDataToMemory (line 38) | async function loadSparseDataToMemory(): Promise { function singleSparse (line 65) | async function singleSparse( FILE: scripts/write-titles.ts function loadPublicationDateData (line 12) | function loadPublicationDateData(dbName: string) { FILE: src/components/Controls.tsx method fulfilled (line 36) | fulfilled(stats) { type MinimalGoogleBooksItem (line 155) | interface MinimalGoogleBooksItem { FILE: src/components/EanBarcode.tsx function EanBarcode (line 1) | function EanBarcode(props: { ean: string }) { FILE: src/components/Highlight.tsx function GroupInfo (line 251) | function GroupInfo({ FILE: src/components/ImageTree.tsx method _material (line 98) | get _material() { method material (line 101) | get material() { FILE: src/components/IsbnGrid.tsx method position (line 81) | get position() { FILE: src/components/IsbnMap.tsx function cancelHighlightListener (line 30) | function cancelHighlightListener() { function cancelZoom (line 34) | function cancelZoom() { FILE: src/components/MiniMap.tsx constant DEFAULT_BLOCKS (line 15) | const DEFAULT_BLOCKS = [ type Overlay (line 46) | interface Overlay { type BlockConfig (line 53) | interface BlockConfig { type MinimapSVGProps (line 59) | interface MinimapSVGProps { constant SQRT10 (line 65) | const SQRT10 = Math.sqrt(10); constant WIDTH (line 66) | const WIDTH = 100; constant HEIGHT (line 67) | const HEIGHT = WIDTH * (2 / SQRT10); constant ROW_HEIGHT (line 68) | const ROW_HEIGHT = HEIGHT / 2; constant CELL_WIDTH (line 69) | const CELL_WIDTH = WIDTH / 10; constant XX_HEIGHT (line 70) | const XX_HEIGHT = ROW_HEIGHT / 10; method overlay (line 82) | get overlay() { method setOverlay (line 93) | setOverlay(o: Overlay) { method getLocalCoordinates (line 100) | getLocalCoordinates(event: React.MouseEvent | MouseEvent): { method handleMouseDown (line 120) | handleMouseDown(event: React.MouseEvent) { method handleMouseMove (line 134) | handleMouseMove(event: MouseEvent) { method handleMouseUp (line 154) | handleMouseUp() { function setHovered (line 319) | function setHovered(pos: IsbnPrefixRelative | null) { FILE: src/components/SingleBookCover.tsx function dot (line 9) | function dot(v1: [number, number], v2: [number, number]) { function fract (line 15) | function fract(x: number) { function rande (line 21) | function rande(co: [number, number]) { function bookHeight (line 25) | function bookHeight(bookIndex: [number, number]) { FILE: src/components/StatsShow.tsx method edge (line 30) | get edge() { method stats (line 46) | get stats() { function StatsSummary (line 154) | function StatsSummary(props: { FILE: src/components/TextTree.tsx function ChildBooks (line 154) | function ChildBooks(props: { function ChildGroupNames (line 179) | function ChildGroupNames(props: { FILE: src/config.ts type DatasetOption (line 5) | interface DatasetOption { type ColorSchemeMeaning (line 12) | interface ColorSchemeMeaning { FILE: src/index.tsx function testCompat (line 17) | function testCompat() { FILE: src/lib/DetailLevelObservable.ts class DetailLevelObservable (line 15) | class DetailLevelObservable { method constructor (line 21) | constructor( method viewVisible (line 47) | get viewVisible() { method container (line 53) | get container() { method textOpacity (line 59) | get textOpacity() { method textChildren (line 89) | get textChildren() { method #imageRelativeLevel (line 99) | #imageRelativeLevel(relativeLevel: number) { method image (line 113) | get image() { method imageChildren (line 116) | get imageChildren() { type DetailLevel (line 120) | interface DetailLevel { function getScale (line 125) | function getScale( FILE: src/lib/ImageLoader.ts class ImageLoader (line 12) | class ImageLoader { method constructor (line 21) | constructor( method loadExisting (line 36) | private async loadExisting() { method loadHasChildren (line 45) | private async loadHasChildren() { method getHasChildren (line 55) | async getHasChildren(prefix: IsbnPrefixRelative): Promise { method getTexture (line 59) | async getTexture(prefix: IsbnPrefixRelative): Promise { FILE: src/lib/RuntimeConfiguration.ts type RuntimeConfiguration (line 4) | interface RuntimeConfiguration { function isMobile (line 62) | function isMobile() { function defaultRuntimeConfig (line 66) | function defaultRuntimeConfig(dataset: string): RuntimeConfiguration { function loadRuntimeConfigFromURL (line 111) | function loadRuntimeConfigFromURL(): RuntimeConfiguration { function saveRuntimeConfigToURL (line 134) | function saveRuntimeConfigToURL(_config: RuntimeConfiguration) { function debounce (line 153) | function debounce( FILE: src/lib/Store.ts type RarityInfo (line 37) | interface RarityInfo { class Store (line 42) | class Store { method constructor (line 88) | constructor(projectionConfig: ProjectionConfig) { method floatZoomFactor (line 113) | get floatZoomFactor() { method addExternalSearchEngines (line 116) | addExternalSearchEngines(params: URLSearchParams) { method imageLoader (line 132) | imageLoader(dataset: string) { method getBookDetail (line 140) | async getBookDetail(isbn: IsbnStrWithChecksum) { method googleBooksQueryIsbn (line 149) | async googleBooksQueryIsbn(isbn: IsbnStrWithChecksum) { method updateHighlight (line 160) | updateHighlight(x: number, y: number, isHover: boolean) { method updateHighlightedPublisher (line 171) | updateHighlightedPublisher(relativeIsbn: IsbnRelative) { method updateHighlightedStats (line 203) | updateHighlightedStats(x: number, y: number, mode: "start" | "end") { method trackAsyncProgress (line 214) | trackAsyncProgress(_id: string, p: Promise) { method updateHighlightedIsbn (line 231) | updateHighlightedIsbn( method debounceFetchGroupData (line 296) | debounceFetchGroupData(newFunction: () => Promise) { method updateView (line 304) | updateView(e?: OrbitControlsChangeEvent) { method zoomAnimateToHighlight (line 324) | zoomAnimateToHighlight() { method setView (line 333) | setView(targetX: number, targetY: number, zoom?: number) { method zoomAnimateTo (line 346) | zoomAnimateTo( method getRarityOfIsbn (line 394) | async getRarityOfIsbn(isbn: IsbnRelative): Promise { method currentDataset (line 433) | get currentDataset() { method switchDataset (line 441) | switchDataset(dataset: string, resetSettings: boolean) { FILE: src/lib/TitleFetcher.ts type TitleFetchedInfo (line 10) | interface TitleFetchedInfo { class TitleFetcher (line 16) | class TitleFetcher { method constructor (line 21) | constructor(private store: Store) {} method fetchTitle (line 22) | async fetchTitle( FILE: src/lib/delayRender.ts function clearT (line 5) | function clearT() { function useDelay (line 15) | function useDelay() { FILE: src/lib/flight.ts class Point2D (line 3) | class Point2D { method constructor (line 4) | constructor( method plus (line 8) | plus(p: Point2D) { method minus (line 11) | minus(p: Point2D) { method mul (line 14) | mul(s: number) { method div (line 17) | div(s: number) { method length (line 20) | length() { method toString (line 23) | toString() { class Point3D (line 28) | class Point3D implements Vector3Like { method constructor (line 29) | constructor( method plus (line 35) | plus(p: Point3D) { method minus (line 38) | minus(p: Point3D) { method mul (line 41) | mul(s: number) { method div (line 44) | div(s: number) { method neg (line 47) | neg() { method length (line 50) | length() { method distance (line 53) | distance(p: Point3D) { method normalize (line 58) | normalize() { method toString (line 62) | toString() { type Trajectory (line 68) | interface Trajectory extends Object { function getTrajectoryReal2 (line 73) | function getTrajectoryReal2( function getTrajectoryReal (line 149) | function getTrajectoryReal(before: Point3D, after: Point3D) { function getTrajectoryPoints (line 170) | function getTrajectoryPoints( function calculateTrajectory (line 188) | function calculateTrajectory(x1: number, y1: number, x2: number, y2: num... class TimeInterpolatingTrajectory (line 205) | class TimeInterpolatingTrajectory implements Trajectory { method constructor (line 212) | constructor(inner: Trajectory) { method position (line 301) | position(t: number): Point3D { class DirectBlubSpaceTrajectory (line 327) | class DirectBlubSpaceTrajectory implements Trajectory { method constructor (line 328) | constructor( method position (line 337) | position(t: number): Point3D { method reverse (line 352) | reverse(): Trajectory & { origin: Point3D } { class RealSpaceTrajectory (line 369) | class RealSpaceTrajectory implements Trajectory { method constructor (line 371) | constructor( method position (line 379) | position(t: number): Point3D { class CompositeTrajectory (line 391) | class CompositeTrajectory implements Trajectory { method constructor (line 392) | constructor(private trajectories: Trajectory[]) { method position (line 410) | position(t: number): Point3D { function plotSmartTrajectory (line 428) | function plotSmartTrajectory( function plotSmartTrajectoryInner (line 437) | function plotSmartTrajectoryInner( function lineIntersectsCircle (line 543) | function lineIntersectsCircle( function makeFullZoomOutTrajectory (line 576) | function makeFullZoomOutTrajectory( function circleTangentPointFrom0Origin (line 609) | function circleTangentPointFrom0Origin(p: Point2D, radius: number): Poin... function zoomToBlubRadius (line 619) | function zoomToBlubRadius(zoom: number): number { function blubRadiusToZoom (line 623) | function blubRadiusToZoom(radius: number): number { function toBlubSpace (line 627) | function toBlubSpace(dist: number, zoom: number, segmentSize: number): P... function fromBlubSpace (line 633) | function fromBlubSpace( FILE: src/lib/google-books.ts type GoogleBooksResponse (line 3) | interface GoogleBooksResponse { type GoogleBooksItem (line 7) | interface GoogleBooksItem { function googleBooksQuery (line 79) | async function googleBooksQuery(query: string) { function googleBooksQueryIsbn (line 87) | async function googleBooksQueryIsbn( FILE: src/lib/info-map.ts type Digit (line 3) | type Digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"; constant DIGITS (line 4) | const DIGITS: Digit[] = [ type PrefixInfoData (line 16) | type PrefixInfoData = type PrefixInfo (line 33) | interface PrefixInfo { type InfoMap (line 38) | type InfoMap = Partial>; type NeedLazyLoad (line 40) | interface NeedLazyLoad { type LazyPrefixInfo (line 43) | interface LazyPrefixInfo { type LazyInfoMap (line 48) | type LazyInfoMap = NeedLazyLoad | Partial>; function addRecord (line 50) | function addRecord( FILE: src/lib/json-fetch.ts function fetchJson (line 1) | async function fetchJson(fname: string) { FILE: src/lib/prefix-data.ts function resolveOnePrefixLevel (line 31) | async function resolveOnePrefixLevel( function addIsbnGroups (line 48) | function addIsbnGroups( type LazyPrefixInfoWithParents (line 105) | interface LazyPrefixInfoWithParents { function getGroupHierarchy (line 109) | function getGroupHierarchy( function getGroup (line 141) | function getGroup( FILE: src/lib/shader-error.ts function handleSource (line 2) | function handleSource(string: string, errorLine: number) { function getShaderErrors (line 17) | function getShaderErrors( FILE: src/lib/shaders.ts type UniformNames (line 25) | type UniformNames = keyof typeof uniforms; type TypedUniforms (line 256) | type TypedUniforms = Record< class ShaderUtil (line 260) | class ShaderUtil { method constructor (line 261) | constructor(private store: Store) { method shaderColorFn (line 273) | get shaderColorFn() { method shaderProgram (line 336) | get shaderProgram() { method getIsbnShaderMaterial (line 366) | async getIsbnShaderMaterial( FILE: src/lib/stats.ts type StatsMap (line 5) | type StatsMap = Partial>; type BlockStats (line 6) | type BlockStats = Partial>; class StatsCalculator (line 7) | class StatsCalculator { method constructor (line 9) | constructor(private store: Store) {} method #getRanges (line 10) | #getRanges( method #fetchStats (line 42) | async #fetchStats(): Promise { method getStats (line 50) | async getStats( function mergeStats (line 65) | function mergeStats(target: BlockStats, source: BlockStats) { FILE: src/lib/types-select.d.ts type Props (line 8) | interface Props< FILE: src/lib/util.ts type Nominal (line 7) | type Nominal = Type & { type IsbnPrefixWithDashes (line 11) | type IsbnPrefixWithDashes = Nominal; type IsbnPrefixWithoutDashes (line 13) | type IsbnPrefixWithoutDashes = Nominal< type IsbnRelative (line 19) | type IsbnRelative = Nominal; type Isbn13Number (line 20) | type Isbn13Number = Nominal; type IsbnStrWithChecksum (line 21) | type IsbnStrWithChecksum = Nominal; type IsbnPrefixRelative (line 23) | type IsbnPrefixRelative = Nominal; function removeDashes (line 24) | function removeDashes( function isbnPrefixAppend (line 30) | function isbnPrefixAppend( function isbnPrefixToRelative (line 36) | function isbnPrefixToRelative( function isbnPrefixFromRelative (line 41) | function isbnPrefixFromRelative( function isbnToRelative (line 48) | function isbnToRelative(isbn: Isbn13Number): IsbnRelative { function relativeToIsbnPrefix (line 51) | function relativeToIsbnPrefix( function relativeToFullIsbn (line 56) | function relativeToFullIsbn( function fullIsbnToRelative (line 62) | function fullIsbnToRelative(isbn: IsbnStrWithChecksum): IsbnRelative { type ProjectionConfig (line 67) | interface ProjectionConfig { function firstIsbnInPrefix (line 85) | function firstIsbnInPrefix( function lastIsbnInPrefix (line 91) | function lastIsbnInPrefix( function libIsbnToNumber (line 97) | function libIsbnToNumber(isbn: ISBN): Isbn13Number { constant IMG_WIDTH (line 103) | const IMG_WIDTH = 2000; function hsl2rgb (line 106) | function hsl2rgb( function siNumber (line 116) | function siNumber(n: number) { function splitNameJson (line 128) | function splitNameJson(prefixStr: string, dirSegmentLength: number) { FILE: src/lib/view-utils.ts type ViewParams (line 3) | interface ViewParams { type ViewParams2 (line 12) | type ViewParams2 = ViewParams | "visible" | "invisible"; function getPlanePosition (line 13) | function getPlanePosition( function simplifyView (line 32) | function simplifyView( FILE: src/projections/bookshelf.ts function bookshelfConfig (line 3) | function bookshelfConfig({ FILE: src/projections/linear.ts function linearConfig (line 3) | function linearConfig({