StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
30 KiB
118 lines
30 KiB
{
|
|
"version": 3,
|
|
"sources": [
|
|
"base.ts"
|
|
],
|
|
"names": [
|
|
"extend",
|
|
"rectUtils",
|
|
"start",
|
|
"interaction",
|
|
"phase",
|
|
"pageCoords",
|
|
"prevCoords",
|
|
"prevRect",
|
|
"interactable",
|
|
"element",
|
|
"edges",
|
|
"modifierList",
|
|
"getModifierList",
|
|
"states",
|
|
"prepareStates",
|
|
"rect",
|
|
"startOffset",
|
|
"getRectOffset",
|
|
"modifiers",
|
|
"startDelta",
|
|
"x",
|
|
"y",
|
|
"arg",
|
|
"preEnd",
|
|
"requireEndOnly",
|
|
"result",
|
|
"startAll",
|
|
"setAll",
|
|
"state",
|
|
"methods",
|
|
"coords",
|
|
"delta",
|
|
"rectDelta",
|
|
"left",
|
|
"right",
|
|
"top",
|
|
"bottom",
|
|
"eventProps",
|
|
"changed",
|
|
"options",
|
|
"lastModifierCoords",
|
|
"returnValue",
|
|
"set",
|
|
"shouldDo",
|
|
"addEdges",
|
|
"push",
|
|
"rectChanged",
|
|
"beforeMove",
|
|
"skipModifiers",
|
|
"slice",
|
|
"modifierResult",
|
|
"modifiedCoords",
|
|
"cur",
|
|
"page",
|
|
"interacting",
|
|
"adjustment",
|
|
"setCoords",
|
|
"beforeEnd",
|
|
"event",
|
|
"noPreEnd",
|
|
"length",
|
|
"didPreEnd",
|
|
"endPosition",
|
|
"endResult",
|
|
"move",
|
|
"stop",
|
|
"modifierArg",
|
|
"actionOptions",
|
|
"prepared",
|
|
"name",
|
|
"actionModifiers",
|
|
"filter",
|
|
"modifier",
|
|
"enabled",
|
|
"map",
|
|
"type",
|
|
"_methods",
|
|
"m",
|
|
"index",
|
|
"curCoords",
|
|
"startCoords",
|
|
"curDelta",
|
|
"coordsSet",
|
|
"client",
|
|
"width",
|
|
"height",
|
|
"restoreCoords",
|
|
"coordsAndDeltas",
|
|
"endOnly",
|
|
"alwaysOnEnd",
|
|
"setStart",
|
|
"makeModifier",
|
|
"module",
|
|
"defaults",
|
|
"_options",
|
|
"prop",
|
|
"_defaults",
|
|
"addEventModifiers",
|
|
"iEvent",
|
|
"modifiersBase",
|
|
"id",
|
|
"install",
|
|
"scope",
|
|
"perAction",
|
|
"listeners",
|
|
"before"
|
|
],
|
|
"mappings": "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",
|
|
"sourcesContent": [
|
|
"import extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\ndeclare module '@interactjs/core/scope' {\n interface Scope {\n modifiers?: any\n }\n}\n\ndeclare module '@interactjs/core/Interaction' {\n interface Interaction {\n modifiers?: {\n states: ModifierState[]\n startOffset: Interact.Rect\n startDelta: Interact.Point\n result?: ModifiersResult\n endResult: Interact.Point | void\n }\n }\n}\n\ndeclare module '@interactjs/core/InteractEvent' {\n interface InteractEvent {\n modifiers?: Array<{\n name: string\n [key: string]: any\n }>\n }\n}\ndeclare module '@interactjs/core/defaultOptions' {\n interface PerActionDefaults {\n modifiers?: Modifier[]\n }\n}\n\nexport interface Modifier<\n Defaults = any,\n State extends ModifierState = any,\n Name extends string = any\n> {\n options?: Defaults\n methods: {\n start?: (arg: ModifierArg<State>) => void\n set: (arg: ModifierArg<State>) => void\n beforeEnd?: (arg: ModifierArg<State>) => Interact.Point | void\n stop?: (arg: ModifierArg<State>) => void\n }\n name?: Name\n}\n\nexport type ModifierState<\n Defaults = {},\n StateProps extends { [prop: string]: any } = {},\n Name extends string = any\n> = {\n options: Defaults\n methods?: Modifier<Defaults>['methods']\n index?: number\n name?: Name\n result?: object\n} & StateProps\n\nexport interface ModifierArg<State extends ModifierState = ModifierState> {\n interaction: Interact.Interaction\n interactable: Interact.Interactable\n phase: Interact.EventPhase\n rect: Interact.FullRect\n edges: Interact.EdgeOptions\n states?: State[]\n state?: State\n element: Interact.Element\n pageCoords?: Interact.Point\n prevCoords?: Interact.Point\n prevRect?: Interact.FullRect\n coords?: Interact.Point\n startOffset?: Interact.Rect\n preEnd?: boolean\n requireEndOnly?: boolean\n}\n\nexport interface ModifierModule<\n Defaults extends { enabled?: boolean },\n State extends ModifierState,\n> {\n defaults?: Defaults\n start? (arg: ModifierArg<State>): void\n set? (arg: ModifierArg<State>): any\n beforeEnd? (arg: ModifierArg<State>): Interact.Point | void\n stop? (arg: ModifierArg<State>): void\n}\n\nexport interface ModifiersResult {\n delta: {\n x: number\n y: number\n }\n rectDelta: {\n left: number\n right: number\n top: number\n bottom: number\n }\n coords: Interact.Point\n rect: Interact.FullRect\n eventProps: any[]\n changed: boolean\n}\n\nfunction start (\n { interaction, phase }: { interaction: Interact.Interaction, phase: Interact.EventPhase },\n pageCoords: Interact.Point,\n prevCoords: Interact.Point,\n prevRect: Interact.FullRect,\n) {\n const { interactable, element, edges } = interaction\n const modifierList = getModifierList(interaction)\n const states = prepareStates(modifierList)\n\n const rect = extend({} as { [key: string]: any }, interaction.rect)\n const startOffset = getRectOffset(rect, pageCoords)\n\n interaction.modifiers.startOffset = startOffset\n interaction.modifiers.startDelta = { x: 0, y: 0 }\n\n const arg: ModifierArg<any> = {\n interaction,\n interactable,\n element,\n pageCoords,\n phase,\n rect,\n edges,\n startOffset,\n states,\n preEnd: false,\n requireEndOnly: false,\n prevCoords,\n prevRect,\n }\n\n interaction.modifiers.states = states\n interaction.modifiers.result = null\n startAll(arg)\n\n const result = interaction.modifiers.result = setAll(arg)\n\n return result\n}\n\nexport function startAll (arg: ModifierArg<any>) {\n const states: ModifierState[] = arg.states\n\n for (const state of states) {\n if (state.methods.start) {\n arg.state = state\n state.methods.start(arg)\n }\n }\n\n arg.interaction.edges = arg.edges\n}\n\nexport function setAll (arg: ModifierArg): ModifiersResult {\n const {\n prevCoords,\n prevRect,\n phase,\n preEnd,\n requireEndOnly,\n states,\n rect,\n } = arg\n\n arg.coords = extend({}, arg.pageCoords)\n arg.rect = extend({}, rect)\n\n const result = {\n delta: { x: 0, y: 0 },\n rectDelta: {\n left : 0,\n right : 0,\n top : 0,\n bottom: 0,\n },\n coords: arg.coords,\n rect: arg.rect,\n eventProps: [],\n changed: true,\n }\n\n const edges = arg.edges || { left: true, right: true, top: true, bottom: true }\n\n for (const state of states) {\n const { options } = state\n const lastModifierCoords = extend({}, arg.coords)\n let returnValue = null\n\n if (state.methods.set && shouldDo(options, preEnd, requireEndOnly, phase)) {\n arg.state = state\n returnValue = state.methods.set(arg)\n\n rectUtils.addEdges(edges, arg.rect, { x: arg.coords.x - lastModifierCoords.x, y: arg.coords.y - lastModifierCoords.y })\n }\n\n result.eventProps.push(returnValue)\n }\n\n result.delta.x = arg.coords.x - arg.pageCoords.x\n result.delta.y = arg.coords.y - arg.pageCoords.y\n\n result.rectDelta.left = arg.rect.left - rect.left\n result.rectDelta.right = arg.rect.right - rect.right\n result.rectDelta.top = arg.rect.top - rect.top\n result.rectDelta.bottom = arg.rect.bottom - rect.bottom\n\n const rectChanged = !prevRect || result.rect.left !== prevRect.left ||\n result.rect.right !== prevRect.right ||\n result.rect.top !== prevRect.top ||\n result.rect.bottom !== prevRect.bottom\n\n result.changed = !prevCoords || prevCoords.x !== result.coords.x ||\n prevCoords.y !== result.coords.y ||\n rectChanged\n\n return result\n}\n\nfunction beforeMove (arg: Partial<Interact.DoPhaseArg> & {\n interaction: Interact.Interaction\n phase: Interact.EventPhase\n preEnd?: boolean\n skipModifiers?: number\n prevCoords?: Interact.Point\n prevRect?: Interact.FullRect\n modifiedCoords?: Interact.Point\n}): void | false {\n const { interaction, phase, preEnd, skipModifiers } = arg\n const { interactable, element } = interaction\n\n const states = skipModifiers\n ? interaction.modifiers.states.slice(skipModifiers)\n : interaction.modifiers.states\n const prevCoords = arg.prevCoords || (interaction.modifiers.result\n ? interaction.modifiers.result.coords\n : null)\n const prevRect = arg.prevRect || (interaction.modifiers.result\n ? interaction.modifiers.result.rect\n : null)\n\n const modifierResult = setAll({\n interaction,\n interactable,\n element,\n preEnd,\n phase,\n pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n prevCoords,\n rect: interaction.rect,\n edges: interaction.edges,\n prevRect,\n states,\n requireEndOnly: false,\n })\n\n interaction.modifiers.result = modifierResult\n\n // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n if (!modifierResult.changed && interaction.interacting()) {\n return false\n }\n\n if (arg.modifiedCoords) {\n const { page } = interaction.coords.cur\n const adjustment = {\n x: arg.modifiedCoords.x - page.x,\n y: arg.modifiedCoords.y - page.y,\n }\n\n modifierResult.coords.x += adjustment.x\n modifierResult.coords.y += adjustment.y\n modifierResult.delta.x += adjustment.x\n modifierResult.delta.y += adjustment.y\n }\n setCoords(arg)\n}\n\nfunction beforeEnd (arg: Interact.DoPhaseArg & { noPreEnd?: boolean, state?: ModifierState }): void | false {\n const { interaction, event, noPreEnd } = arg\n const states = interaction.modifiers.states\n\n if (noPreEnd || !states || !states.length) {\n return\n }\n\n let didPreEnd = false\n\n for (const state of states) {\n arg.state = state\n const { options, methods } = state\n\n const endPosition = methods.beforeEnd && methods.beforeEnd(arg as unknown as ModifierArg)\n\n if (endPosition) {\n interaction.modifiers.endResult = endPosition\n return false\n }\n\n // if the endOnly option is true for any modifier\n if (!didPreEnd && shouldDo(options, true, true)) {\n // fire a move event at the modified coordinates\n interaction.move({ event, preEnd: true })\n didPreEnd = true\n }\n }\n}\n\nfunction stop (arg: { interaction: Interact.Interaction, phase: Interact.EventPhase }) {\n const { interaction } = arg\n const states = interaction.modifiers.states\n\n if (!states || !states.length) {\n return\n }\n\n const modifierArg: ModifierArg = extend({\n states,\n interactable: interaction.interactable,\n element: interaction.element,\n rect: null,\n }, arg as any)\n\n for (const state of states) {\n modifierArg.state = state\n\n if (state.methods.stop) { state.methods.stop(modifierArg) }\n }\n\n arg.interaction.modifiers.states = null\n arg.interaction.modifiers.endResult = null\n}\n\nfunction getModifierList (interaction) {\n const actionOptions = interaction.interactable.options[interaction.prepared.name]\n const actionModifiers = actionOptions.modifiers\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers.filter(\n modifier => !modifier.options || modifier.options.enabled !== false,\n )\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize']\n .map(type => {\n const options = actionOptions[type]\n\n return options && options.enabled && {\n options,\n methods: options._methods,\n }\n })\n .filter(m => !!m)\n}\n\nexport function prepareStates (modifierList: Modifier[]) {\n const states: ModifierState[] = []\n\n for (let index = 0; index < modifierList.length; index++) {\n const { options, methods, name } = modifierList[index]\n\n if (options && options.enabled === false) { continue }\n\n states.push({\n options,\n methods,\n index,\n name,\n })\n }\n\n return states\n}\n\nexport function setCoords (arg: { interaction: Interact.Interaction, phase: Interact.EventPhase, rect?: Interact.Rect }) {\n const { interaction, phase } = arg\n const curCoords = interaction.coords.cur\n const startCoords = interaction.coords.start\n const { result, startDelta } = interaction.modifiers\n const curDelta = result.delta\n\n if (phase === 'start') {\n extend(interaction.modifiers.startDelta, result.delta)\n }\n\n for (const [coordsSet, delta] of [[startCoords, startDelta], [curCoords, curDelta]] as const) {\n coordsSet.page.x += delta.x\n coordsSet.page.y += delta.y\n coordsSet.client.x += delta.x\n coordsSet.client.y += delta.y\n }\n\n const { rectDelta } = interaction.modifiers.result\n const rect = arg.rect || interaction.rect\n\n rect.left += rectDelta.left\n rect.right += rectDelta.right\n rect.top += rectDelta.top\n rect.bottom += rectDelta.bottom\n\n rect.width = rect.right - rect.left\n rect.height = rect.bottom - rect.top\n}\n\nexport function restoreCoords ({ interaction: { coords, rect, modifiers } }: { interaction: Interact.Interaction }) {\n if (!modifiers.result) { return }\n\n const { startDelta } = modifiers\n const { delta: curDelta, rectDelta } = modifiers.result\n\n const coordsAndDeltas = [\n [coords.start, startDelta],\n [coords.cur, curDelta],\n ]\n\n for (const [coordsSet, delta] of coordsAndDeltas as any) {\n coordsSet.page.x -= delta.x\n coordsSet.page.y -= delta.y\n coordsSet.client.x -= delta.x\n coordsSet.client.y -= delta.y\n }\n\n rect.left -= rectDelta.left\n rect.right -= rectDelta.right\n rect.top -= rectDelta.top\n rect.bottom -= rectDelta.bottom\n}\n\nexport function shouldDo (options, preEnd?: boolean, requireEndOnly?: boolean, phase?: string) {\n return options\n ? options.enabled !== false &&\n (preEnd || !options.endOnly) &&\n (!requireEndOnly || options.endOnly || options.alwaysOnEnd) &&\n (options.setStart || phase !== 'start')\n : !requireEndOnly\n}\n\nexport function getRectOffset (rect, coords) {\n return rect\n ? {\n left : coords.x - rect.left,\n top : coords.y - rect.top,\n right : rect.right - coords.x,\n bottom: rect.bottom - coords.y,\n }\n : {\n left : 0,\n top : 0,\n right : 0,\n bottom: 0,\n }\n}\n\nexport function makeModifier<\n Defaults extends { enabled?: boolean },\n State extends ModifierState,\n Name extends string\n> (\n module: ModifierModule<Defaults, State>,\n name?: Name,\n) {\n const { defaults } = module\n const methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop,\n }\n\n const modifier = (_options?: Partial<Defaults>) => {\n const options: Defaults = (_options || {}) as Defaults\n\n options.enabled = options.enabled !== false\n\n // add missing defaults to options\n for (const prop in defaults) {\n if (!(prop in options)) {\n options[prop] = defaults[prop]\n }\n }\n\n const m: Modifier<Defaults, State, Name> = { options, methods, name }\n\n return m\n }\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults\n modifier._methods = methods\n }\n\n return modifier\n}\n\nfunction addEventModifiers ({ iEvent, interaction: { modifiers: { result } } }: {\n iEvent: Interact.InteractEvent\n interaction: Interact.Interaction\n}) {\n if (result) {\n iEvent.modifiers = result.eventProps\n }\n}\n\nconst modifiersBase: Interact.Plugin = {\n id: 'modifiers/base',\n install: scope => {\n scope.defaults.perAction.modifiers = []\n },\n listeners: {\n 'interactions:new': ({ interaction }) => {\n interaction.modifiers = {\n startOffset: { left: 0, right: 0, top: 0, bottom: 0 },\n states: null,\n result: null,\n endResult: null,\n startDelta: null,\n }\n },\n\n 'interactions:before-action-start': arg => {\n start(arg, arg.interaction.coords.start.page, null, null)\n setCoords(arg)\n },\n 'interactions:after-action-start': restoreCoords,\n 'interactions:before-action-move': beforeMove,\n 'interactions:after-action-move': restoreCoords,\n\n 'interactions:action-resume': arg => {\n const { coords: prevCoords, rect: prevRect } = arg.interaction.modifiers.result\n\n stop(arg)\n start(arg, arg.interaction.coords.cur.page, prevCoords, prevRect)\n beforeMove(arg)\n },\n\n 'interactions:before-action-end': beforeEnd,\n 'interactions:action-start': addEventModifiers,\n 'interactions:action-move': addEventModifiers,\n 'interactions:action-end': addEventModifiers,\n 'interactions:stop': stop,\n },\n before: ['actions', 'action/drag', 'actions/resize', 'actions/gesture'],\n}\n\nexport default modifiersBase\n"
|
|
]
|
|
} |