@vvfx/ge-ir 0.0.1-beta.7 → 0.0.1-beta.8

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.
Files changed (66) hide show
  1. package/README.md +65 -27
  2. package/dist/common/coordinate-mapping.d.ts +14 -0
  3. package/dist/common/data-path.d.ts +15 -0
  4. package/dist/common/json-normalization.d.ts +3 -0
  5. package/dist/common/math.d.ts +4 -0
  6. package/dist/{passthrough.d.ts → effects-passthrough.d.ts} +3 -2
  7. package/dist/ge2ir/assemble.d.ts +4 -0
  8. package/dist/ge2ir/index.d.ts +4 -2
  9. package/dist/ge2ir/mapping.d.ts +6 -0
  10. package/dist/ge2ir/{parsers/component-parser.d.ts → parser/component.d.ts} +5 -4
  11. package/dist/ge2ir/parser/layer.d.ts +4 -0
  12. package/dist/ge2ir/{scene-reader.d.ts → parser/scene.d.ts} +2 -2
  13. package/dist/ge2ir/{parsers/timeline-parser.d.ts → parser/timeline.d.ts} +5 -3
  14. package/dist/ge2ir/{merge/merge.d.ts → post-process.d.ts} +1 -1
  15. package/dist/ge2ir/types.d.ts +4 -3
  16. package/dist/index.d.ts +7 -19
  17. package/dist/index.js +4268 -4531
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +4270 -4515
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/ir2ge/assemble.d.ts +8 -0
  22. package/dist/ir2ge/converter/animation.d.ts +5 -0
  23. package/dist/ir2ge/converter/bezier.d.ts +35 -0
  24. package/dist/ir2ge/converter/layer-strategy.d.ts +18 -0
  25. package/dist/ir2ge/converter/normalized-animation.d.ts +15 -0
  26. package/dist/ir2ge/converter/timing.d.ts +14 -0
  27. package/dist/ir2ge/{ir/layer-utils.d.ts → converter/transform.d.ts} +5 -4
  28. package/dist/ir2ge/generator/component.d.ts +9 -0
  29. package/dist/ir2ge/generator/layer.d.ts +6 -0
  30. package/dist/ir2ge/generator/timeline.d.ts +7 -0
  31. package/dist/ir2ge/index.d.ts +10 -14
  32. package/dist/ir2ge/mapping.d.ts +5 -0
  33. package/dist/ir2ge/post-process/ge-mask-remap.d.ts +2 -14
  34. package/dist/ir2ge/post-process/index.d.ts +8 -18
  35. package/dist/ir2ge/post-process/mask.d.ts +5 -18
  36. package/dist/ir2ge/post-process/merge-preserved-resources.d.ts +3 -0
  37. package/dist/ir2ge/post-process/parenting.d.ts +2 -2
  38. package/dist/ir2ge/post-process/visibility.d.ts +11 -15
  39. package/dist/ir2ge/types.d.ts +27 -18
  40. package/package.json +3 -3
  41. package/dist/ge2ir/converter.d.ts +0 -3
  42. package/dist/ge2ir/pool/pool.d.ts +0 -4
  43. package/dist/ge2ir/reverse/blend-mode.d.ts +0 -2
  44. package/dist/ge2ir/reverse/coordinate.d.ts +0 -1
  45. package/dist/ge2ir/reverse/end-behavior.d.ts +0 -3
  46. package/dist/ge2ir/reverse/timing.d.ts +0 -2
  47. package/dist/ir2ge/assembly/generator.d.ts +0 -21
  48. package/dist/ir2ge/assembly/scene-assembly.d.ts +0 -11
  49. package/dist/ir2ge/builders/animation.d.ts +0 -12
  50. package/dist/ir2ge/builders/bezier.d.ts +0 -44
  51. package/dist/ir2ge/builders/component.d.ts +0 -13
  52. package/dist/ir2ge/builders/effects.d.ts +0 -9
  53. package/dist/ir2ge/builders/layer.d.ts +0 -6
  54. package/dist/ir2ge/builders/timeline.d.ts +0 -9
  55. package/dist/ir2ge/builders/timing.d.ts +0 -17
  56. package/dist/ir2ge/ir/anchor-strategy.d.ts +0 -24
  57. package/dist/ir2ge/ir/layer-dimensions.d.ts +0 -7
  58. package/dist/ir2ge/ir/parent-link.d.ts +0 -6
  59. package/dist/ir2ge/ir/specific.d.ts +0 -12
  60. package/dist/ir2ge/utils.d.ts +0 -14
  61. package/dist/shared/coordinate.d.ts +0 -11
  62. package/dist/shared/json-value.d.ts +0 -2
  63. package/dist/shared/types.d.ts +0 -60
  64. /package/dist/ge2ir/{parsers/animation-parser.d.ts → parser/animation.d.ts} +0 -0
  65. /package/dist/ge2ir/{parsers/keyframe-parser.d.ts → parser/keyframe.d.ts} +0 -0
  66. /package/dist/ge2ir/{parsers/transform-parser.d.ts → parser/transform.d.ts} +0 -0
