@endge/nova 0.13.6 → 0.13.11

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 (119) hide show
  1. package/dist/domain/constants/nova-phase.d.ts +16 -0
  2. package/dist/domain/types/base.types.d.ts +177 -0
  3. package/dist/domain/types/component.types.d.ts +156 -0
  4. package/dist/domain/types/context.types.d.ts +31 -0
  5. package/dist/domain/types/cursor.types.d.ts +89 -0
  6. package/dist/domain/types/diagnostics.types.d.ts +148 -0
  7. package/dist/domain/types/events.types.d.ts +85 -0
  8. package/dist/domain/types/export.types.d.ts +27 -0
  9. package/dist/domain/types/hit-test.types.d.ts +16 -0
  10. package/dist/domain/types/motion.types.d.ts +118 -0
  11. package/dist/domain/types/renderer.types.d.ts +607 -0
  12. package/dist/domain/types/rendering/index.d.ts +559 -0
  13. package/dist/domain/types/semantic.types.d.ts +69 -0
  14. package/dist/domain/types/sound.types.d.ts +84 -0
  15. package/dist/domain/types/theme.types.d.ts +53 -0
  16. package/dist/domain/utils/bounds.d.ts +34 -0
  17. package/dist/domain/utils/schemaBounds.d.ts +10 -0
  18. package/dist/index.d.ts +82 -8919
  19. package/dist/model/input/NovaCaretBlinkController.d.ts +35 -0
  20. package/dist/model/input/NovaClipboardService.d.ts +18 -0
  21. package/dist/model/input/NovaInputProxy_Adapter.d.ts +61 -0
  22. package/dist/model/input/NovaInputValidationController.d.ts +46 -0
  23. package/dist/model/input/NovaTextInputController.d.ts +126 -0
  24. package/dist/model/input/NovaTextLayoutEngine.d.ts +31 -0
  25. package/dist/model/input/index.d.ts +7 -0
  26. package/dist/model/input/nova-input.types.d.ts +137 -0
  27. package/dist/model/motion/NovaMotionEngine.d.ts +152 -0
  28. package/dist/model/motion/nova-motion-easing.d.ts +13 -0
  29. package/dist/model/motion/nova-motion-interpolation.d.ts +19 -0
  30. package/dist/model/motion/nova-motion-presets.d.ts +288 -0
  31. package/dist/model/motion/nova-motion-timeline.d.ts +5 -0
  32. package/dist/model/platform/NovaCanvas.d.ts +112 -0
  33. package/dist/model/platform/NovaGraphics.d.ts +32 -0
  34. package/dist/model/render/backends/canvas2d/NovaCanvas2DTargetManager.d.ts +29 -0
  35. package/dist/model/render/backends/canvas2d/NovaRenderer2D.d.ts +238 -0
  36. package/dist/model/render/backends/nova-render-backend-factory.d.ts +10 -0
  37. package/dist/model/render/backends/nova-render-backend.d.ts +16 -0
  38. package/dist/model/render/backends/webgl/NovaGpuBufferArena.d.ts +76 -0
  39. package/dist/model/render/backends/webgl/NovaRendererWebGL.d.ts +154 -0
  40. package/dist/model/render/backends/webgl/NovaWebGLBatcher.d.ts +17 -0
  41. package/dist/model/render/backends/webgl/NovaWebGLBuffer.d.ts +19 -0
  42. package/dist/model/render/backends/webgl/NovaWebGLDevice.d.ts +24 -0
  43. package/dist/model/render/backends/webgl/NovaWebGLDiagnostics.d.ts +29 -0
  44. package/dist/model/render/backends/webgl/NovaWebGLFrameRenderer.d.ts +1013 -0
  45. package/dist/model/render/backends/webgl/NovaWebGLProgram.d.ts +33 -0
  46. package/dist/model/render/backends/webgl/NovaWebGLTargetManager.d.ts +11 -0
  47. package/dist/model/render/backends/webgl/NovaWebGLTextRenderer.d.ts +17 -0
  48. package/dist/model/render/backends/webgl/NovaWebGLTextureManager.d.ts +16 -0
  49. package/dist/model/render/compiler/NovaRenderBuilder.d.ts +176 -0
  50. package/dist/model/render/compiler/NovaRenderCommandWriter.d.ts +166 -0
  51. package/dist/model/render/compiler/NovaRenderCompiler.d.ts +48 -0
  52. package/dist/model/render/compiler/NovaRenderFrameBuilder.d.ts +59 -0
  53. package/dist/model/render/graph/NovaRenderGraph.d.ts +96 -0
  54. package/dist/model/render/graph/NovaRenderHitIndex.d.ts +54 -0
  55. package/dist/model/render/graph/nova-render-culling.d.ts +26 -0
  56. package/dist/model/render/graph/nova-render-group.d.ts +18 -0
  57. package/dist/model/render/graph/nova-render-item.d.ts +35 -0
  58. package/dist/model/render/graph/nova-render-layer.d.ts +5 -0
  59. package/dist/model/render/graph/nova-render-stream.d.ts +117 -0
  60. package/dist/model/render/orchestration/NovaRenderOrchestrator.d.ts +73 -0
  61. package/dist/model/render/policy/nova-render-policy.d.ts +45 -0
  62. package/dist/model/render/resources/NovaGlyphAtlasManager.d.ts +45 -0
  63. package/dist/model/render/resources/NovaRenderResourceCache.d.ts +30 -0
  64. package/dist/model/render/resources/NovaRenderScheduler.d.ts +33 -0
  65. package/dist/model/render/resources/NovaTextAtlasManager.d.ts +44 -0
  66. package/dist/model/render/resources/NovaTextLayoutEngine.d.ts +23 -0
  67. package/dist/model/render/resources/NovaTextureAtlasManager.d.ts +95 -0
  68. package/dist/model/render/schema/NovaRenderContext.d.ts +74 -0
  69. package/dist/model/render/schema/nova-color-parser.d.ts +18 -0
  70. package/dist/model/render/schema/nova-style-compiler.d.ts +88 -0
  71. package/dist/model/render/targets/NovaRenderTargetManager.d.ts +51 -0
  72. package/dist/model/render/targets/nova-render-target-resource.d.ts +14 -0
  73. package/dist/model/render/utils/nova-icon-rendering.d.ts +9 -0
  74. package/dist/model/runtime/app/Nova.d.ts +167 -0
  75. package/dist/model/runtime/app/NovaApp.d.ts +305 -0
  76. package/dist/model/runtime/app/createNovaRaphRuntime.d.ts +17 -0
  77. package/dist/model/runtime/assets/NovaAssetRegistry.d.ts +511 -0
  78. package/dist/model/runtime/commands/NovaCommandBus.d.ts +48 -0
  79. package/dist/model/runtime/components/NovaComponentNode.d.ts +109 -0
  80. package/dist/model/runtime/components/NovaComponentRegistry.d.ts +35 -0
  81. package/dist/model/runtime/components/NovaSchemaRegistry.d.ts +71 -0
  82. package/dist/model/runtime/components/nova-component-metadata.d.ts +90 -0
  83. package/dist/model/runtime/components/nova-component.decorator.d.ts +38 -0
  84. package/dist/model/runtime/components/nova-defined-component.d.ts +58 -0
  85. package/dist/model/runtime/context/nova-context.d.ts +5 -0
  86. package/dist/model/runtime/cursor/NovaCursorManager.d.ts +148 -0
  87. package/dist/model/runtime/debug/NovaDebug.d.ts +105 -0
  88. package/dist/model/runtime/debug/NovaMetrics.d.ts +55 -0
  89. package/dist/model/runtime/diagnostics/NovaDiagnostics_Module.d.ts +143 -0
  90. package/dist/model/runtime/diagnostics/adapters/NovaDiagnosticsBrowser_Adapter.d.ts +32 -0
  91. package/dist/model/runtime/interaction/NovaEvents.d.ts +229 -0
  92. package/dist/model/runtime/interaction/NovaHitIndex.d.ts +57 -0
  93. package/dist/model/runtime/interaction/NovaSpatialIndex.d.ts +49 -0
  94. package/dist/model/runtime/reactivity/nova-reactivity.d.ts +24 -0
  95. package/dist/model/runtime/refs/nova-ref.d.ts +61 -0
  96. package/dist/model/runtime/scene/NovaScene.d.ts +80 -0
  97. package/dist/model/runtime/scene/nova-scene-components.d.ts +88 -0
  98. package/dist/model/runtime/state/NovaStore.d.ts +27 -0
  99. package/dist/model/runtime/state/nova-store-decorators.d.ts +38 -0
  100. package/dist/model/runtime/state/nova-store-runtime.d.ts +23 -0
  101. package/dist/model/runtime/state/nova-store-tracking.d.ts +17 -0
  102. package/dist/model/runtime/sync/NovaSyncScope.d.ts +93 -0
  103. package/dist/model/runtime/sync/nova-sync-context.d.ts +2 -0
  104. package/dist/model/runtime/sync/nova-sync-ports.d.ts +5 -0
  105. package/dist/model/runtime/sync/nova-sync.types.d.ts +48 -0
  106. package/dist/model/runtime/template/NovaTemplateRuntime.d.ts +79 -0
  107. package/dist/model/runtime/tree/NovaContainer.d.ts +78 -0
  108. package/dist/model/runtime/tree/NovaNode.d.ts +626 -0
  109. package/dist/model/runtime/tree/NovaSurface.d.ts +95 -0
  110. package/dist/model/semantic/NovaSemanticService.d.ts +30 -0
  111. package/dist/model/sound/NovaSoundEngine.d.ts +134 -0
  112. package/dist/model/telemetry.d.ts +108 -0
  113. package/dist/model/text-selection/NovaTextSelectionService.d.ts +85 -0
  114. package/dist/model/text-selection/index.d.ts +2 -0
  115. package/dist/model/text-selection/nova-text-selection.types.d.ts +54 -0
  116. package/dist/model/theme/NovaGlobalThemeRegistry.d.ts +57 -0
  117. package/dist/model/theme/NovaThemeService.d.ts +83 -0
  118. package/dist/nova.js +14489 -14069
  119. package/package.json +29 -23
