@galacean/effects-plugin-editor-gizmo 0.0.1-alpha.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,46 @@
1
+ import type { spec } from '@galacean/effects';
2
+ type mat2 = spec.mat2;
3
+ type mat3 = spec.mat3;
4
+ type mat4 = spec.mat4;
5
+ type vec2 = spec.vec2;
6
+ type vec3 = spec.vec3;
7
+ type vec4 = spec.vec4;
8
+ export type vec = number[];
9
+ export { vec2, vec4, vec3, mat2, mat3, mat4, };
10
+ export declare function vecAdd<T extends vec | vec3 | vec4 | vec2>(out: T | number[], a: T, b: T): T;
11
+ export declare function vecSub<T extends vec | vec3 | vec4 | vec2>(out: T | number[], a: T, b: T): T;
12
+ export declare function vecAddCombine<T extends vec | vec3 | vec4 | vec2>(out: T | number[], a: T, b: T): T;
13
+ export declare function vecMulCombine<T extends vec | vec3 | vec4 | vec2>(out: T | number[], a: T, b: T): T;
14
+ export declare function mat3NormalFromMat4(out: mat3 | number[], a: mat4): mat3;
15
+ export declare function vecMinus<T extends vec | vec3 | vec4 | vec2>(out: T | number[], v0: T, v1: T): T;
16
+ export declare function vecSquareDistance(v0: vec, v1: vec): number;
17
+ export declare const NumberEpsilon: number;
18
+ export declare function vecNormalize<T extends vec | vec2 | vec3 | vec4>(a: T): T;
19
+ export declare function vecMulScalar<T extends vec | vec3 | vec4 | vec2>(out: T | number[], vec: T, a: number): T;
20
+ export declare function vecDot(out: vec, a: vec, b?: number | vec): number | vec;
21
+ export declare function vec3Cross(out: vec3 | number[], a: vec3, b: vec3): vec3;
22
+ export declare function vec3MulMat4(out: vec3 | number[], vec3: vec3, mat4: mat4): vec3;
23
+ export declare function vec4MulMat4(out: vec4 | number[], cartesian: vec4, mat4: mat4): vec4;
24
+ export declare function vec3TranslateByMat4(out: vec3 | number[], vec3: vec3, matrix4: mat4): vec3;
25
+ export declare function vec3RotateByMat4(out: vec3 | number[], a: vec3, m: mat4): vec3;
26
+ export declare function vec3MulMat3(out: vec3 | number[], a: vec3, m: mat3): vec3;
27
+ export declare function vec3MulMat3ByPoint(out: vec3 | number[], a: vec3, m: mat3, c: vec3): vec3;
28
+ export declare function mat3FromRotationZ(out: mat3 | number[], rad: number): mat3;
29
+ export declare function mat3FromRotationZYX(ret: mat3 | number[], x: number, y: number, z: number): mat3;
30
+ export declare function mat3FromRotation(ret: mat3 | number[], rotation: vec3): mat3;
31
+ export declare function invertMat4(out: mat4 | number[], a: mat4): mat4;
32
+ export declare function isZeroVec(vec: vec): boolean;
33
+ export declare function ensureVec3(num?: any): vec3;
34
+ export declare function rotateVec2(out: vec2 | number[], vec2: vec2, angleInRad: number): vec2;
35
+ export declare function rotationFromMat3(out: vec3 | number[], mat3: mat3): spec.vec3;
36
+ export declare function mat3MulMat3(out: mat3 | number[], a: mat3, b: mat3): mat3;
37
+ export declare function mat4MulMat4(a: mat4, b: mat4): mat4;
38
+ export declare function clamp(v: number, min: number, max: number): number;
39
+ export declare function vec3ToVec2(a: vec3): vec2;
40
+ export declare function distanceOfPointAndLine(point: vec2, line: [vec2, vec2]): {
41
+ distance: number;
42
+ isInLine: boolean;
43
+ };
44
+ export declare function projectionOfPointAndLine(point: vec2, line: [vec3, vec3]): vec3;
45
+ export declare function computeOrthographicOffCenter(left: number, right: number, bottom: number, top: number, near: number, far: number): spec.mat4;
46
+ export declare function computePerspectiveFieldOfView(fov: number, aspectRatio: number, near: number, far: number, reverse: boolean): number[];
package/dist/mesh.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import type { Engine } from '@galacean/effects';
2
+ import { Mesh, Texture, Transform } from '@galacean/effects';
3
+ import type { MeshOption } from './geometry';
4
+ import { GizmoSubType } from './define';
5
+ import type { GizmoItemBounding } from './gizmo-vfx-item';
6
+ /**
7
+ * 根据 gizmoSubType 类型创建几何体 Mesh
8
+ * @param subType - gizmoSubType 类型
9
+ * @param boundingMap - 包围盒 Map
10
+ * @param iconTexture - 图标纹理
11
+ * @param options - 几何体参数
12
+ * @returns 基础几何体 Mesh | 组合几何体 Map<Mesh, Transform>
13
+ */
14
+ export declare function createMeshFromSubType(engine: Engine, subType: GizmoSubType, boundingMap: Map<string, GizmoItemBounding>, iconTexture?: Map<string, Texture>, options?: MeshOption): Mesh | Map<Mesh, Transform>;
@@ -0,0 +1,15 @@
1
+ import type { Camera, spec } from '@galacean/effects';
2
+ type mat4 = spec.mat4;
3
+ type vec2 = spec.vec2;
4
+ type vec3 = spec.vec3;
5
+ /**
6
+ * 线条包围盒射线检测算法
7
+ * @param out - 射线与包围盒交点位置
8
+ * @param pointInCanvas - 归一化的画布交互点坐标
9
+ * @param points - 线条包围盒两端点位置
10
+ * @param radius - 线条包围盒辐射半径
11
+ * @param camera - 相机对象
12
+ * @returns 射线与包围盒交点位置 | null
13
+ */
14
+ export declare function intersectRayLine(out: vec3 | number[], pointInCanvas: vec2, points: [p0: vec3, p1: vec3], radius: number, worldMat4: mat4, camera: Camera): vec3 | null;
15
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { Engine } from '@galacean/effects';
2
+ import { Mesh, type spec } from '@galacean/effects';
3
+ type vec3 = spec.vec3;
4
+ export declare function createMeshFromShape(engine: Engine, args: {
5
+ shape: string;
6
+ type?: number;
7
+ }, options: {
8
+ color?: vec3;
9
+ depthTest?: boolean;
10
+ }): Mesh;
11
+ export {};
package/dist/util.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ import { Texture } from '@galacean/effects';
2
+ import type { Engine, spec } from '@galacean/effects';
3
+ type vec3 = spec.vec3;
4
+ /**
5
+ * 下载图片
6
+ * @param imageUrl - 图片url
7
+ * @returns 图片对象
8
+ */
9
+ export declare function createImage(imageUrl: string): Promise<HTMLImageElement>;
10
+ /**
11
+ * 创建 Texture 对象
12
+ * @param engine - engine 对象
13
+ * @param image - 图片对象
14
+ * @returns 纹理
15
+ */
16
+ export declare function createTexture(engine: Engine, image: HTMLImageElement, hookDestroy?: boolean): Texture;
17
+ /**
18
+ * 移动到距离目标点指定距离的位置
19
+ * @param targetPos - 目标点
20
+ * @param currentPos - 当前点
21
+ * @returns 指定点
22
+ */
23
+ export declare function moveToPointWidthFixDistance(targetPos: vec3, currentPos: vec3): vec3;
24
+ export {};
@@ -0,0 +1,29 @@
1
+ import type { Geometry, GeometryDrawMode, Engine, spec } from '@galacean/effects';
2
+ import { GLGeometry, Mesh } from '@galacean/effects';
3
+ export declare function createParticleWireframe(engine: Engine, mesh: Mesh, color: spec.vec3): Mesh;
4
+ export declare enum WireframeGeometryType {
5
+ triangle = 0,
6
+ quad = 1
7
+ }
8
+ export declare function destroyWireframeMesh(mesh: Mesh): void;
9
+ export declare function updateWireframeMesh(originMesh: Mesh, wireframe: Mesh, type: WireframeGeometryType): Mesh;
10
+ export declare function createModeWireframe(engine: Engine, mesh: Mesh, color: spec.vec3): Mesh;
11
+ export interface SharedGeometryOptions {
12
+ name?: string;
13
+ drawStart?: number;
14
+ drawCount?: number;
15
+ mode?: GeometryDrawMode;
16
+ index?: {
17
+ data: Uint8Array | Uint16Array | Uint32Array;
18
+ releasable?: boolean;
19
+ };
20
+ geometry: Geometry;
21
+ }
22
+ export declare class SharedGeometry extends GLGeometry {
23
+ private readonly source;
24
+ constructor(engine: Engine, options: SharedGeometryOptions);
25
+ initialize(): void;
26
+ getAttributeNames(): string[];
27
+ flush(): void;
28
+ destroy(): void;
29
+ }
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@galacean/effects-plugin-editor-gizmo",
3
+ "version": "0.0.1-alpha.0",
4
+ "description": "Galacean Effects player editor gizmo plugin",
5
+ "module": "./dist/index.mjs",
6
+ "main": "./dist/index.js",
7
+ "brower": "./dist/index.min.js",
8
+ "types": "./dist/index.d.ts",
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "exports": {
13
+ ".": {
14
+ "import": "./dist/index.mjs",
15
+ "require": "./dist/index.js",
16
+ "types": "./dist/index.d.ts"
17
+ }
18
+ },
19
+ "contributors": [
20
+ {
21
+ "name": "茂安"
22
+ },
23
+ {
24
+ "name": "旻诺"
25
+ }
26
+ ],
27
+ "author": "Ant Group CO., Ltd.",
28
+ "license": "MIT",
29
+ "publishConfig": {
30
+ "access": "public",
31
+ "registry": "https://registry.npmjs.org"
32
+ },
33
+ "devDependencies": {
34
+ "@galacean/effects": "0.0.1-alpha.0",
35
+ "@galacean/effects-plugin-model": "0.0.1-alpha.0"
36
+ },
37
+ "scripts": {
38
+ "dev": "vite",
39
+ "prebuild": "pnpm clean",
40
+ "build": "pnpm build:declaration && pnpm build:module",
41
+ "build:module": "rollup -c",
42
+ "build:declaration": "tsc -d --declarationDir dist --emitDeclarationOnly",
43
+ "clean": "rimraf dist && rimraf '*+(.tsbuildinfo)'"
44
+ }
45
+ }