<commit_before>import {Vector3} from "three"

export interface NameDataPair {
    fileName: string
    content: any
}

export interface FileState {
    file: CCFile,
    selectedAs: FileSelectionState
}

export enum FileSelectionState {
    Single = "Single",
    Reference = "Reference",
    Comparison = "Comparison",
    Partial = "Partial",
    None = "None"
}

export interface CCFile {
  map: CodeMapNode;
  settings: {
      fileSettings: FileSettings
  };
  fileMeta: FileMeta;
}

export interface CodeMapNode {
    name: string;
    type: string;
    children?: CodeMapNode[];
    attributes: KeyValuePair;
    link?: string;
    origin?: string;
    path?: string;
    visible?: boolean;
    deltas?: {
        [key: string]: number
    }
}

export interface FileMeta {
  fileName: string;
  apiVersion: string;
  projectName: string;
}

export interface Settings {
    fileSettings: FileSettings;
    dynamicSettings: DynamicSettings;
    appSettings: AppSettings;
    treeMapSettings: TreeMapSettings
}

export interface FileSettings {
    attributeTypes: AttributeTypes;
    blacklist: Array<BlacklistItem>;
    edges: Edge[];
    markedPackages: MarkedPackage[];
}

export interface DynamicSettings {
    areaMetric: string;
    heightMetric: string;
    colorMetric: string;
    focusedNodePath: string;
    searchedNodePaths: Array<string>;
    searchPattern: string;
    margin: number;
    neutralColorRange: ColorRange;
}

export interface AppSettings {
    amountOfTopLabels: number;
    scaling: Vector3;
    camera: Vector3;
    deltaColorFlipped: boolean;
    enableEdgeArrows: boolean;
    hideFlatBuildings: boolean;
    maximizeDetailPanel: boolean;
    invertHeight: boolean;
    dynamicMargin: boolean;
    isWhiteBackground: boolean;
    mapColors: MapColors;
    whiteColorBuildings: boolean;
}

export interface TreeMapSettings {
    mapSize: number;
}

export interface MapColors {
    positive: string;
    neutral: string;
    negative: string;
    selected: string;
    defaultC: string;
    positiveDelta: string;
    negativeDelta: string;
    base: string;
    flat: string;
    lightGrey: string;
    angularGreen: string;
    markingColors: string[];
}

export interface ColorRange {
    from: number;
    to: number;
    flipped: boolean;
}

export interface AttributeTypes {
    nodes?: {
        [key: string]: AttributeType
    };
    edges?: {
        [key: string]: AttributeType
    };
}

export enum AttributeType {
    absolute, relative
}


export interface Edge {
    fromNodeName: string;
    toNodeName: string;
    attributes: KeyValuePair;
    visible?: boolean;
}

export interface BlacklistItem {
    path: string;
    type: BlacklistType;
}

export enum BlacklistType {
    hide = "hide",
    exclude = "exclude"
}

export interface MarkedPackage {
    path: string,
    color: string,
    attributes: {
        [key: string]: any
    }
}

export interface MetricData {
    name: string;
    maxValue: number;
    availableInVisibleMaps: boolean;
}

export interface Scenario {
    name: string;
    settings: RecursivePartial<Settings>;
}

export interface UrlData {
    filenames: string[];
    settings: Partial<Settings>;
}

export type RecursivePartial<T> = {
    [P in keyof T]?: RecursivePartial<T[P]>;
};

export interface KeyValuePair {
    [key: string]: number;
}

export interface Node {
    name: string;
    width: number;
    height: number;
    length: number;
    depth: number;
    x0: number;
    z0: number;
    y0: number;
    isLeaf: boolean;
    deltas: KeyValuePair;
    attributes: KeyValuePair;
    children: Node[];
    parent: Node;
    heightDelta: number;
    visible: boolean;
    path: string;
    origin: string;
    link: string;
    markingColor: string;
    flat: boolean;
}<commit_msg>Added Bar Variable to DynamicSettings Interface #495<commit_after>import { Vector3 } from "three"