@@ -0,0 +1,85 @@
1
+ export declare const NodeEventNames: {
2
+ readonly click: "click";
3
+ readonly dblclick: "dblclick";
4
+ readonly contextmenu: "contextmenu";
5
+ readonly mousemove: "mousemove";
6
+ readonly mousedown: "mousedown";
7
+ readonly mouseup: "mouseup";
8
+ readonly canvasenter: "canvasenter";
9
+ readonly canvasleave: "canvasleave";
10
+ readonly wheel: "wheel";
11
+ readonly keydown: "keydown";
12
+ readonly keyup: "keyup";
13
+ readonly focus: "focus";
14
+ readonly blur: "blur";
15
+ readonly select: "select";
16
+ readonly deselect: "deselect";
17
+ readonly gotpointercapture: "gotpointercapture";
18
+ readonly lostpointercapture: "lostpointercapture";
19
+ readonly mouseenter: "mouseenter";
20
+ readonly mouseleave: "mouseleave";
21
+ readonly doubleClick: "dblclick";
22
+ readonly zoom: "zoom";
23
+ readonly dragStart: "mousedown";
24
+ readonly dragEnd: "mouseup";
25
+ readonly dragMove: "mousemove";
26
+ };
27
+ /**
28
+ * Описывает тип NodeEventName.
29
+ */
30
+ export type NodeEventName = keyof typeof NodeEventNames;
31
+ /**
32
+ * Описывает тип DomEventName.
33
+ */
34
+ export type DomEventName = 'click' | 'dblclick' | 'contextmenu' | 'mousemove' | 'mousedown' | 'mouseup' | 'wheel' | 'zoom' | 'keydown' | 'keyup' | 'mouseenter' | 'mouseleave';
35
+ export declare const CanvasDomEvents: Array<DomEventName>;
36
+ export declare const NovaSupportedNativeEvents: readonly ["click", "dblclick", "contextmenu", "mousemove", "mousedown", "mouseup", "wheel", "keydown", "keyup", "mouseenter", "mouseleave", "canvasenter", "canvasleave", "focus", "blur", "select", "deselect", "gotpointercapture", "lostpointercapture", "hover", "dragstart", "dragmove", "dragend", "dragcancel"];
37
+ /**
38
+ * Описывает контракт CanvasEventHandlers.
39
+ */
40
+ export interface CanvasEventHandlers {
41
+ click?: (e: MouseEvent) => void;
42
+ dblclick?: (e: MouseEvent) => void;
43
+ contextmenu?: (e: MouseEvent) => void;
44
+ mousemove?: (e: MouseEvent) => void;
45
+ mousedown?: (e: MouseEvent) => void;
46
+ mouseup?: (e: MouseEvent) => void;
47
+ wheel?: (e: WheelEvent) => void;
48
+ keydown?: (e: KeyboardEvent) => void;
49
+ keyup?: (e: KeyboardEvent) => void;
50
+ }
51
+ /**
52
+ * Описывает контракт NovaNodeEventHandlers.
53
+ */
54
+ export interface NovaNodeEventHandlers extends CanvasEventHandlers {
55
+ mouseenter?: (e: MouseEvent) => void;
56
+ mouseleave?: (e: MouseEvent) => void;
57
+ canvasenter?: (e: MouseEvent) => void;
58
+ canvasleave?: (e: MouseEvent) => void;
59
+ focus?: (e: Event) => void;
60
+ blur?: (e: Event) => void;
61
+ select?: (e: Event) => void;
62
+ deselect?: (e: Event) => void;
63
+ gotpointercapture?: (e: MouseEvent) => void;
64
+ lostpointercapture?: (e: MouseEvent) => void;
65
+ zoom?: (e: WheelEvent) => void;
66
+ hover?: (e: MouseEvent, isHover: boolean) => void;
67
+ dragstart?: (e: MouseEvent, meta: NovaDragEventMeta) => void;
68
+ dragend?: (e: MouseEvent, meta: NovaDragEventMeta) => void;
69
+ dragcancel?: (e: MouseEvent, meta: NovaDragEventMeta) => void;
70
+ dragmove?: (e: MouseEvent, dx: number, dy: number, meta: NovaDragEventMeta) => void;
71
+ }
72
+ /**
73
+ * Описывает контракт NovaDragEventMeta.
74
+ */
75
+ export interface NovaDragEventMeta {
76
+ pointerId: number;
77
+ startX: number;
78
+ startY: number;
79
+ x: number;
80
+ y: number;
81
+ dx: number;
82
+ dy: number;
83
+ totalDx: number;
84
+ totalDy: number;
85
+ }
@@ -0,0 +1,27 @@
1
+ import { DataRect } from '@endge/utils';
2
+ import { NovaSemanticSnapshot } from './semantic.types';
3
+ export type NovaExportFormat = 'png' | 'webp';
4
+ export interface NovaExportImageOptions {
5
+ format?: NovaExportFormat;
6
+ quality?: number;
7
+ pixelRatio?: number;
8
+ rect?: DataRect;
9
+ background?: string;
10
+ preferBlob?: boolean;
11
+ includeSemanticSnapshot?: boolean;
12
+ }
13
+ export interface NovaExportImageResult {
14
+ format: NovaExportFormat;
15
+ width: number;
16
+ height: number;
17
+ pixelRatio: number;
18
+ dataUrl?: string;
19
+ blob?: Blob;
20
+ byteLength?: number;
21
+ semanticSnapshot?: NovaSemanticSnapshot;
22
+ }
23
+ export type NovaExportErrorCode = 'unsupported-format' | 'tainted-canvas' | 'context-lost' | 'empty-canvas';
24
+ export declare class NovaExportError extends Error {
25
+ readonly code: NovaExportErrorCode;
26
+ constructor(code: NovaExportErrorCode, message: string, cause?: unknown);
27
+ }
@@ -0,0 +1,16 @@
1
+ import { NovaBounds } from './renderer.types';
2
+ /**
3
+ * Описывает контекст shape-level hit-test для Nova node.
4
+ */
5
+ export interface NovaHitTestContext<TNode = unknown> {
6
+ node: TNode;
7
+ worldX: number;
8
+ worldY: number;
9
+ localX: number;
10
+ localY: number;
11
+ bounds: NovaBounds;
12
+ }
13
+ /**
14
+ * Описывает пользовательский shape-level hit-test handler.
15
+ */
16
+ export type NovaHitTestHandler<TNode = unknown> = (context: NovaHitTestContext<TNode>) => boolean;
@@ -0,0 +1,118 @@
1
+ import { RaphFrameContext } from '@endge/raph';
2
+ import { NovaComponentNode } from '../../model/runtime/components/NovaComponentNode';
3
+ import { NovaNode } from '../../model/runtime/tree/NovaNode';
4
+ /**
5
+ * Описывает тип NovaMotionTarget.
6
+ */
7
+ export type NovaMotionTarget = NovaNode<any> | NovaComponentNode<any, any, any, any, any>;
8
+ /**
9
+ * Описывает тип NovaMotionValue.
10
+ */
11
+ export type NovaMotionValue = number | string | boolean | undefined;
12
+ /**
13
+ * Описывает тип NovaMotionPatch.
14
+ */
15
+ export type NovaMotionPatch = Record<string, NovaMotionValue>;
16
+ /**
17
+ * Описывает тип NovaMotionEasingName.
18
+ */
19
+ export type NovaMotionEasingName = 'linear' | 'inQuad' | 'outQuad' | 'inOutQuad' | 'inCubic' | 'outCubic' | 'inOutCubic';
20
+ /**
21
+ * Описывает тип NovaMotionPlaybackState.
22
+ */
23
+ export type NovaMotionPlaybackState = 'idle' | 'running' | 'paused' | 'finished' | 'cancelled';
24
+ /**
25
+ * Описывает контракт NovaMotionOptions.
26
+ */
27
+ export interface NovaMotionOptions {
28
+ duration?: number;
29
+ delay?: number;
30
+ easing?: NovaMotionEasingName | ((t: number) => number);
31
+ repeat?: number;
32
+ yoyo?: boolean;
33
+ overwrite?: boolean;
34
+ autoplay?: boolean;
35
+ id?: string;
36
+ }
37
+ /**
38
+ * Описывает контракт NovaMotionTweenOptions.
39
+ */
40
+ export interface NovaMotionTweenOptions extends NovaMotionOptions {
41
+ from?: NovaMotionPatch;
42
+ }
43
+ /**
44
+ * Описывает тип NovaMotionKeyframe.
45
+ */
46
+ export type NovaMotionKeyframe = NovaMotionPatch & {
47
+ at?: number;
48
+ easing?: NovaMotionOptions['easing'];
49
+ };
50
+ /**
51
+ * Описывает контракт NovaMotionTrack.
52
+ */
53
+ export interface NovaMotionTrack {
54
+ target: NovaMotionTarget;
55
+ at?: number;
56
+ keyframes: Array<NovaMotionKeyframe>;
57
+ easing?: NovaMotionOptions['easing'];
58
+ duration?: number;
59
+ }
60
+ /**
61
+ * Описывает контракт NovaMotionSequenceItem.
62
+ */
63
+ export interface NovaMotionSequenceItem {
64
+ target: NovaMotionTarget;
65
+ patch: NovaMotionPatch;
66
+ duration?: number;
67
+ delay?: number;
68
+ easing?: NovaMotionOptions['easing'];
69
+ }
70
+ /**
71
+ * Описывает контракт NovaMotionStaggerOptions.
72
+ */
73
+ export interface NovaMotionStaggerOptions {
74
+ targets: Array<NovaMotionTarget>;
75
+ patch: NovaMotionPatch;
76
+ each: number;
77
+ duration?: number;
78
+ easing?: NovaMotionOptions['easing'];
79
+ }
80
+ /**
81
+ * Описывает контракт NovaMotionTimelineOptions.
82
+ */
83
+ export interface NovaMotionTimelineOptions extends NovaMotionOptions {
84
+ tracks?: Array<NovaMotionTrack>;
85
+ sequence?: Array<NovaMotionSequenceItem>;
86
+ stagger?: NovaMotionStaggerOptions;
87
+ }
88
+ /**
89
+ * Описывает контракт NovaMotionPlayback.
90
+ */
91
+ export interface NovaMotionPlayback {
92
+ readonly id?: string;
93
+ readonly state: NovaMotionPlaybackState;
94
+ play: () => void;
95
+ pause: () => void;
96
+ resume: () => void;
97
+ cancel: () => void;
98
+ seek: (time: number) => void;
99
+ }
100
+ /**
101
+ * Описывает контракт NovaMotionTickContext.
102
+ */
103
+ export interface NovaMotionTickContext extends RaphFrameContext {
104
+ }
105
+ /**
106
+ * Описывает контракт NovaMotionSegment.
107
+ */
108
+ export interface NovaMotionSegment {
109
+ id?: string;
110
+ playback: NovaMotionPlayback;
111
+ target: NovaMotionTarget;
112
+ key: string;
113
+ from: NovaMotionValue;
114
+ to: NovaMotionValue;
115
+ startAt: number;
116
+ duration: number;
117
+ easing: NovaMotionOptions['easing'];
118
+ }