refactor: reorganize package structure and decouple framework packages (#338)
* refactor: reorganize package structure and decouple framework packages ## Package Structure Reorganization - Reorganized 55 packages into categorized subdirectories: - packages/framework/ - Generic framework (Laya/Cocos compatible) - packages/engine/ - ESEngine core modules - packages/rendering/ - Rendering modules (WASM dependent) - packages/physics/ - Physics modules - packages/streaming/ - World streaming - packages/network-ext/ - Network extensions - packages/editor/ - Editor framework and plugins - packages/rust/ - Rust WASM engine - packages/tools/ - Build tools and SDK ## Framework Package Decoupling - Decoupled behavior-tree and blueprint packages from ESEngine dependencies - Created abstracted interfaces (IBTAssetManager, IBehaviorTreeAssetContent) - ESEngine-specific code moved to esengine/ subpath exports - Framework packages now usable with Cocos/Laya without ESEngine ## CI Configuration - Updated CI to only type-check and lint framework packages - Added type-check:framework and lint:framework scripts ## Breaking Changes - Package import paths changed due to directory reorganization - ESEngine integrations now use subpath imports (e.g., '@esengine/behavior-tree/esengine') * fix: update es-engine file path after directory reorganization * docs: update README to focus on framework over engine * ci: only build framework packages, remove Rust/WASM dependencies * fix: remove esengine subpath from behavior-tree and blueprint builds ESEngine integration code will only be available in full engine builds. Framework packages are now purely engine-agnostic. * fix: move network-protocols to framework, build both in CI * fix: update workflow paths from packages/core to packages/framework/core * fix: exclude esengine folder from type-check in behavior-tree and blueprint * fix: update network tsconfig references to new paths * fix: add test:ci:framework to only test framework packages in CI * fix: only build core and math npm packages in CI * fix: exclude test files from CodeQL and fix string escaping security issue
This commit is contained in:
254
packages/rendering/fairygui/src/index.ts
Normal file
254
packages/rendering/fairygui/src/index.ts
Normal file
@@ -0,0 +1,254 @@
|
||||
/**
|
||||
* @esengine/fairygui
|
||||
*
|
||||
* FairyGUI ECS integration package.
|
||||
* Provides a complete UI system compatible with FairyGUI Editor.
|
||||
*
|
||||
* FairyGUI ECS 集成包,提供与 FairyGUI 编辑器兼容的完整 UI 系统
|
||||
*/
|
||||
|
||||
// Core classes | 核心类
|
||||
export { GObject } from './core/GObject';
|
||||
export { GComponent } from './core/GComponent';
|
||||
export { GRoot } from './core/GRoot';
|
||||
export { GGroup } from './core/GGroup';
|
||||
export { Controller } from './core/Controller';
|
||||
export { Transition } from './core/Transition';
|
||||
export { Timer } from './core/Timer';
|
||||
export { Stage, EScaleMode, EAlignMode } from './core/Stage';
|
||||
export { UIConfig, getUIConfig, setUIConfig } from './core/UIConfig';
|
||||
export { UIObjectFactory } from './core/UIObjectFactory';
|
||||
export { GObjectPool } from './core/GObjectPool';
|
||||
export { DragDropManager } from './core/DragDropManager';
|
||||
export {
|
||||
ServiceContainer,
|
||||
getGlobalContainer,
|
||||
setGlobalContainer,
|
||||
EServiceLifecycle,
|
||||
Inject
|
||||
} from './core/ServiceContainer';
|
||||
export type { ServiceIdentifier, ServiceFactory } from './core/ServiceContainer';
|
||||
|
||||
// Field types | 字段类型
|
||||
export {
|
||||
EButtonMode,
|
||||
EAutoSizeType,
|
||||
EAlignType,
|
||||
EVertAlignType,
|
||||
ELoaderFillType,
|
||||
EListLayoutType,
|
||||
EListSelectionMode,
|
||||
EOverflowType,
|
||||
EPackageItemType,
|
||||
EObjectType,
|
||||
EProgressTitleType,
|
||||
EScrollBarDisplayType,
|
||||
EScrollType,
|
||||
EFlipType,
|
||||
EChildrenRenderOrder,
|
||||
EGroupLayoutType,
|
||||
EPopupDirection,
|
||||
ERelationType,
|
||||
EFillMethod,
|
||||
EFillOrigin,
|
||||
EObjectPropID,
|
||||
EGearType,
|
||||
EEaseType,
|
||||
EBlendMode,
|
||||
ETransitionActionType,
|
||||
EGraphType
|
||||
} from './core/FieldTypes';
|
||||
|
||||
// Display objects | 显示对象
|
||||
export { DisplayObject } from './display/DisplayObject';
|
||||
export { Container } from './display/Container';
|
||||
export { Image } from './display/Image';
|
||||
export { TextField } from './display/TextField';
|
||||
export { Graph } from './display/Graph';
|
||||
export { MovieClip } from './display/MovieClip';
|
||||
export type { IFrame, SimpleHandler } from './display/MovieClip';
|
||||
export { InputTextField } from './display/InputTextField';
|
||||
|
||||
// Widgets | 控件
|
||||
export { GImage } from './widgets/GImage';
|
||||
export { GTextField } from './widgets/GTextField';
|
||||
export { GGraph } from './widgets/GGraph';
|
||||
export { GButton } from './widgets/GButton';
|
||||
export { GProgressBar } from './widgets/GProgressBar';
|
||||
export { GSlider } from './widgets/GSlider';
|
||||
export { GLoader } from './widgets/GLoader';
|
||||
export { GMovieClip } from './widgets/GMovieClip';
|
||||
export { GList } from './widgets/GList';
|
||||
export type { ItemRenderer, ItemProvider } from './widgets/GList';
|
||||
export { GTextInput, EKeyboardType } from './widgets/GTextInput';
|
||||
export { PopupMenu } from './widgets/PopupMenu';
|
||||
export { Window } from './widgets/Window';
|
||||
export type { IUISource } from './widgets/Window';
|
||||
|
||||
// Events | 事件
|
||||
export { EventDispatcher } from './events/EventDispatcher';
|
||||
export type { TypedEventListener, EventListener, FGUIEventType, IEventContext } from './events/EventDispatcher';
|
||||
export { FGUIEvents } from './events/Events';
|
||||
export type { IInputEventData } from './events/Events';
|
||||
|
||||
// Layout | 布局
|
||||
export { Relations } from './layout/Relations';
|
||||
export { RelationItem } from './layout/RelationItem';
|
||||
|
||||
// Gears | 齿轮
|
||||
export {
|
||||
GearBase,
|
||||
GearTweenConfig,
|
||||
GearDisplay,
|
||||
GearDisplay2,
|
||||
GearXY,
|
||||
GearSize,
|
||||
GearLook,
|
||||
GearColor,
|
||||
GearText,
|
||||
GearIcon,
|
||||
GearFontSize,
|
||||
GearAnimation
|
||||
} from './gears';
|
||||
|
||||
// Scroll | 滚动
|
||||
export { ScrollPane } from './scroll/ScrollPane';
|
||||
|
||||
// Package | 包管理
|
||||
export { UIPackage } from './package/UIPackage';
|
||||
export { PackageItem } from './package/PackageItem';
|
||||
|
||||
// Utils | 工具
|
||||
export { Point, Rectangle, Margin } from './utils/MathTypes';
|
||||
export type { IPoint, IRectangle } from './utils/MathTypes';
|
||||
export { ByteBuffer } from './utils/ByteBuffer';
|
||||
|
||||
// Binding | 绑定
|
||||
export {
|
||||
ObservableProperty,
|
||||
ComputedProperty,
|
||||
PropertyBinder
|
||||
} from './binding/PropertyBinding';
|
||||
export type {
|
||||
IObservableProperty,
|
||||
IWritableProperty,
|
||||
IPropertySubscription,
|
||||
PropertyChangeCallback
|
||||
} from './binding/PropertyBinding';
|
||||
|
||||
// Render | 渲染
|
||||
export { RenderCollector } from './render/RenderCollector';
|
||||
export { RenderBridge } from './render/RenderBridge';
|
||||
export { Canvas2DBackend } from './render/Canvas2DBackend';
|
||||
export {
|
||||
DOMTextRenderer,
|
||||
getDOMTextRenderer,
|
||||
setDOMTextRenderer
|
||||
} from './render/DOMTextRenderer';
|
||||
export type { ICameraState } from './render/DOMTextRenderer';
|
||||
export {
|
||||
FGUIRenderDataProvider,
|
||||
createFGUIRenderDataProvider
|
||||
} from './render/FGUIRenderDataProvider';
|
||||
export type {
|
||||
IEngineRenderData,
|
||||
ITextRenderData,
|
||||
IMeshRenderData,
|
||||
IFGUIRenderDataProvider,
|
||||
TextureResolverFn
|
||||
} from './render/FGUIRenderDataProvider';
|
||||
export type {
|
||||
IRenderCollector,
|
||||
IRenderPrimitive,
|
||||
ERenderPrimitiveType,
|
||||
ETextAlign,
|
||||
ETextVAlign
|
||||
} from './render/IRenderCollector';
|
||||
export type {
|
||||
IRenderBackend,
|
||||
IRenderStats,
|
||||
ITextureHandle,
|
||||
IFontHandle,
|
||||
RenderBackendFactory
|
||||
} from './render/IRenderBackend';
|
||||
|
||||
// Tween | 补间动画
|
||||
export { GTween } from './tween/GTween';
|
||||
export { GTweener } from './tween/GTweener';
|
||||
export type { TweenCallback } from './tween/GTweener';
|
||||
export { TweenManager } from './tween/TweenManager';
|
||||
export { TweenValue } from './tween/TweenValue';
|
||||
export { evaluateEase } from './tween/EaseType';
|
||||
|
||||
// Text | 文本渲染
|
||||
export {
|
||||
MSDFFont,
|
||||
MSDFFontManager,
|
||||
getMSDFFontManager,
|
||||
layoutText,
|
||||
measureText,
|
||||
createTextBatch,
|
||||
mergeTextBatches,
|
||||
MSDFFontLoader,
|
||||
loadMSDFFont,
|
||||
createFontData,
|
||||
BitmapFont,
|
||||
BitmapFontManager,
|
||||
getBitmapFontManager,
|
||||
convertBitmapToMSDFFormat,
|
||||
DynamicFont,
|
||||
DynamicFontManager,
|
||||
getDynamicFontManager,
|
||||
COMMON_CJK_CHARS,
|
||||
COMMON_ASCII_CHARS
|
||||
} from './text';
|
||||
export type {
|
||||
IMSDFGlyph,
|
||||
IMSDFKerning,
|
||||
IMSDFFontAtlas,
|
||||
IMSDFFontMetrics,
|
||||
IMSDFFontData,
|
||||
IPositionedGlyph,
|
||||
ITextLayoutOptions,
|
||||
ITextLayoutResult,
|
||||
ITextBatchData,
|
||||
ITextBatchOptions,
|
||||
IFontLoadResult,
|
||||
IBitmapGlyph,
|
||||
IBitmapFontData,
|
||||
IDynamicFontConfig,
|
||||
TextureUploadCallback
|
||||
} from './text';
|
||||
|
||||
// Asset | 资产
|
||||
export {
|
||||
FUIAssetLoader,
|
||||
fuiAssetLoader,
|
||||
FGUITextureManager,
|
||||
getFGUITextureManager,
|
||||
createTextureResolver,
|
||||
setGlobalTextureService,
|
||||
getGlobalTextureService
|
||||
} from './asset';
|
||||
export type {
|
||||
IFUIAsset,
|
||||
IAssetLoader,
|
||||
IAssetContent,
|
||||
IAssetParseContext,
|
||||
ITextureService
|
||||
} from './asset';
|
||||
|
||||
// ECS Integration | ECS 集成
|
||||
export {
|
||||
FGUIComponent,
|
||||
FGUIRenderSystem,
|
||||
FGUIRenderSystemToken,
|
||||
getFGUIRenderSystem,
|
||||
setFGUIRenderSystem,
|
||||
FGUIRuntimeModule,
|
||||
FGUIPlugin
|
||||
} from './ecs';
|
||||
export type { IFGUIComponentData, RenderSubmitCallback } from './ecs';
|
||||
|
||||
// Internal wiring (breaks circular dependencies)
|
||||
import './core/init';
|
||||
Reference in New Issue
Block a user