@@ -1,24 +0,0 @@
1
- import type { IRComposition, IRLayerNode } from '@vvfx/animation-ir';
2
- /**
3
- * How the generator should handle a layer's anchor offset.
4
- *
5
- * - `inline-anchor` — emit one VFX item with `renderer.anchor` baked into the
6
- * GE renderer and `anchorOffset` shifted into `transform.position`. Centered
7
- * layers also use this kind with `anchorScale = [0.5, 0.5]` and
8
- * `anchorOffset = [0, 0]`.
9
- * - `split-null-sprite` — emit a null+sprite hierarchy so the transform pivot
10
- * sits at the anchor; the sprite carries the visual content and is parented
11
- * to the null with an anchor-relative position.
12
- *
13
- * The decision is a GE lowering detail derived from source-neutral IR geometry
14
- * and animation semantics. GE-originated IR may additionally preserve its
15
- * original hierarchy through `specific.effects.sourceHierarchy`.
16
- */
17
- export type GELayerLoweringPlan = {
18
- kind: 'inline-anchor';
19
- anchorScale: [number, number];
20
- anchorOffset: [number, number];
21
- } | {
22
- kind: 'split-null-sprite';
23
- };
24
- export declare function planGELayerLowering(ir: IRComposition, layer: IRLayerNode): GELayerLoweringPlan;
@@ -1,7 +0,0 @@
1
- import type { IRLayerNode, IRLocalBounds } from '@vvfx/animation-ir';
2
- /**
3
- * Read source-neutral local bounds from an IR layer. When the producer
4
- * did not resolve one, returns `fallback` (defaults to bounds at the origin
5
- * with a one-pixel width and height).
6
- */
7
- export declare function getLayerLocalBounds(layer: IRLayerNode, fallback?: IRLocalBounds): IRLocalBounds;
@@ -1,6 +0,0 @@
1
- import type { IRLayerNode } from '@vvfx/animation-ir';
2
- /**
3
- * True when the child lifetime is independent of its transform parent's
4
- * clipping window. An omitted lifetimeMode keeps the legacy clipped default.
5
- */
6
- export declare function hasIndependentParentLifetime(layer: IRLayerNode): boolean;
@@ -1,12 +0,0 @@
1
- /**
2
- * Read-side accessors for the `IRLayerNode.specific.lottie` slot.
3
- *
4
- * The shared generator must not branch on lottie semantics directly — every
5
- * Lottie-specific reads go through these helpers so the rest of ir2ge stays
6
- * agnostic to the producing tool.
7
- *
8
- * Parent lifetime semantics are represented directly by the generic IR relation.
9
- */
10
- import type { IRLayerNode, LottieLayerSpecific } from '@vvfx/animation-ir';
11
- export type { LottieLayerSpecific };
12
- export declare function readLottieSpecific(layer: IRLayerNode): LottieLayerSpecific | undefined;
@@ -1,14 +0,0 @@
1
- import type { DataPath } from '@galacean/effects-specification';
2
- /** Generate a 32-char hex GE entity id (UUID v4 with dashes stripped). */
3
- export declare function createId(): string;
4
- /** Wrap an id into a `{ id }` GE DataPath reference. */
5
- export declare function toDataPath(id: string): DataPath;
6
- /** Round a number to the given decimal precision (default 4). */
7
- export declare function roundNumber(value: number, precision?: number): number;
8
- /** Linear interpolation between `a` and `b` by `factor` ∈ [0, 1]. */
9
- export declare function lerp(a: number, b: number, factor: number): number;
10
- /**
11
- * Rough text width estimate used when the IR layer does not record a
12
- * measured width. Average character width ≈ 0.6 × fontSize.
13
- */
14
- export declare function estimateTextWidth(text: string, fontSize: number, letterSpacing?: number): number;
@@ -1,11 +0,0 @@
1
- export declare const DEFAULT_CAMERA_Z = 8;
2
- export declare const DEFAULT_CAMERA_FOV = 60;
3
- export declare const DEFAULT_CLIP_MODE = 1;
4
- /** 2D pixel space -> GE 3D world unit ratio for a given canvas size. */
5
- export declare function get2dTo3dRatio(width: number, height: number): number;
6
- /**
7
- * Convert a 2D point in canvas pixel space (origin top-left) to a GE 3D world
8
- * point (origin centered, Y flipped). The `z` parameter applies the GE camera
9
- * adapter to stay perspective-correct for non-zero Z layers.
10
- */
11
- export declare function convert2dTo3dPoint(x: number, y: number, z: number, width: number, height: number): [number, number, number];
@@ -1,2 +0,0 @@
1
- /** Return a detached value whose runtime shape is stable across JSON persistence. */
2
- export declare function normalizeJsonValue<T>(value: T): T;
@@ -1,60 +0,0 @@
1
- import type { DataPath } from '@galacean/effects-specification';
2
- export type GERecord = Record<string, unknown>;
3
- export type GEDataPath = DataPath;
4
- export type GEPoolIndex = Map<string, GERecord>;
5
- /** GE transform block emitted on every VFX item. */
6
- export interface GETransform {
7
- position: {
8
- x: number;
9
- y: number;
10
- z: number;
11
- };
12
- eulerHint: {
13
- x: number;
14
- y: number;
15
- z: number;
16
- };
17
- scale: {
18
- x: number;
19
- y: number;
20
- z: number;
21
- };
22
- anchor?: {
23
- x: number;
24
- y: number;
25
- };
26
- size?: {
27
- x: number;
28
- y: number;
29
- };
30
- }
31
- /** A single VFXItemData entry in a GE scene. */
32
- export interface GEItem {
33
- id: string;
34
- dataType: string;
35
- name: string;
36
- duration: number;
37
- type: string;
38
- visible: boolean;
39
- endBehavior: number;
40
- delay: number;
41
- renderLevel: string;
42
- content?: GERecord;
43
- components: GEDataPath[];
44
- transform: GETransform;
45
- parentId?: string;
46
- }
47
- /**
48
- * Build-time accumulators shared by every generator. Each pool maps to a
49
- * top-level array on the emitted JSONScene.
50
- */
51
- export interface ECSCollector {
52
- images: Array<{
53
- id: string;
54
- url: string;
55
- }>;
56
- components: GERecord[];
57
- items: GEItem[];
58
- textures: GERecord[];
59
- miscs: GERecord[];
60
- }