feat(all): 迁移扩展相关功能

This commit is contained in:
plum
2026-04-08 15:34:43 +08:00
parent ad2dd979eb
commit d7c0dba569
278 changed files with 25207 additions and 62 deletions
+1
View File
@@ -0,0 +1 @@
declare module "heatmap.js-fix";
+56
View File
@@ -0,0 +1,56 @@
declare namespace IHeatmap {
type Mode = "flat" | "height";
interface Point {
x: number;
y: number;
value: number;
radius?: number;
}
interface Data {
max?: number;
min?: number;
points: Point[];
}
interface Size {
width: number;
height: number;
}
interface HeightOptions {
scale: number;
segments: Size;
}
interface HeatmapConfig {
radius?: number;
blur?: number;
maxOpacity?: number;
minOpacity?: number;
gradient?: Record<string, string>;
}
type Side = "front" | "back" | "double";
interface Material {
transparent?: boolean;
opacity?: number;
depthWrite?: boolean;
depthTest?: boolean;
side?: Side;
}
interface options {
name: string;
position: number[];
mode: Mode;
size: Size;
resolution: Size;
material: Material;
height: HeightOptions;
heatmap: HeatmapConfig;
data: Data;
}
}
+61
View File
@@ -0,0 +1,61 @@
declare namespace IPath {
type Mode = "path" | "tube";
type GeometrySide = "left" | "right" | "both";
type MaterialSide = "front" | "back" | "double";
interface Point {
x: number;
y: number;
z: number;
}
interface PathConfig {
width?: number;
arrow?: boolean;
progress?: number;
side?: GeometrySide;
}
interface TubeConfig {
radius?: number;
radialSegments?: number;
progress?: number;
startRad?: number;
}
interface FlowConfig {
enabled?: boolean;
speed?: number;
direction?: number[];
}
interface Material {
color?: string | number;
map?: string;
transparent?: boolean;
opacity?: number;
depthWrite?: boolean;
depthTest?: boolean;
side?: MaterialSide;
repeat?: number[];
offset?: number[];
rotation?: number;
}
interface options {
name: string;
position: number[];
mode: Mode;
points: Point[];
closed: boolean;
cornerRadius: number;
cornerSplit: number;
up?: number[] | null;
path: PathConfig;
tube: TubeConfig;
flow: FlowConfig;
material: Material;
}
}
+29
View File
@@ -0,0 +1,29 @@
declare namespace IUIPanel {
type NodeType = "block" | "text" | "inline" | "inlineBlock";
type DropPosition = "before" | "after" | "inside";
interface Node {
id: string;
type: NodeType;
name?: string;
props?: Record<string, any>;
states?: Record<string, Record<string, any>>;
children?: Node[];
}
interface FontConfig {
family?: string;
texture?: string;
weight?: string | number;
style?: string;
}
interface options extends Node {
name: string;
position: number[];
rotation?: number[];
scale?: number[];
font?: FontConfig;
}
}
+57
View File
@@ -0,0 +1,57 @@
declare namespace IWaterPool {
interface Options {
name?: string;
// 水池类型,圆柱水池或者方形水池
type?: 'cylinder' | 'square';
// 光照方向
light?: [number, number, number];
// 水池壁纹理
tiles?: tiles;
// 环境贴图/天空盒
sky?: any;
// 水体控制. none = 无壁无水体(水面), wall = 有壁, volume = 无壁有体积水体
wallMode?: 'none' | 'wall' | 'volume';
// 是否显示水壁。当传入wallMode时,此参数无效
wall?: boolean;
// 水池壁透明度
wallOpacity?: number;
// 开启屏幕空间折射,保证能看到水下物体。未配置时, 如果wallMode === 'volume',则自动关闭(避免水面发黑)
useSceneRefraction?: number;
// 顶部水面透视强度(0~1),用于控制看到水下物体的程度
surfaceTransmittance?: number;
// 波纹法线强度与折射偏移强度,降低边缘过强的明暗对比
normalStrength?: number;
// 屏幕空间折射强度(0~1),控制水面折射效果的强弱
refractionStrength?: number;
// 体积水颜色,wallMode === 'volume'生效
volumeColor?: THREE.Color;
// 水面颜色,一般默认与体积色一致,保证水面/水体颜色接近
surfaceColor?: THREE.Color;
simulationSize?: number;
causticsSize?: number;
waterSegments?: number;
wallSegments?: number;
// 水面直径(type === 'cylinder')
diameter?: number;
// 水面宽度(type === 'square')
width?: number;
// 水面长度(type === 'square')
depth?: number;
// 水池高度
height?: number;
// 水波效果
disturbance?: {
enabled?: boolean;
mode?: 'drag' | 'uniform';
dropsPerStep?: number;
radiusMin?: number;
radiusMax?: number;
strengthMin?: number;
strengthMax?: number;
travelRadius?: number;
driftSpeed?: number;
jitter?: number;
spread?: number;
};
}
}
+34
View File
@@ -0,0 +1,34 @@
declare module "three.path" {
import * as THREE from "three";
export class PathPointList {
array: any[];
count: number;
set(points: THREE.Vector3[], cornerRadius?: number, cornerSplit?: number, up?: THREE.Vector3 | null, close?: boolean): void;
distance(): number;
}
export interface PathGeometryOptions {
width?: number;
progress?: number;
arrow?: boolean;
side?: "left" | "right" | "both";
}
export class PathGeometry extends THREE.BufferGeometry {
constructor(initData?: number | { pathPointList: PathPointList; options?: PathGeometryOptions; usage?: number }, generateUv2?: boolean);
update(pathPointList: PathPointList, options?: PathGeometryOptions): void;
}
export interface PathTubeGeometryOptions {
radius?: number;
radialSegments?: number;
progress?: number;
startRad?: number;
}
export class PathTubeGeometry extends THREE.BufferGeometry {
constructor(initData?: number | { pathPointList: PathPointList; options?: PathTubeGeometryOptions; usage?: number }, generateUv2?: boolean);
update(pathPointList: PathPointList, options?: PathTubeGeometryOptions): void;
}
}