refactor: define globals

This commit is contained in:
Azgaar 2022-07-05 01:17:22 +03:00
parent 22903fcb71
commit 7c2c624417
26 changed files with 939 additions and 245 deletions

10
src/types/biomes.d.ts vendored Normal file
View file

@ -0,0 +1,10 @@
interface IBiomesData {
i: number[];
name: string[];
color: Hex[];
habitability: number[];
cost: number[];
icons: string[];
iconsDensity: number[];
biomesMartix: [Uint8Array, Uint8Array, Uint8Array, Uint8Array, Uint8Array];
}

View file

@ -1,5 +1,7 @@
type UnknownObject = {[key: string]: unknown};
type noop = () => void;
interface Dict<T> {
[key: string]: T;
}

2
src/types/env.d.ts vendored Normal file
View file

@ -0,0 +1,2 @@
declare const APP_VERSION: string;
declare const PRODUCTION: boolean;

49
src/types/globals.d.ts vendored Normal file
View file

@ -0,0 +1,49 @@
declare const grid: IGrid;
declare const pack: IPack;
declare let seed: string;
declare let mapId: number;
declare let mapHistory: IMapHistoryEntry[];
declare let elSelected: Selection<HTMLElement>;
declare let notes: INote[];
declare let customization: number;
declare let rulers: Rulers;
declare let biomesData: IBiomesData;
declare let nameBases: INamebase[];
declare let graphWidth: number;
declare let graphHeight: number;
declare let svgWidth: number;
declare let svgHeight: number;
declare let options: IOptions;
interface IOptions {
pinNotes: boolean;
showMFCGMap: boolean;
winds: [number, number, number, number, number, number];
stateLabelsMode: "auto" | "short" | "full";
}
declare let populationRate: number;
declare let urbanization: number;
declare let distanceScale: number;
declare let urbanDensity: number;
declare let statesNeutral: number;
declare let scaleBar: Selection<HTMLElement>;
declare let legend: Selection<HTMLElement>;
declare const defineSvg: (graphWidth: number, graphHeight: number) => void;
// old modules
declare const Biomes: {
getDefault: () => IBiomesData;
};
declare const Names: {
getNameBases: () => INamebase[];
};

7
src/types/grid.d.ts vendored Normal file
View file

@ -0,0 +1,7 @@
interface IGrid {
points: TPoints;
cells: {
h: TypedArray;
prec: number[];
};
}

9
src/types/namebase.d.ts vendored Normal file
View file

@ -0,0 +1,9 @@
interface INamebase {
i: number;
name: string;
b: string; // comma-separated list of names
d: string; // dublicating letters
m: number; // words multiplication chance
max: number; // recommended max name length
min: number; // recommended min name length
}

5
src/types/note.d.ts vendored Normal file
View file

@ -0,0 +1,5 @@
interface INote {
id: number;
name: string;
legend: string;
}

View file

@ -10,11 +10,8 @@ interface Window {
[key: string]: boolean;
};
};
pack: IPack;
grig: IGrid;
d3: typeof d3;
graphHeight: number;
graphWidth: number;
$: typeof $;
mapCoordinates: IMapCoordinates;
}
@ -22,5 +19,3 @@ interface Node {
on: (name: string, fn: EventListenerOrEventListenerObject, options?: AddEventListenerOptions) => void;
off: (name: string, fn: EventListenerOrEventListenerObject) => void;
}
type UnknownObject = {[key: string]: unknown};

23
src/types/pack.d.ts vendored Normal file
View file

@ -0,0 +1,23 @@
interface IPack {
cells: {
i: number[];
g: number[];
h: number[];
pop: number[];
burg: number[];
};
states: [];
cultures: [];
provinces: [];
burgs: IBurg[];
religions: [];
}
interface IBurg {
i: number;
name: string;
cell: number;
x: number;
y: number;
population: number;
}

7
src/types/stores.d.ts vendored Normal file
View file

@ -0,0 +1,7 @@
interface IMapHistoryEntry {
seed: string;
width: number;
height: number;
template: string;
created: number;
}