@363045841yyt/klinechart-core 0.9.0-alpha.2 → 0.9.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/controllers/createChartController.d.ts.map +1 -1
- package/dist/controllers/createChartController.js +9 -8
- package/dist/controllers/createChartController.js.map +1 -1
- package/dist/controllers/index.d.ts +1 -0
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/types.d.ts +5 -0
- package/dist/controllers/types.d.ts.map +1 -1
- package/dist/data/binance.d.ts +1 -1
- package/dist/data/binance.d.ts.map +1 -1
- package/dist/data/binance.js +1 -1
- package/dist/data/binance.js.map +1 -1
- package/dist/engine/chart.d.ts +9 -9
- package/dist/engine/chart.d.ts.map +1 -1
- package/dist/engine/chart.js +69 -96
- package/dist/engine/chart.js.map +1 -1
- package/dist/engine/chartTypes.d.ts +5 -0
- package/dist/engine/chartTypes.d.ts.map +1 -1
- package/dist/engine/controller/interaction.d.ts +4 -2
- package/dist/engine/controller/interaction.d.ts.map +1 -1
- package/dist/engine/controller/interaction.js +18 -10
- package/dist/engine/controller/interaction.js.map +1 -1
- package/dist/engine/data/chartDataManager.d.ts +12 -18
- package/dist/engine/data/chartDataManager.d.ts.map +1 -1
- package/dist/engine/data/chartDataManager.js +46 -37
- package/dist/engine/data/chartDataManager.js.map +1 -1
- package/dist/engine/data/incrementalLoadHint.d.ts +2 -4
- package/dist/engine/data/incrementalLoadHint.d.ts.map +1 -1
- package/dist/engine/data/incrementalLoadHint.js +5 -2
- package/dist/engine/data/incrementalLoadHint.js.map +1 -1
- package/dist/engine/data/scrollCompensator.d.ts +3 -13
- package/dist/engine/data/scrollCompensator.d.ts.map +1 -1
- package/dist/engine/data/scrollCompensator.js +13 -14
- package/dist/engine/data/scrollCompensator.js.map +1 -1
- package/dist/engine/indicators/chartIndicatorManager.d.ts +16 -17
- package/dist/engine/indicators/chartIndicatorManager.d.ts.map +1 -1
- package/dist/engine/indicators/chartIndicatorManager.js +37 -37
- package/dist/engine/indicators/chartIndicatorManager.js.map +1 -1
- package/dist/engine/layout/chartPaneLayout.d.ts +11 -7
- package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -1
- package/dist/engine/layout/chartPaneLayout.js +58 -16
- package/dist/engine/layout/chartPaneLayout.js.map +1 -1
- package/dist/engine/paneRenderer.d.ts +2 -0
- package/dist/engine/paneRenderer.d.ts.map +1 -1
- package/dist/engine/paneRenderer.js +15 -5
- package/dist/engine/paneRenderer.js.map +1 -1
- package/dist/engine/render/chartRenderer.d.ts +28 -22
- package/dist/engine/render/chartRenderer.d.ts.map +1 -1
- package/dist/engine/render/chartRenderer.js +117 -69
- package/dist/engine/render/chartRenderer.js.map +1 -1
- package/dist/engine/render/layers/leftYAxisLayer.d.ts +9 -2
- package/dist/engine/render/layers/leftYAxisLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/leftYAxisLayer.js +11 -2
- package/dist/engine/render/layers/leftYAxisLayer.js.map +1 -1
- package/dist/engine/render/layers/mainIndicatorLegendLayer.d.ts +6 -4
- package/dist/engine/render/layers/mainIndicatorLegendLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/mainIndicatorLegendLayer.js +6 -9
- package/dist/engine/render/layers/mainIndicatorLegendLayer.js.map +1 -1
- package/dist/engine/render/layers/mainIndicatorLegendLayer.test.d.ts +2 -0
- package/dist/engine/render/layers/mainIndicatorLegendLayer.test.d.ts.map +1 -0
- package/dist/engine/render/layers/mainIndicatorLegendLayer.test.js +19 -0
- package/dist/engine/render/layers/mainIndicatorLegendLayer.test.js.map +1 -0
- package/dist/engine/render/layers/yAxisLayer.d.ts +9 -2
- package/dist/engine/render/layers/yAxisLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/yAxisLayer.js +11 -2
- package/dist/engine/render/layers/yAxisLayer.js.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts +7 -3
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +234 -330
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.d.ts +72 -0
- package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.d.ts.map +1 -0
- package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.js +177 -0
- package/dist/engine/renderers/Indicator/mainIndicatorLegendContext.js.map +1 -0
- package/dist/engine/renderers/leftYAxis.d.ts +15 -2
- package/dist/engine/renderers/leftYAxis.d.ts.map +1 -1
- package/dist/engine/renderers/leftYAxis.js +56 -16
- package/dist/engine/renderers/leftYAxis.js.map +1 -1
- package/dist/engine/renderers/yAxis.d.ts +16 -6
- package/dist/engine/renderers/yAxis.d.ts.map +1 -1
- package/dist/engine/renderers/yAxis.js +49 -16
- package/dist/engine/renderers/yAxis.js.map +1 -1
- package/dist/engine/state/viewportState.d.ts +4 -1
- package/dist/engine/state/viewportState.d.ts.map +1 -1
- package/dist/engine/state/viewportState.js +40 -8
- package/dist/engine/state/viewportState.js.map +1 -1
- package/dist/engine/subPaneManager.d.ts +5 -3
- package/dist/engine/subPaneManager.d.ts.map +1 -1
- package/dist/engine/subPaneManager.js +3 -2
- package/dist/engine/subPaneManager.js.map +1 -1
- package/dist/engine/utils/chartZoomController.d.ts +9 -7
- package/dist/engine/utils/chartZoomController.d.ts.map +1 -1
- package/dist/engine/utils/chartZoomController.js +13 -12
- package/dist/engine/utils/chartZoomController.js.map +1 -1
- package/dist/engine/viewport/chartViewportManager.d.ts +5 -16
- package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
- package/dist/engine/viewport/chartViewportManager.js +7 -48
- package/dist/engine/viewport/chartViewportManager.js.map +1 -1
- package/dist/engine/viewport/viewport.d.ts +14 -0
- package/dist/engine/viewport/viewport.d.ts.map +1 -1
- package/dist/engine/viewport/viewport.js +10 -0
- package/dist/engine/viewport/viewport.js.map +1 -1
- package/dist/foundation/plugin/rendererPluginManager.test.js +15 -0
- package/dist/foundation/plugin/rendererPluginManager.test.js.map +1 -1
- package/dist/foundation/plugin/types.d.ts +3 -0
- package/dist/foundation/plugin/types.d.ts.map +1 -1
- package/dist/foundation/plugin/types.js.map +1 -1
- package/dist/foundation/reactivity/frameTransaction.d.ts +11 -0
- package/dist/foundation/reactivity/frameTransaction.d.ts.map +1 -1
- package/dist/foundation/reactivity/frameTransaction.js +17 -2
- package/dist/foundation/reactivity/frameTransaction.js.map +1 -1
- package/dist/rendering/render/Renderer.d.ts +58 -74
- package/dist/rendering/render/Renderer.d.ts.map +1 -1
- package/dist/rendering/render/Renderer.js +8 -18
- package/dist/rendering/render/Renderer.js.map +1 -1
- package/dist/rendering/render/createWebGPURenderer.d.ts.map +1 -1
- package/dist/rendering/render/createWebGPURenderer.js +30 -17
- package/dist/rendering/render/createWebGPURenderer.js.map +1 -1
- package/dist/rendering/render/createWebGPUSurfaceBackend.js +3 -3
- package/dist/rendering/render/createWebGPUSurfaceBackend.js.map +1 -1
- package/dist/rendering/render/physicalLine.d.ts +4 -0
- package/dist/rendering/render/physicalLine.d.ts.map +1 -0
- package/dist/rendering/render/physicalLine.js +37 -0
- package/dist/rendering/render/physicalLine.js.map +1 -0
- package/dist/rendering/render/physicalRegion.d.ts +14 -0
- package/dist/rendering/render/physicalRegion.d.ts.map +1 -0
- package/dist/rendering/render/physicalRegion.js +15 -0
- package/dist/rendering/render/physicalRegion.js.map +1 -0
- package/dist/rendering/scene/createLayerFromPlugin.d.ts.map +1 -1
- package/dist/rendering/scene/createLayerFromPlugin.js +8 -3
- package/dist/rendering/scene/createLayerFromPlugin.js.map +1 -1
- package/dist/rendering/scene/createScene.d.ts.map +1 -1
- package/dist/rendering/scene/createScene.js +4 -3
- package/dist/rendering/scene/createScene.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/__tests__/stateKernel.test.ts +1 -0
- package/src/controllers/createChartController.ts +9 -8
- package/src/controllers/index.ts +11 -0
- package/src/controllers/types.ts +7 -0
- package/src/data/binance.ts +1 -1
- package/src/engine/__tests__/chart.dpr.test.ts +3 -2
- package/src/engine/__tests__/paneRenderer.resize.test.ts +52 -54
- package/src/engine/__tests__/subPaneManager.test.ts +5 -3
- package/src/engine/chart.ts +76 -109
- package/src/engine/chartTypes.ts +5 -0
- package/src/engine/controller/__tests__/interaction.dpr.test.ts +39 -2
- package/src/engine/controller/interaction.ts +18 -10
- package/src/engine/data/__tests__/chartDataManager.incrementalLoad.test.ts +37 -17
- package/src/engine/data/__tests__/scrollCompensator.geometry.test.ts +87 -75
- package/src/engine/data/chartDataManager.ts +54 -59
- package/src/engine/data/incrementalLoadHint.ts +8 -7
- package/src/engine/data/scrollCompensator.ts +16 -24
- package/src/engine/indicators/__tests__/chartIndicatorManager.test.ts +18 -26
- package/src/engine/indicators/chartIndicatorManager.ts +62 -62
- package/src/engine/layout/chartPaneLayout.ts +73 -21
- package/src/engine/paneRenderer.ts +17 -10
- package/src/engine/render/chartRenderer.ts +187 -129
- package/src/engine/render/layers/leftYAxisLayer.ts +29 -7
- package/src/engine/render/layers/mainIndicatorLegendLayer.test.ts +26 -0
- package/src/engine/render/layers/mainIndicatorLegendLayer.ts +13 -10
- package/src/engine/render/layers/yAxisLayer.ts +29 -7
- package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +270 -403
- package/src/engine/renderers/Indicator/mainIndicatorLegendContext.ts +282 -0
- package/src/engine/renderers/__tests__/mainIndicatorLegend.renderer.test.ts +73 -2
- package/src/engine/renderers/__tests__/yAxis.renderer.test.ts +10 -6
- package/src/engine/renderers/leftYAxis.ts +60 -18
- package/src/engine/renderers/yAxis.ts +57 -22
- package/src/engine/state/viewportState.ts +44 -8
- package/src/engine/subPaneManager.ts +8 -5
- package/src/engine/utils/chartZoomController.ts +22 -19
- package/src/engine/viewport/__tests__/visibleRange.clamp.test.ts +50 -0
- package/src/engine/viewport/chartViewportManager.ts +9 -60
- package/src/engine/viewport/viewport.ts +14 -0
- package/src/foundation/plugin/rendererPluginManager.test.ts +18 -0
- package/src/foundation/plugin/types.ts +3 -0
- package/src/foundation/reactivity/frameTransaction.ts +20 -6
- package/src/rendering/render/Renderer.ts +69 -85
- package/src/rendering/render/__tests__/physicalLine.test.ts +51 -0
- package/src/rendering/render/__tests__/physicalRegion.test.ts +23 -0
- package/src/rendering/render/__tests__/webgpuRenderer.test.ts +31 -1
- package/src/rendering/render/__tests__/webgpuSurfaceBackend.test.ts +11 -0
- package/src/rendering/render/createWebGPURenderer.ts +30 -17
- package/src/rendering/render/createWebGPUSurfaceBackend.ts +3 -3
- package/src/rendering/render/physicalLine.ts +45 -0
- package/src/rendering/render/physicalRegion.ts +32 -0
- package/src/rendering/scene/createLayerFromPlugin.ts +8 -3
- package/src/rendering/scene/createScene.ts +4 -3
- package/src/version.ts +1 -1
|
@@ -1,15 +1,37 @@
|
|
|
1
1
|
import type { RenderContext } from '../../../foundation/plugin/index'
|
|
2
2
|
import { createLayerFromPlugin } from '../../../rendering/scene/createLayerFromPlugin'
|
|
3
3
|
import type { Layer } from '../../../rendering/scene/types'
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
createLeftYAxisOverlayRendererPlugin,
|
|
6
|
+
createLeftYAxisStaticRendererPlugin,
|
|
7
|
+
} from '../../renderers/leftYAxis'
|
|
5
8
|
|
|
9
|
+
type LeftYAxisLayerOptions = {
|
|
10
|
+
axisWidth: number
|
|
11
|
+
yPaddingPx: number
|
|
12
|
+
getCrosshair: () => { y: number; price: number; activePaneId: string | null } | null
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** 左 Y 轴静态层(刻度),main canvas 级刷新 */
|
|
16
|
+
export function createLeftYAxisStaticLayer(
|
|
17
|
+
options: LeftYAxisLayerOptions,
|
|
18
|
+
getContext: () => RenderContext | null,
|
|
19
|
+
): Layer {
|
|
20
|
+
return createLayerFromPlugin(createLeftYAxisStaticRendererPlugin(options), getContext, 'global')
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** 左 Y 轴动态层(十字线价签),overlay 级刷新 */
|
|
24
|
+
export function createLeftYAxisOverlayLayer(
|
|
25
|
+
options: LeftYAxisLayerOptions,
|
|
26
|
+
getContext: () => RenderContext | null,
|
|
27
|
+
): Layer {
|
|
28
|
+
return createLayerFromPlugin(createLeftYAxisOverlayRendererPlugin(options), getContext, 'global')
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** @deprecated 使用 createLeftYAxisStaticLayer */
|
|
6
32
|
export function createLeftYAxisLayer(
|
|
7
|
-
options:
|
|
8
|
-
axisWidth: number
|
|
9
|
-
yPaddingPx: number
|
|
10
|
-
getCrosshair: () => { y: number; price: number; activePaneId: string | null } | null
|
|
11
|
-
},
|
|
33
|
+
options: LeftYAxisLayerOptions,
|
|
12
34
|
getContext: () => RenderContext | null,
|
|
13
35
|
): Layer {
|
|
14
|
-
return
|
|
36
|
+
return createLeftYAxisStaticLayer(options, getContext)
|
|
15
37
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from 'vitest'
|
|
2
|
+
|
|
3
|
+
const plugin = vi.hoisted(() => ({
|
|
4
|
+
name: 'mainIndicatorLegend',
|
|
5
|
+
paneId: 'main',
|
|
6
|
+
priority: 0,
|
|
7
|
+
draw: vi.fn(),
|
|
8
|
+
onInstall: vi.fn(),
|
|
9
|
+
}))
|
|
10
|
+
|
|
11
|
+
vi.mock('../../renderers/Indicator/mainIndicatorLegend', () => ({
|
|
12
|
+
createMainIndicatorLegendRendererPlugin: vi.fn(() => plugin),
|
|
13
|
+
}))
|
|
14
|
+
|
|
15
|
+
import { createMainIndicatorLegendLayer } from './mainIndicatorLegendLayer'
|
|
16
|
+
|
|
17
|
+
describe('createMainIndicatorLegendLayer', () => {
|
|
18
|
+
it('leaves plugin installation to RendererPluginManager', () => {
|
|
19
|
+
createMainIndicatorLegendLayer(
|
|
20
|
+
{ yPaddingPx: 20 },
|
|
21
|
+
() => null,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
expect(plugin.onInstall).not.toHaveBeenCalled()
|
|
25
|
+
})
|
|
26
|
+
})
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
RenderContext,
|
|
3
|
+
RendererPluginWithHost,
|
|
4
|
+
} from '../../../foundation/plugin/index'
|
|
2
5
|
import { createLayerFromPlugin } from '../../../rendering/scene/createLayerFromPlugin'
|
|
3
6
|
import type { Layer } from '../../../rendering/scene/types'
|
|
4
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
createMainIndicatorLegendRendererPlugin,
|
|
9
|
+
type MainIndicatorLegendOptions,
|
|
10
|
+
} from '../../renderers/Indicator/mainIndicatorLegend'
|
|
5
11
|
|
|
6
12
|
export function createMainIndicatorLegendLayer(
|
|
7
|
-
config:
|
|
13
|
+
config: MainIndicatorLegendOptions,
|
|
8
14
|
getContext: () => RenderContext | null,
|
|
9
|
-
|
|
10
|
-
): Layer {
|
|
15
|
+
): { layer: Layer; plugin: RendererPluginWithHost } {
|
|
11
16
|
const plugin = createMainIndicatorLegendRendererPlugin(config)
|
|
12
|
-
|
|
13
|
-
plugin
|
|
14
|
-
|
|
15
|
-
console.error(`[MainIndicatorLegendLayer] onInstall error:`, e)
|
|
17
|
+
return {
|
|
18
|
+
layer: createLayerFromPlugin(plugin, getContext, 'main'),
|
|
19
|
+
plugin,
|
|
16
20
|
}
|
|
17
|
-
return createLayerFromPlugin(plugin, getContext, 'main')
|
|
18
21
|
}
|
|
@@ -1,15 +1,37 @@
|
|
|
1
1
|
import type { RenderContext } from '../../../foundation/plugin/index'
|
|
2
2
|
import { createLayerFromPlugin } from '../../../rendering/scene/createLayerFromPlugin'
|
|
3
3
|
import type { Layer } from '../../../rendering/scene/types'
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
createYAxisOverlayRendererPlugin,
|
|
6
|
+
createYAxisStaticRendererPlugin,
|
|
7
|
+
} from '../../renderers/yAxis'
|
|
5
8
|
|
|
9
|
+
type YAxisLayerOptions = {
|
|
10
|
+
axisWidth: number
|
|
11
|
+
yPaddingPx: number
|
|
12
|
+
getCrosshair: () => { y: number; price: number; activePaneId: string | null } | null
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** Y 轴静态层(刻度),main canvas 级刷新 */
|
|
16
|
+
export function createYAxisStaticLayer(
|
|
17
|
+
options: YAxisLayerOptions,
|
|
18
|
+
getContext: () => RenderContext | null,
|
|
19
|
+
): Layer {
|
|
20
|
+
return createLayerFromPlugin(createYAxisStaticRendererPlugin(options), getContext, 'global')
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** Y 轴动态层(标签 + 十字线价签),overlay 级刷新 */
|
|
24
|
+
export function createYAxisOverlayLayer(
|
|
25
|
+
options: YAxisLayerOptions,
|
|
26
|
+
getContext: () => RenderContext | null,
|
|
27
|
+
): Layer {
|
|
28
|
+
return createLayerFromPlugin(createYAxisOverlayRendererPlugin(options), getContext, 'global')
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** @deprecated 使用 createYAxisStaticLayer */
|
|
6
32
|
export function createYAxisLayer(
|
|
7
|
-
options:
|
|
8
|
-
axisWidth: number
|
|
9
|
-
yPaddingPx: number
|
|
10
|
-
getCrosshair: () => { y: number; price: number; activePaneId: string | null } | null
|
|
11
|
-
},
|
|
33
|
+
options: YAxisLayerOptions,
|
|
12
34
|
getContext: () => RenderContext | null,
|
|
13
35
|
): Layer {
|
|
14
|
-
return
|
|
36
|
+
return createYAxisStaticLayer(options, getContext)
|
|
15
37
|
}
|