export interface NameDataPair {
	fileName: string
	content: any
}

export interface FileState {
	file: CCFile
	selectedAs: FileSelectionState
}

export enum FileSelectionState {
	Single = "Single",
	Reference = "Reference",
	Comparison = "Comparison",
	Partial = "Partial",
	None = "None"
}

export interface CCFile {
	map: CodeMapNode
	settings: {
		fileSettings: FileSettings
	}
	fileMeta: FileMeta
}

export interface CodeMapNode {
	name: string
	type: string
	children?: CodeMapNode[]
	attributes: KeyValuePair
	link?: string
	origin?: string
	path?: string
	visible?: boolean
	deltas?: {
		[key: string]: number
	}
}

export interface FileMeta {
	fileName: string
	apiVersion: string
	projectName: string
}

export interface Settings {
	fileSettings: FileSettings
	dynamicSettings: DynamicSettings
	appSettings: AppSettings
	treeMapSettings: TreeMapSettings
}

export interface FileSettings {
	attributeTypes: AttributeTypes
	blacklist: Array<BlacklistItem>
	edges: Edge[]
	markedPackages: MarkedPackage[]
}

export interface DynamicSettings {
	areaMetric: string
	heightMetric: string
	colorMetric: string
	distributionMetric: string
	focusedNodePath: string
	searchedNodePaths: Array<string>
	searchPattern: string
	margin: number
	neutralColorRange: ColorRange
}

export interface AppSettings {
	amountOfTopLabels: number
	scaling: Vector3
	camera: Vector3
	deltaColorFlipped: boolean
	enableEdgeArrows: boolean
	hideFlatBuildings: boolean
	maximizeDetailPanel: boolean
	invertHeight: boolean
	dynamicMargin: boolean
	isWhiteBackground: boolean
	mapColors: MapColors
	whiteColorBuildings: boolean
}

export interface TreeMapSettings {
	mapSize: number
}

export interface MapColors {
	positive: string
	neutral: string
	negative: string
	selected: string
	defaultC: string
	positiveDelta: string
	negativeDelta: string
	base: string
	flat: string
	lightGrey: string
	angularGreen: string
	markingColors: string[]
}

export interface ColorRange {
	from: number
	to: number
	flipped: boolean
}

export interface AttributeTypes {
	nodes?: {
		[key: string]: AttributeType
	}
	edges?: {
		[key: string]: AttributeType
	}
}

export enum AttributeType {
	absolute,
	relative
}

export interface Edge {
	fromNodeName: string
	toNodeName: string
	attributes: KeyValuePair
	visible?: boolean
}

export interface BlacklistItem {
	path: string
	type: BlacklistType
}

export enum BlacklistType {
	hide = "hide",
	exclude = "exclude"
}

export interface MarkedPackage {
	path: string
	color: string
	attributes: {
		[key: string]: any
	}
}

export interface MetricData {
	name: string
	maxValue: number
	availableInVisibleMaps: boolean
}

export interface Scenario {
	name: string
	settings: RecursivePartial<Settings>
}

export interface UrlData {
	filenames: string[]
	settings: Partial<Settings>
}

export type RecursivePartial<T> = { [P in keyof T]?: RecursivePartial<T[P]> }

export interface KeyValuePair {
	[key: string]: number
}

export interface Node {
	name: string
	width: number
	height: number
	length: number
	depth: number
	x0: number
	z0: number
	y0: number
	isLeaf: boolean
	deltas: KeyValuePair
	attributes: KeyValuePair
	children: Node[]
	parent: Node
	heightDelta: number
	visible: boolean
	path: string
	origin: string
	link: string
	markingColor: string
	flat: boolean
}
{'fraction_non_alphanumeric': 0.08537946428571429, 'fraction_numerical': 0.0020926339285714285, 'mean_word_length': 3.9819318971507993, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3394241', 'n_tokens_mistral': 2191, 'n_tokens_neox': 2188, 'n_words': 636}