From 744a21e042d8584e932d80fa37f2de284830a3d7 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Sun, 8 Mar 2026 16:50:44 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=B0=86=20render-core,=20render-e?= =?UTF-8?q?lements,=20render-assets,=20render-style=20=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client-base/src/material/autotile.ts | 2 +- .../client-base/src/material/builder.ts | 2 +- .../client-base/src/material/fallback.ts | 2 +- .../client-base/src/material/manager.ts | 2 +- packages-user/client-base/src/material/types.ts | 2 +- packages-user/client-base/src/material/utils.ts | 2 +- packages-user/client-modules/package.json | 3 +-- .../client-modules/src/render/action.ts | 2 +- .../src/render/components/choices.tsx | 3 ++- .../src/render/components/floorSelect.tsx | 3 +-- .../src/render/components/icons.tsx | 3 ++- .../src/render/components/input.tsx | 8 ++++---- .../src/render/components/list.tsx | 3 +-- .../src/render/components/misc.tsx | 10 ++-------- .../src/render/components/page.tsx | 3 ++- .../src/render/components/scroll.tsx | 2 +- .../src/render/components/textbox.tsx | 2 +- .../src/render/components/textboxTyper.ts | 3 ++- .../src/render/components/thumbnail.tsx | 6 +----- .../src/render/components/tip.tsx | 3 ++- .../src/render/elements/animate.ts | 2 +- .../client-modules/src/render/elements/block.ts | 2 +- .../client-modules/src/render/elements/cache.ts | 3 +-- .../src/render/elements/camera.ts | 2 +- .../src/render/elements/damage.ts | 2 +- .../client-modules/src/render/elements/frame.ts | 2 +- .../client-modules/src/render/elements/hero.ts | 3 +-- .../client-modules/src/render/elements/layer.ts | 2 +- .../client-modules/src/render/elements/misc.ts | 6 +++--- .../client-modules/src/render/elements/props.ts | 3 +-- .../client-modules/src/render/elements/utils.ts | 2 +- .../src/render/elements/viewport.ts | 2 +- .../client-modules/src/render/fx/base.ts | 2 +- .../client-modules/src/render/fx/image3d.ts | 2 +- .../client-modules/src/render/index.tsx | 3 ++- .../src/render/legacy/fallback.ts | 2 +- .../client-modules/src/render/map/element.ts | 2 +- .../src/render/map/extension/hero.ts | 6 +----- .../src/render/map/extension/text.ts | 3 ++- .../src/render/map/extension/types.ts | 4 ++-- .../client-modules/src/render/map/renderer.ts | 6 +++--- .../client-modules/src/render/map/types.ts | 6 +++--- .../client-modules/src/render/map/vertex.ts | 2 +- .../client-modules/src/render/map/viewport.ts | 2 +- .../client-modules/src/render/renderer.ts | 2 +- .../client-modules/src/render/shared.ts | 3 +-- .../client-modules/src/render/ui/main.tsx | 4 ++-- .../client-modules/src/render/ui/save.tsx | 3 +-- .../client-modules/src/render/ui/statusBar.tsx | 8 ++------ .../client-modules/src/render/ui/title.tsx | 3 +-- .../client-modules/src/render/ui/toolbar.tsx | 3 ++- .../client-modules/src/render/ui/viewmap.tsx | 8 ++++---- .../client-modules/src/render/utils/layout.ts | 2 +- .../src/render/weather/controller.ts | 2 +- .../src/render/weather/presets/cloud.ts | 2 +- .../src/render/weather/presets/cloudLike.ts | 7 +++++-- .../src/render/weather/presets/fog.ts | 3 +-- .../src/render/weather/presets/sun.ts | 2 +- .../client-modules/src/render/weather/types.ts | 2 +- .../src/render/weather/weather.ts | 2 +- packages-user/entry-client/src/create.ts | 8 -------- packages-user/entry-data/src/mota.ts | 6 ------ packages/animate/src/excitation.ts | 0 packages/animate/src/types.ts | 2 +- packages/animate/src/utils.ts | 17 +++++++++++++++++ packages/render-assets/package.json | 6 ------ packages/render-core/package.json | 7 ------- packages/render-elements/package.json | 8 -------- packages/render-style/package.json | 6 ------ packages/render-vue/package.json | 6 ++---- packages/render-vue/src/elements.tsx | 6 ++---- packages/render-vue/src/index.ts | 2 +- packages/render-vue/src/map.ts | 8 +++----- packages/render-vue/src/props.ts | 12 +++++------- packages/render-vue/src/renderer.ts | 9 +++++++-- packages/render-vue/src/use.ts | 2 +- .../src => render/src/assets}/animater.ts | 0 .../src => render/src/assets}/composer.ts | 4 ++-- .../src => render/src/assets}/index.ts | 0 .../src => render/src/assets}/shader/pack.frag | 0 .../src => render/src/assets}/shader/pack.vert | 0 .../src => render/src/assets}/splitter.ts | 0 .../src => render/src/assets}/store.ts | 0 .../src => render/src/assets}/streamComposer.ts | 0 .../src => render/src/assets}/texture.ts | 4 ++-- .../src => render/src/assets}/types.ts | 7 +------ .../src => render/src/core}/adapter.ts | 0 .../src => render/src/core}/canvas2d.ts | 0 .../src => render/src/core}/container.ts | 0 .../src => render/src/core}/event.ts | 0 .../{render-core/src => render/src/core}/gl2.ts | 2 +- .../src => render/src/core}/index.ts | 0 .../src => render/src/core}/item.ts | 0 .../src => render/src/core}/render.ts | 0 .../src => render/src/core}/shader.ts | 0 .../src => render/src/core}/sprite.ts | 0 .../src => render/src/core}/transform.ts | 0 .../src => render/src/core}/utils.ts | 0 .../src => render/src/elements}/graphics.ts | 4 ++-- .../src => render/src/elements}/index.ts | 0 .../src => render/src/elements}/misc.ts | 6 +++--- packages/render/src/index.ts | 10 +++++----- .../src => render/src/style}/font.ts | 0 .../src => render/src/style}/index.ts | 0 packages/render/src/types.ts | 6 ++++++ 105 files changed, 149 insertions(+), 192 deletions(-) create mode 100644 packages/animate/src/excitation.ts create mode 100644 packages/animate/src/utils.ts delete mode 100644 packages/render-assets/package.json delete mode 100644 packages/render-core/package.json delete mode 100644 packages/render-elements/package.json delete mode 100644 packages/render-style/package.json rename packages/{render-assets/src => render/src/assets}/animater.ts (100%) rename packages/{render-assets/src => render/src/assets}/composer.ts (99%) rename packages/{render-assets/src => render/src/assets}/index.ts (100%) rename packages/{render-assets/src => render/src/assets}/shader/pack.frag (100%) rename packages/{render-assets/src => render/src/assets}/shader/pack.vert (100%) rename packages/{render-assets/src => render/src/assets}/splitter.ts (100%) rename packages/{render-assets/src => render/src/assets}/store.ts (100%) rename packages/{render-assets/src => render/src/assets}/streamComposer.ts (100%) rename packages/{render-assets/src => render/src/assets}/texture.ts (98%) rename packages/{render-assets/src => render/src/assets}/types.ts (97%) rename packages/{render-core/src => render/src/core}/adapter.ts (100%) rename packages/{render-core/src => render/src/core}/canvas2d.ts (100%) rename packages/{render-core/src => render/src/core}/container.ts (100%) rename packages/{render-core/src => render/src/core}/event.ts (100%) rename packages/{render-core/src => render/src/core}/gl2.ts (99%) rename packages/{render-core/src => render/src/core}/index.ts (100%) rename packages/{render-core/src => render/src/core}/item.ts (100%) rename packages/{render-core/src => render/src/core}/render.ts (100%) rename packages/{render-core/src => render/src/core}/shader.ts (100%) rename packages/{render-core/src => render/src/core}/sprite.ts (100%) rename packages/{render-core/src => render/src/core}/transform.ts (100%) rename packages/{render-core/src => render/src/core}/utils.ts (100%) rename packages/{render-elements/src => render/src/elements}/graphics.ts (99%) rename packages/{render-elements/src => render/src/elements}/index.ts (100%) rename packages/{render-elements/src => render/src/elements}/misc.ts (97%) rename packages/{render-style/src => render/src/style}/font.ts (100%) rename packages/{render-style/src => render/src/style}/index.ts (100%) create mode 100644 packages/render/src/types.ts diff --git a/packages-user/client-base/src/material/autotile.ts b/packages-user/client-base/src/material/autotile.ts index 7d691f9..fe28761 100644 --- a/packages-user/client-base/src/material/autotile.ts +++ b/packages-user/client-base/src/material/autotile.ts @@ -2,7 +2,7 @@ import { IRect, ITextureRenderable, SizedCanvasImageSource -} from '@motajs/render-assets'; +} from '@motajs/render'; import { AutotileConnection, AutotileType, diff --git a/packages-user/client-base/src/material/builder.ts b/packages-user/client-base/src/material/builder.ts index 29b4335..b030b52 100644 --- a/packages-user/client-base/src/material/builder.ts +++ b/packages-user/client-base/src/material/builder.ts @@ -5,7 +5,7 @@ import { ITextureStreamComposer, TextureMaxRectsStreamComposer, SizedCanvasImageSource -} from '@motajs/render-assets'; +} from '@motajs/render'; import { IAssetBuilder, IMaterialGetter, ITrackedAssetData } from './types'; import { logger, PrivateListDirtyTracker } from '@motajs/common'; diff --git a/packages-user/client-base/src/material/fallback.ts b/packages-user/client-base/src/material/fallback.ts index e6ceac6..df64e94 100644 --- a/packages-user/client-base/src/material/fallback.ts +++ b/packages-user/client-base/src/material/fallback.ts @@ -1,4 +1,4 @@ -import { ITexture } from '@motajs/render-assets'; +import { ITexture } from '@motajs/render'; import { materials } from './ins'; import { IBlockIdentifier, IIndexedIdentifier } from './types'; import { isNil } from 'lodash-es'; diff --git a/packages-user/client-base/src/material/manager.ts b/packages-user/client-base/src/material/manager.ts index eb75c3a..85c92d0 100644 --- a/packages-user/client-base/src/material/manager.ts +++ b/packages-user/client-base/src/material/manager.ts @@ -9,7 +9,7 @@ import { TextureGridSplitter, TextureRowSplitter, TextureStore -} from '@motajs/render-assets'; +} from '@motajs/render'; import { IBlockIdentifier, IMaterialData, diff --git a/packages-user/client-base/src/material/types.ts b/packages-user/client-base/src/material/types.ts index ab02e46..281e59f 100644 --- a/packages-user/client-base/src/material/types.ts +++ b/packages-user/client-base/src/material/types.ts @@ -5,7 +5,7 @@ import { ITextureRenderable, ITextureStore, SizedCanvasImageSource -} from '@motajs/render-assets'; +} from '@motajs/render'; export const enum BlockCls { Unknown, diff --git a/packages-user/client-base/src/material/utils.ts b/packages-user/client-base/src/material/utils.ts index e8bf237..cbec1ed 100644 --- a/packages-user/client-base/src/material/utils.ts +++ b/packages-user/client-base/src/material/utils.ts @@ -1,4 +1,4 @@ -import { ITexture } from '@motajs/render-assets'; +import { ITexture } from '@motajs/render'; import { BlockCls } from './types'; export function getClsByString(cls: Cls): BlockCls { diff --git a/packages-user/client-modules/package.json b/packages-user/client-modules/package.json index ffd1f88..4100cb0 100644 --- a/packages-user/client-modules/package.json +++ b/packages-user/client-modules/package.json @@ -4,8 +4,7 @@ "@motajs/client-base": "workspace:*", "@motajs/common": "workspace:*", "@motajs/render": "workspace:*", - "@motajs/render-assets": "workspace:*", - "@motajs/render-core": "workspace:*", + "@motajs/render-vue": "workspace:*", "@motajs/legacy-common": "workspace:*", "@motajs/legacy-ui": "workspace:*", "@motajs/types": "workspace:*", diff --git a/packages-user/client-modules/src/render/action.ts b/packages-user/client-modules/src/render/action.ts index fff3b3b..28b7a4e 100644 --- a/packages-user/client-modules/src/render/action.ts +++ b/packages-user/client-modules/src/render/action.ts @@ -9,7 +9,7 @@ import { openReplay, openStatistics } from './ui'; -import { ElementLocator } from '@motajs/render-core'; +import { ElementLocator } from '@motajs/render'; export function createAction() { gameKey diff --git a/packages-user/client-modules/src/render/components/choices.tsx b/packages-user/client-modules/src/render/components/choices.tsx index 6a27d08..14f668c 100644 --- a/packages-user/client-modules/src/render/components/choices.tsx +++ b/packages-user/client-modules/src/render/components/choices.tsx @@ -1,4 +1,4 @@ -import { DefaultProps, ElementLocator, Font } from '@motajs/render'; +import { ElementLocator, Font } from '@motajs/render'; import { computed, defineComponent, reactive, ref } from 'vue'; import { Background, Selection } from './misc'; import { TextContent, TextContentProps } from './textbox'; @@ -7,6 +7,7 @@ import { Page, PageExpose } from './page'; import { GameUI, IUIMountable, SetupComponentOptions } from '@motajs/system-ui'; import { useKey } from '../use'; import { sleep } from 'mutate-animate'; +import { DefaultProps } from '@motajs/render-vue'; export interface ConfirmBoxProps extends DefaultProps, TextContentProps { /** 确认框的提示文本内容 */ diff --git a/packages-user/client-modules/src/render/components/floorSelect.tsx b/packages-user/client-modules/src/render/components/floorSelect.tsx index c44bc5c..46e5c3a 100644 --- a/packages-user/client-modules/src/render/components/floorSelect.tsx +++ b/packages-user/client-modules/src/render/components/floorSelect.tsx @@ -3,8 +3,7 @@ import { SetupComponentOptions } from '@motajs/system-ui'; import { clamp, isNil } from 'lodash-es'; import { computed, defineComponent, onMounted, ref, watch } from 'vue'; import { Scroll, ScrollExpose } from './scroll'; -import { Font } from '@motajs/render-style'; -import { MotaOffscreenCanvas2D } from '@motajs/render-core'; +import { MotaOffscreenCanvas2D, Font } from '@motajs/render'; import { HALF_STATUS_WIDTH, STATUS_BAR_HEIGHT, diff --git a/packages-user/client-modules/src/render/components/icons.tsx b/packages-user/client-modules/src/render/components/icons.tsx index dc5a251..8a5ae4b 100644 --- a/packages-user/client-modules/src/render/components/icons.tsx +++ b/packages-user/client-modules/src/render/components/icons.tsx @@ -1,4 +1,5 @@ -import { DefaultProps, ElementLocator, GraphicPropsBase } from '@motajs/render'; +import { ElementLocator } from '@motajs/render'; +import { DefaultProps, GraphicPropsBase } from '@motajs/render-vue'; import { SetupComponentOptions } from '@motajs/system-ui'; import { computed, diff --git a/packages-user/client-modules/src/render/components/input.tsx b/packages-user/client-modules/src/render/components/input.tsx index 1dc4844..d51e9dc 100644 --- a/packages-user/client-modules/src/render/components/input.tsx +++ b/packages-user/client-modules/src/render/components/input.tsx @@ -1,15 +1,15 @@ import { DefaultProps } from '@motajs/render-vue'; import { computed, defineComponent, onUnmounted, ref, watch } from 'vue'; import { TextContent, TextContentProps } from './textbox'; -import { RectRCircleParams } from '@motajs/render-elements'; import { Container, ElementLocator, MotaRenderer, RenderItem, - Transform -} from '@motajs/render-core'; -import { Font } from '@motajs/render-style'; + Transform, + Font, + RectRCircleParams +} from '@motajs/render'; import { transitionedColor, useKey } from '../use'; import { linear } from 'mutate-animate'; import { Background, Selection } from './misc'; diff --git a/packages-user/client-modules/src/render/components/list.tsx b/packages-user/client-modules/src/render/components/list.tsx index 76ade87..446d52b 100644 --- a/packages-user/client-modules/src/render/components/list.tsx +++ b/packages-user/client-modules/src/render/components/list.tsx @@ -1,8 +1,7 @@ import { DefaultProps } from '@motajs/render-vue'; import { computed, defineComponent, ref, SlotsType, VNode } from 'vue'; import { Selection } from './misc'; -import { ElementLocator } from '@motajs/render-core'; -import { Font } from '@motajs/render-style'; +import { ElementLocator, Font } from '@motajs/render'; import { SetupComponentOptions } from '@motajs/system-ui'; import { Scroll } from './scroll'; diff --git a/packages-user/client-modules/src/render/components/misc.tsx b/packages-user/client-modules/src/render/components/misc.tsx index bad8289..f2e9ff0 100644 --- a/packages-user/client-modules/src/render/components/misc.tsx +++ b/packages-user/client-modules/src/render/components/misc.tsx @@ -1,12 +1,6 @@ -import { - DefaultProps, - ElementLocator, - onTick, - PathProps, - Sprite -} from '@motajs/render'; +import { ElementLocator, Sprite, MotaOffscreenCanvas2D } from '@motajs/render'; +import { DefaultProps, PathProps, onTick } from '@motajs/render-vue'; import { computed, defineComponent, ref, SetupContext, watch } from 'vue'; -import { MotaOffscreenCanvas2D } from '@motajs/render'; import { TextContent, TextContentProps } from './textbox'; import { Scroll, ScrollExpose, ScrollProps } from './scroll'; import { transitioned } from '../use'; diff --git a/packages-user/client-modules/src/render/components/page.tsx b/packages-user/client-modules/src/render/components/page.tsx index c0c1811..2ea71b6 100644 --- a/packages-user/client-modules/src/render/components/page.tsx +++ b/packages-user/client-modules/src/render/components/page.tsx @@ -9,8 +9,9 @@ import { watch } from 'vue'; import { clamp, isNil } from 'lodash-es'; -import { DefaultProps, ElementLocator, Font } from '@motajs/render'; +import { ElementLocator, Font } from '@motajs/render'; import { SetupComponentOptions } from '@motajs/system-ui'; +import { DefaultProps } from '@motajs/render-vue'; /** 圆角矩形页码距离容器的边框大小,与 pageSize 相乘 */ const RECT_PAD = 0.1; diff --git a/packages-user/client-modules/src/render/components/scroll.tsx b/packages-user/client-modules/src/render/components/scroll.tsx index b941017..49c1b3a 100644 --- a/packages-user/client-modules/src/render/components/scroll.tsx +++ b/packages-user/client-modules/src/render/components/scroll.tsx @@ -12,7 +12,6 @@ import { } from 'vue'; import { Container, - DefaultProps, ElementLocator, RenderItem, Sprite, @@ -31,6 +30,7 @@ import { hyper, linear, Transition } from 'mutate-animate'; import { clamp } from 'lodash-es'; import { transitioned } from '../use'; import { SetupComponentOptions } from '@motajs/system-ui'; +import { DefaultProps } from '@motajs/render-vue'; export const enum ScrollDirection { Horizontal, diff --git a/packages-user/client-modules/src/render/components/textbox.tsx b/packages-user/client-modules/src/render/components/textbox.tsx index 5b327ad..cdff71d 100644 --- a/packages-user/client-modules/src/render/components/textbox.tsx +++ b/packages-user/client-modules/src/render/components/textbox.tsx @@ -2,7 +2,6 @@ import { ElementLocator, Font, Sprite, - DefaultProps, Text, MotaOffscreenCanvas2D } from '@motajs/render'; @@ -32,6 +31,7 @@ import { } from './textboxTyper'; import { SetupComponentOptions } from '@motajs/system-ui'; import { texture } from '../elements'; +import { DefaultProps } from '@motajs/render-vue'; // todo: TextContent 应该改成渲染元素? diff --git a/packages-user/client-modules/src/render/components/textboxTyper.ts b/packages-user/client-modules/src/render/components/textboxTyper.ts index b43a5a9..c20f124 100644 --- a/packages-user/client-modules/src/render/components/textboxTyper.ts +++ b/packages-user/client-modules/src/render/components/textboxTyper.ts @@ -1,8 +1,9 @@ import { logger } from '@motajs/common'; -import { Font, onTick, MotaOffscreenCanvas2D } from '@motajs/render'; +import { Font, MotaOffscreenCanvas2D } from '@motajs/render'; import EventEmitter from 'eventemitter3'; import { isNil } from 'lodash-es'; import { RenderableData, AutotileRenderable, texture } from '../elements'; +import { onTick } from '@motajs/render-vue'; /** 文字的安全填充,会填充在文字的上侧和下侧,防止削顶和削底 */ const SAFE_PAD = 1; diff --git a/packages-user/client-modules/src/render/components/thumbnail.tsx b/packages-user/client-modules/src/render/components/thumbnail.tsx index 7f9ef51..06e1b35 100644 --- a/packages-user/client-modules/src/render/components/thumbnail.tsx +++ b/packages-user/client-modules/src/render/components/thumbnail.tsx @@ -1,8 +1,4 @@ -import { - ElementLocator, - MotaOffscreenCanvas2D, - Sprite -} from '@motajs/render-core'; +import { ElementLocator, MotaOffscreenCanvas2D, Sprite } from '@motajs/render'; import { SpriteProps } from '@motajs/render-vue'; import { defineComponent, ref, watch } from 'vue'; import { SetupComponentOptions } from '@motajs/system-ui'; diff --git a/packages-user/client-modules/src/render/components/tip.tsx b/packages-user/client-modules/src/render/components/tip.tsx index d5c5eaa..4ef3c3c 100644 --- a/packages-user/client-modules/src/render/components/tip.tsx +++ b/packages-user/client-modules/src/render/components/tip.tsx @@ -1,4 +1,4 @@ -import { DefaultProps, ElementLocator, Font } from '@motajs/render'; +import { ElementLocator, Font } from '@motajs/render'; import { logger } from '@motajs/common'; import { computed, defineComponent, onUnmounted, ref } from 'vue'; import { transitioned } from '../use'; @@ -6,6 +6,7 @@ import { hyper } from 'mutate-animate'; import { debounce } from 'lodash-es'; import { texture } from '../elements'; import { SetupComponentOptions } from '@motajs/system-ui'; +import { DefaultProps } from '@motajs/render-vue'; export interface TipProps extends DefaultProps { /** 显示的位置 */ diff --git a/packages-user/client-modules/src/render/elements/animate.ts b/packages-user/client-modules/src/render/elements/animate.ts index 8a3011f..b421af2 100644 --- a/packages-user/client-modules/src/render/elements/animate.ts +++ b/packages-user/client-modules/src/render/elements/animate.ts @@ -5,7 +5,7 @@ import { RenderItem, Transform, MotaOffscreenCanvas2D -} from '@motajs/render-core'; +} from '@motajs/render'; import { HeroRenderer } from './hero'; import { ILayerGroupRenderExtends, LayerGroup } from './layer'; diff --git a/packages-user/client-modules/src/render/elements/block.ts b/packages-user/client-modules/src/render/elements/block.ts index 2a6cec8..94cd2b9 100644 --- a/packages-user/client-modules/src/render/elements/block.ts +++ b/packages-user/client-modules/src/render/elements/block.ts @@ -1,6 +1,6 @@ import { EventEmitter } from 'eventemitter3'; import { logger } from '@motajs/common'; -import { MotaOffscreenCanvas2D, RenderItem } from '@motajs/render-core'; +import { MotaOffscreenCanvas2D, RenderItem } from '@motajs/render'; interface BlockCacherEvent { split: []; diff --git a/packages-user/client-modules/src/render/elements/cache.ts b/packages-user/client-modules/src/render/elements/cache.ts index d0a51b4..87037d5 100644 --- a/packages-user/client-modules/src/render/elements/cache.ts +++ b/packages-user/client-modules/src/render/elements/cache.ts @@ -1,6 +1,5 @@ import { logger } from '@motajs/common'; -import { MotaOffscreenCanvas2D } from '@motajs/render-core'; -import { SizedCanvasImageSource } from '@motajs/render-assets'; +import { MotaOffscreenCanvas2D, SizedCanvasImageSource } from '@motajs/render'; // 经过测试(https://www.measurethat.net/Benchmarks/Show/30741/1/drawimage-img-vs-canvas-vs-bitmap-cropping-fix-loading) // 得出结论,ImageBitmap和Canvas的绘制性能不如Image,于是直接画Image就行,所以缓存基本上就是存Image diff --git a/packages-user/client-modules/src/render/elements/camera.ts b/packages-user/client-modules/src/render/elements/camera.ts index c25469b..0ef58d9 100644 --- a/packages-user/client-modules/src/render/elements/camera.ts +++ b/packages-user/client-modules/src/render/elements/camera.ts @@ -1,5 +1,5 @@ import { Animation, TimingFn, Transition } from 'mutate-animate'; -import { RenderItem, Transform } from '@motajs/render-core'; +import { RenderItem, Transform } from '@motajs/render'; import { logger } from '@motajs/common'; import EventEmitter from 'eventemitter3'; diff --git a/packages-user/client-modules/src/render/elements/damage.ts b/packages-user/client-modules/src/render/elements/damage.ts index d0078ef..5a65d87 100644 --- a/packages-user/client-modules/src/render/elements/damage.ts +++ b/packages-user/client-modules/src/render/elements/damage.ts @@ -4,7 +4,7 @@ import { MotaOffscreenCanvas2D, Transform, transformCanvas -} from '@motajs/render-core'; +} from '@motajs/render'; import { logger } from '@motajs/common'; import EventEmitter from 'eventemitter3'; import { isNil } from 'lodash-es'; diff --git a/packages-user/client-modules/src/render/elements/frame.ts b/packages-user/client-modules/src/render/elements/frame.ts index a6e54de..2be9b6a 100644 --- a/packages-user/client-modules/src/render/elements/frame.ts +++ b/packages-user/client-modules/src/render/elements/frame.ts @@ -1,5 +1,5 @@ import EventEmitter from 'eventemitter3'; -import { RenderItem } from '@motajs/render-core'; +import { RenderItem } from '@motajs/render'; export interface IAnimateFrame { updateFrameAnimate(frame: number, time: number): void; diff --git a/packages-user/client-modules/src/render/elements/hero.ts b/packages-user/client-modules/src/render/elements/hero.ts index 32c4fa2..908a09a 100644 --- a/packages-user/client-modules/src/render/elements/hero.ts +++ b/packages-user/client-modules/src/render/elements/hero.ts @@ -1,5 +1,4 @@ -import { RenderAdapter } from '@motajs/render-core'; -import { SizedCanvasImageSource } from '@motajs/render-assets'; +import { SizedCanvasImageSource, RenderAdapter } from '@motajs/render'; import { logger } from '@motajs/common'; import { ILayerRenderExtends, Layer, LayerMovingRenderable } from './layer'; import EventEmitter from 'eventemitter3'; diff --git a/packages-user/client-modules/src/render/elements/layer.ts b/packages-user/client-modules/src/render/elements/layer.ts index 13b1285..d316330 100644 --- a/packages-user/client-modules/src/render/elements/layer.ts +++ b/packages-user/client-modules/src/render/elements/layer.ts @@ -6,7 +6,7 @@ import { RenderItem, Transform, RenderAdapter -} from '@motajs/render-core'; +} from '@motajs/render'; import { logger } from '@motajs/common'; import { sleep, TimingFn } from 'mutate-animate'; import { RenderableData, texture } from './cache'; diff --git a/packages-user/client-modules/src/render/elements/misc.ts b/packages-user/client-modules/src/render/elements/misc.ts index d8ef9b6..6614117 100644 --- a/packages-user/client-modules/src/render/elements/misc.ts +++ b/packages-user/client-modules/src/render/elements/misc.ts @@ -4,9 +4,9 @@ import { RenderItem, RenderItemPosition, MotaOffscreenCanvas2D, - Transform -} from '@motajs/render-core'; -import { SizedCanvasImageSource } from '@motajs/render-assets'; + Transform, + SizedCanvasImageSource +} from '@motajs/render'; import { isNil } from 'lodash-es'; import { RenderableData, AutotileRenderable, texture } from './cache'; import { IAnimateFrame, renderEmits } from './frame'; diff --git a/packages-user/client-modules/src/render/elements/props.ts b/packages-user/client-modules/src/render/elements/props.ts index ea2f51d..095fbad 100644 --- a/packages-user/client-modules/src/render/elements/props.ts +++ b/packages-user/client-modules/src/render/elements/props.ts @@ -1,6 +1,5 @@ import { BaseProps, TagDefine } from '@motajs/render-vue'; -import { ERenderItemEvent, Transform } from '@motajs/render-core'; -import { CanvasStyle } from '@motajs/render-assets'; +import { ERenderItemEvent, Transform, CanvasStyle } from '@motajs/render'; import { ILayerGroupRenderExtends, FloorLayer, diff --git a/packages-user/client-modules/src/render/elements/utils.ts b/packages-user/client-modules/src/render/elements/utils.ts index 952aee1..f897cdd 100644 --- a/packages-user/client-modules/src/render/elements/utils.ts +++ b/packages-user/client-modules/src/render/elements/utils.ts @@ -1,4 +1,4 @@ -import { RenderAdapter } from '@motajs/render-core'; +import { RenderAdapter } from '@motajs/render'; import { FloorViewport } from './viewport'; export function disableViewport() { diff --git a/packages-user/client-modules/src/render/elements/viewport.ts b/packages-user/client-modules/src/render/elements/viewport.ts index b38dac0..74adfd1 100644 --- a/packages-user/client-modules/src/render/elements/viewport.ts +++ b/packages-user/client-modules/src/render/elements/viewport.ts @@ -1,4 +1,4 @@ -import { RenderAdapter } from '@motajs/render-core'; +import { RenderAdapter } from '@motajs/render'; import { HeroRenderer } from './hero'; import { ILayerGroupRenderExtends, LayerGroup } from './layer'; import { LayerGroupFloorBinder } from './layer'; diff --git a/packages-user/client-modules/src/render/fx/base.ts b/packages-user/client-modules/src/render/fx/base.ts index c665982..34b84bc 100644 --- a/packages-user/client-modules/src/render/fx/base.ts +++ b/packages-user/client-modules/src/render/fx/base.ts @@ -1,4 +1,4 @@ -import { Shader, ShaderProgram } from '@motajs/render-core'; +import { Shader, ShaderProgram } from '@motajs/render'; export abstract class EffectBase { /** 当前使用的程序 */ diff --git a/packages-user/client-modules/src/render/fx/image3d.ts b/packages-user/client-modules/src/render/fx/image3d.ts index 4c847c5..bf8f206 100644 --- a/packages-user/client-modules/src/render/fx/image3d.ts +++ b/packages-user/client-modules/src/render/fx/image3d.ts @@ -2,7 +2,7 @@ import { ITransformUpdatable, ShaderProgram, Transform3D -} from '@motajs/render-core'; +} from '@motajs/render'; import { EffectBase } from './base'; export class Image3DEffect diff --git a/packages-user/client-modules/src/render/index.tsx b/packages-user/client-modules/src/render/index.tsx index e1163aa..c4c7ae8 100644 --- a/packages-user/client-modules/src/render/index.tsx +++ b/packages-user/client-modules/src/render/index.tsx @@ -1,4 +1,4 @@ -import { createApp, Font } from '@motajs/render'; +import { Font } from '@motajs/render'; import { defineComponent } from 'vue'; import { DEFAULT_FONT, MAIN_HEIGHT, MAIN_WIDTH } from './shared'; import { hook, loading } from '@user/data-base'; @@ -10,6 +10,7 @@ import { sceneController } from './scene'; import { GameTitleUI } from './ui/title'; import { createWeather } from './weather'; import { createMainExtension } from './commonIns'; +import { createApp } from '@motajs/render-vue'; export function createGameRenderer() { const App = defineComponent(_props => { diff --git a/packages-user/client-modules/src/render/legacy/fallback.ts b/packages-user/client-modules/src/render/legacy/fallback.ts index 91d889e..7e7dbb1 100644 --- a/packages-user/client-modules/src/render/legacy/fallback.ts +++ b/packages-user/client-modules/src/render/legacy/fallback.ts @@ -1,10 +1,10 @@ import { - wrapInstancedComponent, MotaOffscreenCanvas2D, RenderItem, RenderItemPosition, Transform } from '@motajs/render'; +import { wrapInstancedComponent } from '@motajs/render-vue'; // 渲染端的向后兼容用,会充当两个版本间过渡的作用 class Change extends RenderItem { diff --git a/packages-user/client-modules/src/render/map/element.ts b/packages-user/client-modules/src/render/map/element.ts index cc691e7..10624b0 100644 --- a/packages-user/client-modules/src/render/map/element.ts +++ b/packages-user/client-modules/src/render/map/element.ts @@ -1,4 +1,4 @@ -import { MotaOffscreenCanvas2D, RenderItem } from '@motajs/render-core'; +import { MotaOffscreenCanvas2D, RenderItem } from '@motajs/render'; import { ILayerState } from '@user/data-state'; import { IMapRenderer } from './types'; import { ElementNamespace, ComponentInternalInstance } from 'vue'; diff --git a/packages-user/client-modules/src/render/map/extension/hero.ts b/packages-user/client-modules/src/render/map/extension/hero.ts index 19b4a85..25fb1e5 100644 --- a/packages-user/client-modules/src/render/map/extension/hero.ts +++ b/packages-user/client-modules/src/render/map/extension/hero.ts @@ -13,11 +13,7 @@ import { IMapRenderer, IMapRendererTicker, IMovingBlock } from '../types'; import { isNil } from 'lodash-es'; import { IHookController, logger } from '@motajs/common'; import { BlockCls, IMaterialFramedData } from '@user/client-base'; -import { - ITexture, - ITextureSplitter, - TextureRowSplitter -} from '@motajs/render-assets'; +import { ITexture, ITextureSplitter, TextureRowSplitter } from '@motajs/render'; import { IMapHeroRenderer } from './types'; import { TimingFn } from 'mutate-animate'; diff --git a/packages-user/client-modules/src/render/map/extension/text.ts b/packages-user/client-modules/src/render/map/extension/text.ts index 6a230fc..cfad261 100644 --- a/packages-user/client-modules/src/render/map/extension/text.ts +++ b/packages-user/client-modules/src/render/map/extension/text.ts @@ -7,7 +7,7 @@ import { IMapVertexBlock } from '../types'; import { IMapTextArea, IMapTextRenderable, IOnMapTextRenderer } from './types'; -import { ITransformUpdatable, Transform } from '@motajs/render-core'; +import { ITransformUpdatable, Transform } from '@motajs/render'; export class OnMapTextRenderer implements IOnMapTextRenderer, ITransformUpdatable @@ -116,6 +116,7 @@ export class OnMapTextRenderer (e * renderWidth) / 2, (f * renderHeight) / 2 ); + // 由于 WebGL 坐标系与 Canvas2D 坐标系不一样,所以还需要变换一下 ctx.scale(1, -1); // draw text in each block diff --git a/packages-user/client-modules/src/render/map/extension/types.ts b/packages-user/client-modules/src/render/map/extension/types.ts index 8bea34f..88cb6ed 100644 --- a/packages-user/client-modules/src/render/map/extension/types.ts +++ b/packages-user/client-modules/src/render/map/extension/types.ts @@ -1,11 +1,11 @@ -import { ITexture } from '@motajs/render-assets'; +import { ITexture, Font } from '@motajs/render'; import { FaceDirection, HeroAnimateDirection, IHeroState, IMapLayer } from '@user/data-state'; -import { Font } from '@motajs/render-style'; + import { IMapRenderResult } from '../types'; export interface IMapExtensionManager { diff --git a/packages-user/client-modules/src/render/map/renderer.ts b/packages-user/client-modules/src/render/map/renderer.ts index 6f80227..bb19b97 100644 --- a/packages-user/client-modules/src/render/map/renderer.ts +++ b/packages-user/client-modules/src/render/map/renderer.ts @@ -2,8 +2,9 @@ import { ITextureAnimater, ITextureRenderable, SizedCanvasImageSource, - TextureColumnAnimater -} from '@motajs/render-assets'; + TextureColumnAnimater, + Transform +} from '@motajs/render'; import { AutotileProcessor, BlockCls, @@ -45,7 +46,6 @@ import { DYNAMIC_RESERVE, MOVING_TOLERANCE } from '../shared'; -import { Transform } from '@motajs/render-core'; import { MapViewport } from './viewport'; import { INSTANCED_COUNT } from './constant'; import { StaticBlockStatus } from './status'; diff --git a/packages-user/client-modules/src/render/map/types.ts b/packages-user/client-modules/src/render/map/types.ts index 1aac847..cc5b3c5 100644 --- a/packages-user/client-modules/src/render/map/types.ts +++ b/packages-user/client-modules/src/render/map/types.ts @@ -1,9 +1,9 @@ import { IDirtyMark, IDirtyTracker } from '@motajs/common'; import { ITextureRenderable, - SizedCanvasImageSource -} from '@motajs/render-assets'; -import { Transform } from '@motajs/render-core'; + SizedCanvasImageSource, + Transform +} from '@motajs/render'; import { IAutotileProcessor, IMaterialFramedData, diff --git a/packages-user/client-modules/src/render/map/vertex.ts b/packages-user/client-modules/src/render/map/vertex.ts index 8c06c11..694d26a 100644 --- a/packages-user/client-modules/src/render/map/vertex.ts +++ b/packages-user/client-modules/src/render/map/vertex.ts @@ -21,7 +21,7 @@ import { DYNAMIC_RESERVE, MAP_BLOCK_HEIGHT, MAP_BLOCK_WIDTH } from '../shared'; import { BlockSplitter } from './block'; import { clamp, isNil } from 'lodash-es'; import { BlockCls, IMaterialFramedData } from '@user/client-base'; -import { IRect } from '@motajs/render-assets'; +import { IRect } from '@motajs/render'; import { INSTANCED_COUNT } from './constant'; export interface IMapDataGetter { diff --git a/packages-user/client-modules/src/render/map/viewport.ts b/packages-user/client-modules/src/render/map/viewport.ts index e5d7012..3c8f224 100644 --- a/packages-user/client-modules/src/render/map/viewport.ts +++ b/packages-user/client-modules/src/render/map/viewport.ts @@ -1,4 +1,4 @@ -import { Transform } from '@motajs/render-core'; +import { Transform } from '@motajs/render'; import { IBlockData, IMapRenderArea, diff --git a/packages-user/client-modules/src/render/renderer.ts b/packages-user/client-modules/src/render/renderer.ts index 3c1984f..82aa689 100644 --- a/packages-user/client-modules/src/render/renderer.ts +++ b/packages-user/client-modules/src/render/renderer.ts @@ -1,4 +1,4 @@ -import { MotaRenderer } from '@motajs/render-core'; +import { MotaRenderer } from '@motajs/render'; import { MAIN_WIDTH, MAIN_HEIGHT } from './shared'; export const mainRenderer = new MotaRenderer({ diff --git a/packages-user/client-modules/src/render/shared.ts b/packages-user/client-modules/src/render/shared.ts index a39b3e5..fc4f51b 100644 --- a/packages-user/client-modules/src/render/shared.ts +++ b/packages-user/client-modules/src/render/shared.ts @@ -1,5 +1,4 @@ -import { ElementLocator } from '@motajs/render-core'; -import { Font } from '@motajs/render-style'; +import { ElementLocator, Font } from '@motajs/render'; // 本文件为 UI 配置文件,你可以修改下面的每个常量来控制 UI 的显示参数,每个常量都有注释说明 diff --git a/packages-user/client-modules/src/render/ui/main.tsx b/packages-user/client-modules/src/render/ui/main.tsx index c2aedc4..a911e2c 100644 --- a/packages-user/client-modules/src/render/ui/main.tsx +++ b/packages-user/client-modules/src/render/ui/main.tsx @@ -3,8 +3,7 @@ import { Font, IActionEvent, MotaOffscreenCanvas2D, - Sprite, - onTick + Sprite } from '@motajs/render'; // import { WeatherController } from '../weather'; import { defineComponent, onUnmounted, reactive, ref } from 'vue'; @@ -33,6 +32,7 @@ import { FloorChange } from '../legacy/fallback'; import { mainUIController } from './controller'; import { isNil } from 'lodash-es'; import { mainMapExtension, mainMapRenderer } from '../commonIns'; +import { onTick } from '@motajs/render-vue'; const MainScene = defineComponent(() => { //#region 基本定义 diff --git a/packages-user/client-modules/src/render/ui/save.tsx b/packages-user/client-modules/src/render/ui/save.tsx index 11b9e36..87360f9 100644 --- a/packages-user/client-modules/src/render/ui/save.tsx +++ b/packages-user/client-modules/src/render/ui/save.tsx @@ -1,6 +1,5 @@ -import { ElementLocator, IWheelEvent } from '@motajs/render-core'; +import { ElementLocator, IWheelEvent, Font } from '@motajs/render'; import { DefaultProps } from '@motajs/render-vue'; -import { Font } from '@motajs/render'; import { GameUI, IUIMountable, diff --git a/packages-user/client-modules/src/render/ui/statusBar.tsx b/packages-user/client-modules/src/render/ui/statusBar.tsx index 07bdd29..f991079 100644 --- a/packages-user/client-modules/src/render/ui/statusBar.tsx +++ b/packages-user/client-modules/src/render/ui/statusBar.tsx @@ -1,12 +1,7 @@ import { GameUI, SetupComponentOptions } from '@motajs/system-ui'; import { computed, ComputedRef, defineComponent, shallowReactive } from 'vue'; import { TextContent } from '../components'; -import { - DefaultProps, - ElementLocator, - Font, - SizedCanvasImageSource -} from '@motajs/render'; +import { ElementLocator, Font, SizedCanvasImageSource } from '@motajs/render'; import { MixedToolbar, ReplayingStatus } from './toolbar'; import { openViewMap } from './viewmap'; import { mainUIController } from './controller'; @@ -16,6 +11,7 @@ import { STATUS_BAR_HEIGHT, STATUS_BAR_WIDTH } from '../shared'; +import { DefaultProps } from '@motajs/render-vue'; export interface ILeftHeroStatus { /** 楼层 id */ diff --git a/packages-user/client-modules/src/render/ui/title.tsx b/packages-user/client-modules/src/render/ui/title.tsx index 1ca906c..2ddcc53 100644 --- a/packages-user/client-modules/src/render/ui/title.tsx +++ b/packages-user/client-modules/src/render/ui/title.tsx @@ -20,7 +20,7 @@ import { TITLE_X, TITLE_Y } from '../shared'; -import { ElementLocator } from '@motajs/render-core'; +import { ElementLocator, Font } from '@motajs/render'; import { ITransitionedController, transitioned, @@ -28,7 +28,6 @@ import { useKey } from '../use'; import { hyper, linear, sleep } from 'mutate-animate'; -import { Font } from '@motajs/render-style'; import { ExitFullscreen, Fullscreen, SoundVolume } from '../components'; import { mainSetting, triggerFullscreen } from '@motajs/legacy-ui'; import { saveLoad } from './save'; diff --git a/packages-user/client-modules/src/render/ui/toolbar.tsx b/packages-user/client-modules/src/render/ui/toolbar.tsx index a939619..219f117 100644 --- a/packages-user/client-modules/src/render/ui/toolbar.tsx +++ b/packages-user/client-modules/src/render/ui/toolbar.tsx @@ -1,4 +1,4 @@ -import { DefaultProps, ElementLocator, Font } from '@motajs/render'; +import { ElementLocator, Font } from '@motajs/render'; import { computed, defineComponent, ref } from 'vue'; import { DoubleArrow, @@ -25,6 +25,7 @@ import { mainUIController } from './controller'; import { MAIN_HEIGHT, FULL_LOC, POP_BOX_WIDTH, CENTER_LOC } from '../shared'; import { openReplay, openSettings } from './settings'; import { openViewMap } from './viewmap'; +import { DefaultProps } from '@motajs/render-vue'; interface ToolbarProps extends DefaultProps { loc?: ElementLocator; diff --git a/packages-user/client-modules/src/render/ui/viewmap.tsx b/packages-user/client-modules/src/render/ui/viewmap.tsx index 3247582..0ac2bdb 100644 --- a/packages-user/client-modules/src/render/ui/viewmap.tsx +++ b/packages-user/client-modules/src/render/ui/viewmap.tsx @@ -3,8 +3,9 @@ import { IActionEvent, IActionEventBase, IWheelEvent, - MotaOffscreenCanvas2D -} from '@motajs/render-core'; + MotaOffscreenCanvas2D, + Font +} from '@motajs/render'; import { BaseProps } from '@motajs/render-vue'; import { GameUI, @@ -22,7 +23,7 @@ import { shallowRef, watch } from 'vue'; -import { FloorSelector } from '../components/floorSelect'; +import { FloorSelector } from '../components'; import { ILayerGroupRenderExtends, FloorDamageExtends, @@ -31,7 +32,6 @@ import { LayerGroup, LayerGroupFloorBinder } from '../elements'; -import { Font } from '@motajs/render-style'; import { clamp, mean } from 'lodash-es'; import { calculateStatisticsOne, StatisticsDataOneFloor } from './statistics'; import { Tip, TipExpose } from '../components'; diff --git a/packages-user/client-modules/src/render/utils/layout.ts b/packages-user/client-modules/src/render/utils/layout.ts index 0c2a1bb..aa15c52 100644 --- a/packages-user/client-modules/src/render/utils/layout.ts +++ b/packages-user/client-modules/src/render/utils/layout.ts @@ -1,4 +1,4 @@ -import { ElementLocator } from '@motajs/render-core'; +import { ElementLocator } from '@motajs/render'; export interface IGridLayoutData { /** 有多少列 */ diff --git a/packages-user/client-modules/src/render/weather/controller.ts b/packages-user/client-modules/src/render/weather/controller.ts index 99f5858..8ed8ad7 100644 --- a/packages-user/client-modules/src/render/weather/controller.ts +++ b/packages-user/client-modules/src/render/weather/controller.ts @@ -1,4 +1,4 @@ -import { RenderItem } from '@motajs/render-core'; +import { RenderItem } from '@motajs/render'; import { IWeather, IWeatherController, IWeatherInstance } from './types'; import { logger } from '@motajs/common'; import { isNil } from 'lodash-es'; diff --git a/packages-user/client-modules/src/render/weather/presets/cloud.ts b/packages-user/client-modules/src/render/weather/presets/cloud.ts index b76b3cc..20836b7 100644 --- a/packages-user/client-modules/src/render/weather/presets/cloud.ts +++ b/packages-user/client-modules/src/render/weather/presets/cloud.ts @@ -1,5 +1,5 @@ import { CloudLike } from './cloudLike'; -import { SizedCanvasImageSource } from '@motajs/render-assets'; +import { SizedCanvasImageSource } from '@motajs/render'; export class CloudWeather extends CloudLike { getImage(): SizedCanvasImageSource | null { diff --git a/packages-user/client-modules/src/render/weather/presets/cloudLike.ts b/packages-user/client-modules/src/render/weather/presets/cloudLike.ts index 237819b..c233836 100644 --- a/packages-user/client-modules/src/render/weather/presets/cloudLike.ts +++ b/packages-user/client-modules/src/render/weather/presets/cloudLike.ts @@ -1,6 +1,9 @@ -import { MotaOffscreenCanvas2D, Sprite } from '@motajs/render-core'; +import { + MotaOffscreenCanvas2D, + Sprite, + SizedCanvasImageSource +} from '@motajs/render'; import { Weather } from '../weather'; -import { SizedCanvasImageSource } from '@motajs/render-assets'; export abstract class CloudLike extends Weather { /** 不透明度 */ diff --git a/packages-user/client-modules/src/render/weather/presets/fog.ts b/packages-user/client-modules/src/render/weather/presets/fog.ts index 30692f8..e89a63b 100644 --- a/packages-user/client-modules/src/render/weather/presets/fog.ts +++ b/packages-user/client-modules/src/render/weather/presets/fog.ts @@ -1,6 +1,5 @@ -import { MotaOffscreenCanvas2D } from '@motajs/render-core'; +import { MotaOffscreenCanvas2D, SizedCanvasImageSource } from '@motajs/render'; import { CloudLike } from './cloudLike'; -import { SizedCanvasImageSource } from '@motajs/render-assets'; export class FogWeather extends CloudLike { /** 雾天气的图像比较小,因此将四个进行合并 */ diff --git a/packages-user/client-modules/src/render/weather/presets/sun.ts b/packages-user/client-modules/src/render/weather/presets/sun.ts index 34bc81b..23b75ca 100644 --- a/packages-user/client-modules/src/render/weather/presets/sun.ts +++ b/packages-user/client-modules/src/render/weather/presets/sun.ts @@ -1,4 +1,4 @@ -import { MotaOffscreenCanvas2D, Sprite } from '@motajs/render-core'; +import { MotaOffscreenCanvas2D, Sprite } from '@motajs/render'; import { Weather } from '../weather'; import { clamp } from 'lodash-es'; diff --git a/packages-user/client-modules/src/render/weather/types.ts b/packages-user/client-modules/src/render/weather/types.ts index c389f63..92803a2 100644 --- a/packages-user/client-modules/src/render/weather/types.ts +++ b/packages-user/client-modules/src/render/weather/types.ts @@ -1,4 +1,4 @@ -import { RenderItem } from '@motajs/render-core'; +import { RenderItem } from '@motajs/render'; export interface IWeather { /** 天气的等级,-1 表示未创建 */ diff --git a/packages-user/client-modules/src/render/weather/weather.ts b/packages-user/client-modules/src/render/weather/weather.ts index 9f7d418..cc690ae 100644 --- a/packages-user/client-modules/src/render/weather/weather.ts +++ b/packages-user/client-modules/src/render/weather/weather.ts @@ -1,4 +1,4 @@ -import { RenderItem } from '@motajs/render-core'; +import { RenderItem } from '@motajs/render'; import { IWeather } from './types'; export abstract class Weather implements IWeather { diff --git a/packages-user/entry-client/src/create.ts b/packages-user/entry-client/src/create.ts index d641901..4429786 100644 --- a/packages-user/entry-client/src/create.ts +++ b/packages-user/entry-client/src/create.ts @@ -5,10 +5,6 @@ import * as LegacyClient from '@motajs/legacy-client'; import * as LegacySystem from '@motajs/legacy-system'; import * as LegacyUI from '@motajs/legacy-ui'; import * as Render from '@motajs/render'; -import * as RenderAssets from '@motajs/render-assets'; -import * as RenderCore from '@motajs/render-core'; -import * as RenderElements from '@motajs/render-elements'; -import * as RenderStyle from '@motajs/render-style'; import * as RenderVue from '@motajs/render-vue'; import * as System from '@motajs/system'; import * as SystemAction from '@motajs/system-action'; @@ -30,10 +26,6 @@ export function create() { Mota.register('@motajs/legacy-system', LegacySystem); Mota.register('@motajs/legacy-ui', LegacyUI); Mota.register('@motajs/render', Render); - Mota.register('@motajs/render-assets', RenderAssets); - Mota.register('@motajs/render-core', RenderCore); - Mota.register('@motajs/render-elements', RenderElements); - Mota.register('@motajs/render-style', RenderStyle); Mota.register('@motajs/render-vue', RenderVue); Mota.register('@motajs/system', System); Mota.register('@motajs/system-action', SystemAction); diff --git a/packages-user/entry-data/src/mota.ts b/packages-user/entry-data/src/mota.ts index 374faf5..fff3dd4 100644 --- a/packages-user/entry-data/src/mota.ts +++ b/packages-user/entry-data/src/mota.ts @@ -6,9 +6,6 @@ import type * as LegacyCommon from '@motajs/legacy-common'; import type * as LegacySystem from '@motajs/legacy-system'; import type * as LegacyUI from '@motajs/legacy-ui'; import type * as Render from '@motajs/render'; -import type * as RenderCore from '@motajs/render-core'; -import type * as RenderElements from '@motajs/render-elements'; -import type * as RenderStyle from '@motajs/render-style'; import type * as RenderVue from '@motajs/render-vue'; import type * as System from '@motajs/system'; import type * as SystemAction from '@motajs/system-action'; @@ -34,9 +31,6 @@ interface ModuleInterface { '@motajs/legacy-system': typeof LegacySystem; '@motajs/legacy-ui': typeof LegacyUI; '@motajs/render': typeof Render; - '@motajs/render-core': typeof RenderCore; - '@motajs/render-elements': typeof RenderElements; - '@motajs/render-style': typeof RenderStyle; '@motajs/render-vue': typeof RenderVue; '@motajs/system': typeof System; '@motajs/system-action': typeof SystemAction; diff --git a/packages/animate/src/excitation.ts b/packages/animate/src/excitation.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/animate/src/types.ts b/packages/animate/src/types.ts index 792ff6f..b5ed84c 100644 --- a/packages/animate/src/types.ts +++ b/packages/animate/src/types.ts @@ -8,7 +8,7 @@ export interface IExcitable { export interface IExcitableController { /** 受激励对象 */ - readonly excitable: T; + readonly excitable: IExcitable; /** * 释放此受激励对象,不再受到当前激励源激励,可以换用其他激励源 diff --git a/packages/animate/src/utils.ts b/packages/animate/src/utils.ts new file mode 100644 index 0000000..3562a34 --- /dev/null +++ b/packages/animate/src/utils.ts @@ -0,0 +1,17 @@ +import { IExcitable } from './types'; + +/** + * 将一个函数转换为可激励对象 + * @param func 激励函数 + * @param thisArg 激励函数执行时的 `this` 指向 + */ +export function excited( + func: (payload: T) => void, + thisArg?: unknown +): IExcitable { + if (thisArg) { + return { excited: func.bind(thisArg) }; + } else { + return { excited: func }; + } +} diff --git a/packages/render-assets/package.json b/packages/render-assets/package.json deleted file mode 100644 index 5cb7221..0000000 --- a/packages/render-assets/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@motajs/render-assets", - "dependencies": { - "@motajs/client-base": "workspace:*" - } -} diff --git a/packages/render-core/package.json b/packages/render-core/package.json deleted file mode 100644 index e05f46c..0000000 --- a/packages/render-core/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "@motajs/render-core", - "dependencies": { - "@motajs/common": "workspace:*", - "@motajs/render-assets": "workspace:*" - } -} diff --git a/packages/render-elements/package.json b/packages/render-elements/package.json deleted file mode 100644 index 3defbdb..0000000 --- a/packages/render-elements/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "@motajs/render-elements", - "dependencies": { - "@motajs/common": "workspace:*", - "@motajs/render-core": "workspace:*", - "@motajs/render-style": "workspace:*" - } -} \ No newline at end of file diff --git a/packages/render-style/package.json b/packages/render-style/package.json deleted file mode 100644 index 486f3f8..0000000 --- a/packages/render-style/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@motajs/render-style", - "dependencies": { - "@motajs/common": "workspace:*" - } -} \ No newline at end of file diff --git a/packages/render-vue/package.json b/packages/render-vue/package.json index 857e46a..2f128b8 100644 --- a/packages/render-vue/package.json +++ b/packages/render-vue/package.json @@ -2,9 +2,7 @@ "name": "@motajs/render-vue", "dependencies": { "@motajs/common": "workspace:*", - "@motajs/render-core": "workspace:*", - "@motajs/render-elements": "workspace:*", - "@motajs/render-style": "workspace:*", + "@motajs/render": "workspace:*", "@motajs/system-action": "workspace:*" } -} \ No newline at end of file +} diff --git a/packages/render-vue/src/elements.tsx b/packages/render-vue/src/elements.tsx index 2ef77da..c721e12 100644 --- a/packages/render-vue/src/elements.tsx +++ b/packages/render-vue/src/elements.tsx @@ -31,13 +31,11 @@ import { RenderItem, ESpriteEvent, EContainerEvent, - EShaderEvent -} from '@motajs/render-core'; -import { + EShaderEvent, EImageEvent, ETextEvent, EGraphicItemEvent -} from '@motajs/render-elements'; +} from '@motajs/render'; export type WrapEventEmitterEvents = T extends string | symbol diff --git a/packages/render-vue/src/index.ts b/packages/render-vue/src/index.ts index 82c35c4..c975a12 100644 --- a/packages/render-vue/src/index.ts +++ b/packages/render-vue/src/index.ts @@ -1,4 +1,4 @@ -import { ERenderItemEvent } from '@motajs/render-core'; +import { ERenderItemEvent } from '@motajs/render'; import { TagDefine } from './elements'; import { BaseProps } from './props'; diff --git a/packages/render-vue/src/map.ts b/packages/render-vue/src/map.ts index 60f338b..5be1d33 100644 --- a/packages/render-vue/src/map.ts +++ b/packages/render-vue/src/map.ts @@ -1,3 +1,4 @@ +import { ElementNamespace, VNodeProps } from 'vue'; import { logger } from '@motajs/common'; import { ERenderItemEvent, @@ -7,9 +8,7 @@ import { ContainerCustom, MotaRenderer, Sprite, - Shader -} from '@motajs/render-core'; -import { + Shader, Comment, ETextEvent, Image, @@ -22,8 +21,7 @@ import { QuadraticCurve, Rect, RectR -} from '@motajs/render-elements'; -import { ElementNamespace, VNodeProps } from 'vue'; +} from '@motajs/render'; type OnItemCreate< E extends ERenderItemEvent = ERenderItemEvent, diff --git a/packages/render-vue/src/props.ts b/packages/render-vue/src/props.ts index 57620ff..6c57305 100644 --- a/packages/render-vue/src/props.ts +++ b/packages/render-vue/src/props.ts @@ -7,10 +7,8 @@ import { ElementLocator, ElementScale, CustomContainerRenderFn, - CustomContainerPropagateFn -} from '@motajs/render-core'; -import { CanvasStyle } from '@motajs/render-assets'; -import { + CustomContainerPropagateFn, + CanvasStyle, BezierParams, CircleParams, EllipseParams, @@ -18,9 +16,9 @@ import { LineParams, QuadParams, RectRCircleParams, - RectREllipseParams -} from '@motajs/render-elements'; -import { Font } from '@motajs/render-style'; + RectREllipseParams, + Font +} from '@motajs/render'; export interface CustomProps { _item: (props: BaseProps) => RenderItem; diff --git a/packages/render-vue/src/renderer.ts b/packages/render-vue/src/renderer.ts index 5f91124..e9ebecb 100644 --- a/packages/render-vue/src/renderer.ts +++ b/packages/render-vue/src/renderer.ts @@ -1,6 +1,11 @@ import { logger } from '@motajs/common'; -import { ERenderItemEvent, RenderItem } from '@motajs/render-core'; -import { ETextEvent, Text, Comment } from '@motajs/render-elements'; +import { + ERenderItemEvent, + RenderItem, + ETextEvent, + Text, + Comment +} from '@motajs/render'; import { ComponentInternalInstance, createRenderer, diff --git a/packages/render-vue/src/use.ts b/packages/render-vue/src/use.ts index 700627f..157fde6 100644 --- a/packages/render-vue/src/use.ts +++ b/packages/render-vue/src/use.ts @@ -1,5 +1,5 @@ import { Animation, Ticker, Transition } from 'mutate-animate'; -import { ERenderItemEvent, RenderItem } from '@motajs/render-core'; +import { ERenderItemEvent, RenderItem } from '@motajs/render'; import { onMounted, onUnmounted } from 'vue'; import EventEmitter from 'eventemitter3'; diff --git a/packages/render-assets/src/animater.ts b/packages/render/src/assets/animater.ts similarity index 100% rename from packages/render-assets/src/animater.ts rename to packages/render/src/assets/animater.ts diff --git a/packages/render-assets/src/composer.ts b/packages/render/src/assets/composer.ts similarity index 99% rename from packages/render-assets/src/composer.ts rename to packages/render/src/assets/composer.ts index 0debb72..4de0ec5 100644 --- a/packages/render-assets/src/composer.ts +++ b/packages/render/src/assets/composer.ts @@ -9,14 +9,14 @@ import { IRect, ITexture, ITextureComposedData, - ITextureComposer, - SizedCanvasImageSource + ITextureComposer } from './types'; import vert from './shader/pack.vert?raw'; import frag from './shader/pack.frag?raw'; import { logger } from '@motajs/common'; import { isNil } from 'lodash-es'; import { compileProgramWith } from '@motajs/client-base'; +import { SizedCanvasImageSource } from '../types'; interface IndexMarkedComposedData { /** 组合数据 */ diff --git a/packages/render-assets/src/index.ts b/packages/render/src/assets/index.ts similarity index 100% rename from packages/render-assets/src/index.ts rename to packages/render/src/assets/index.ts diff --git a/packages/render-assets/src/shader/pack.frag b/packages/render/src/assets/shader/pack.frag similarity index 100% rename from packages/render-assets/src/shader/pack.frag rename to packages/render/src/assets/shader/pack.frag diff --git a/packages/render-assets/src/shader/pack.vert b/packages/render/src/assets/shader/pack.vert similarity index 100% rename from packages/render-assets/src/shader/pack.vert rename to packages/render/src/assets/shader/pack.vert diff --git a/packages/render-assets/src/splitter.ts b/packages/render/src/assets/splitter.ts similarity index 100% rename from packages/render-assets/src/splitter.ts rename to packages/render/src/assets/splitter.ts diff --git a/packages/render-assets/src/store.ts b/packages/render/src/assets/store.ts similarity index 100% rename from packages/render-assets/src/store.ts rename to packages/render/src/assets/store.ts diff --git a/packages/render-assets/src/streamComposer.ts b/packages/render/src/assets/streamComposer.ts similarity index 100% rename from packages/render-assets/src/streamComposer.ts rename to packages/render/src/assets/streamComposer.ts diff --git a/packages/render-assets/src/texture.ts b/packages/render/src/assets/texture.ts similarity index 98% rename from packages/render-assets/src/texture.ts rename to packages/render/src/assets/texture.ts index 0eaf627..545e2ca 100644 --- a/packages/render-assets/src/texture.ts +++ b/packages/render/src/assets/texture.ts @@ -4,10 +4,10 @@ import { ITexture, ITextureComposedData, ITextureRenderable, - ITextureSplitter, - SizedCanvasImageSource + ITextureSplitter } from './types'; import { clamp } from 'lodash-es'; +import { SizedCanvasImageSource } from '../types'; export class Texture implements ITexture { source: SizedCanvasImageSource; diff --git a/packages/render-assets/src/types.ts b/packages/render/src/assets/types.ts similarity index 97% rename from packages/render-assets/src/types.ts rename to packages/render/src/assets/types.ts index 781321a..e1791c0 100644 --- a/packages/render-assets/src/types.ts +++ b/packages/render/src/assets/types.ts @@ -1,9 +1,4 @@ -export type SizedCanvasImageSource = Exclude< - CanvasImageSource, - VideoFrame | SVGElement ->; - -export type CanvasStyle = string | CanvasGradient | CanvasPattern; +import { SizedCanvasImageSource } from '../types'; export interface IRect { x: number; diff --git a/packages/render-core/src/adapter.ts b/packages/render/src/core/adapter.ts similarity index 100% rename from packages/render-core/src/adapter.ts rename to packages/render/src/core/adapter.ts diff --git a/packages/render-core/src/canvas2d.ts b/packages/render/src/core/canvas2d.ts similarity index 100% rename from packages/render-core/src/canvas2d.ts rename to packages/render/src/core/canvas2d.ts diff --git a/packages/render-core/src/container.ts b/packages/render/src/core/container.ts similarity index 100% rename from packages/render-core/src/container.ts rename to packages/render/src/core/container.ts diff --git a/packages/render-core/src/event.ts b/packages/render/src/core/event.ts similarity index 100% rename from packages/render-core/src/event.ts rename to packages/render/src/core/event.ts diff --git a/packages/render-core/src/gl2.ts b/packages/render/src/core/gl2.ts similarity index 99% rename from packages/render-core/src/gl2.ts rename to packages/render/src/core/gl2.ts index 076423b..ff575ad 100644 --- a/packages/render-core/src/gl2.ts +++ b/packages/render/src/core/gl2.ts @@ -4,7 +4,7 @@ import { MotaOffscreenCanvas2D } from './canvas2d'; import { ERenderItemEvent, RenderItem, RenderItemPosition } from './item'; import { Transform } from './transform'; import { isWebGL2Supported } from './utils'; -import { SizedCanvasImageSource } from '@motajs/render-assets'; +import { SizedCanvasImageSource } from '../types'; export interface IGL2ProgramPrefix { readonly VERTEX: string; diff --git a/packages/render-core/src/index.ts b/packages/render/src/core/index.ts similarity index 100% rename from packages/render-core/src/index.ts rename to packages/render/src/core/index.ts diff --git a/packages/render-core/src/item.ts b/packages/render/src/core/item.ts similarity index 100% rename from packages/render-core/src/item.ts rename to packages/render/src/core/item.ts diff --git a/packages/render-core/src/render.ts b/packages/render/src/core/render.ts similarity index 100% rename from packages/render-core/src/render.ts rename to packages/render/src/core/render.ts diff --git a/packages/render-core/src/shader.ts b/packages/render/src/core/shader.ts similarity index 100% rename from packages/render-core/src/shader.ts rename to packages/render/src/core/shader.ts diff --git a/packages/render-core/src/sprite.ts b/packages/render/src/core/sprite.ts similarity index 100% rename from packages/render-core/src/sprite.ts rename to packages/render/src/core/sprite.ts diff --git a/packages/render-core/src/transform.ts b/packages/render/src/core/transform.ts similarity index 100% rename from packages/render-core/src/transform.ts rename to packages/render/src/core/transform.ts diff --git a/packages/render-core/src/utils.ts b/packages/render/src/core/utils.ts similarity index 100% rename from packages/render-core/src/utils.ts rename to packages/render/src/core/utils.ts diff --git a/packages/render-elements/src/graphics.ts b/packages/render/src/elements/graphics.ts similarity index 99% rename from packages/render-elements/src/graphics.ts rename to packages/render/src/elements/graphics.ts index f6064fe..3543dc5 100644 --- a/packages/render-elements/src/graphics.ts +++ b/packages/render/src/elements/graphics.ts @@ -3,8 +3,8 @@ import { ERenderItemEvent, RenderItem, MotaOffscreenCanvas2D -} from '@motajs/render-core'; -import { CanvasStyle } from '@motajs/render-assets'; +} from '../core'; +import { CanvasStyle } from '../types'; import { logger } from '@motajs/common'; import { clamp, isEqual, isNil } from 'lodash-es'; diff --git a/packages/render-elements/src/index.ts b/packages/render/src/elements/index.ts similarity index 100% rename from packages/render-elements/src/index.ts rename to packages/render/src/elements/index.ts diff --git a/packages/render-elements/src/misc.ts b/packages/render/src/elements/misc.ts similarity index 97% rename from packages/render-elements/src/misc.ts rename to packages/render/src/elements/misc.ts index a2b88b6..e604623 100644 --- a/packages/render-elements/src/misc.ts +++ b/packages/render/src/elements/misc.ts @@ -4,9 +4,9 @@ import { RenderItemPosition, Transform, MotaOffscreenCanvas2D -} from '@motajs/render-core'; -import { CanvasStyle } from '@motajs/render-assets'; -import { Font } from '@motajs/render-style'; +} from '../core'; +import { CanvasStyle } from '../types'; +import { Font } from '../style'; /** 文字的安全填充,会填充在文字的上侧和下侧,防止削顶和削底 */ const SAFE_PAD = 1; diff --git a/packages/render/src/index.ts b/packages/render/src/index.ts index 738e7ca..29387d7 100644 --- a/packages/render/src/index.ts +++ b/packages/render/src/index.ts @@ -1,5 +1,5 @@ -export * from '@motajs/render-assets'; -export * from '@motajs/render-core'; -export * from '@motajs/render-elements'; -export * from '@motajs/render-style'; -export * from '@motajs/render-vue'; +export * from './assets'; +export * from './core'; +export * from './elements'; +export * from './style'; +export * from './types'; diff --git a/packages/render-style/src/font.ts b/packages/render/src/style/font.ts similarity index 100% rename from packages/render-style/src/font.ts rename to packages/render/src/style/font.ts diff --git a/packages/render-style/src/index.ts b/packages/render/src/style/index.ts similarity index 100% rename from packages/render-style/src/index.ts rename to packages/render/src/style/index.ts diff --git a/packages/render/src/types.ts b/packages/render/src/types.ts new file mode 100644 index 0000000..133dde7 --- /dev/null +++ b/packages/render/src/types.ts @@ -0,0 +1,6 @@ +export type SizedCanvasImageSource = Exclude< + CanvasImageSource, + VideoFrame | SVGElement +>; + +export type CanvasStyle = string | CanvasGradient | CanvasPattern;