@momoyu-ink/kit 0.1.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.
Files changed (234) hide show
  1. package/LICENSE.txt +21 -0
  2. package/dist/bindings/AnimationFormat.d.ts +1 -0
  3. package/dist/bindings/AnimationFormat.js +4 -0
  4. package/dist/bindings/AnimationFormat.js.map +1 -0
  5. package/dist/bindings/AnimationFrameCallbackEvent.d.ts +3 -0
  6. package/dist/bindings/AnimationFrameCallbackEvent.js +4 -0
  7. package/dist/bindings/AnimationFrameCallbackEvent.js.map +1 -0
  8. package/dist/bindings/AnimationProps.d.ts +6 -0
  9. package/dist/bindings/AnimationProps.js +3 -0
  10. package/dist/bindings/AnimationProps.js.map +1 -0
  11. package/dist/bindings/AudioCommand.d.ts +52 -0
  12. package/dist/bindings/AudioCommand.js +3 -0
  13. package/dist/bindings/AudioCommand.js.map +1 -0
  14. package/dist/bindings/AudioSettings.d.ts +42 -0
  15. package/dist/bindings/AudioSettings.js +4 -0
  16. package/dist/bindings/AudioSettings.js.map +1 -0
  17. package/dist/bindings/BackdropProps.d.ts +6 -0
  18. package/dist/bindings/BackdropProps.js +3 -0
  19. package/dist/bindings/BackdropProps.js.map +1 -0
  20. package/dist/bindings/BeforeUnloadEvent.d.ts +1 -0
  21. package/dist/bindings/BeforeUnloadEvent.js +4 -0
  22. package/dist/bindings/BeforeUnloadEvent.js.map +1 -0
  23. package/dist/bindings/ClipProps.d.ts +4 -0
  24. package/dist/bindings/ClipProps.js +4 -0
  25. package/dist/bindings/ClipProps.js.map +1 -0
  26. package/dist/bindings/CustomEvent.d.ts +18 -0
  27. package/dist/bindings/CustomEvent.js +4 -0
  28. package/dist/bindings/CustomEvent.js.map +1 -0
  29. package/dist/bindings/EffectParams.d.ts +6 -0
  30. package/dist/bindings/EffectParams.js +4 -0
  31. package/dist/bindings/EffectParams.js.map +1 -0
  32. package/dist/bindings/FilterKind.d.ts +34 -0
  33. package/dist/bindings/FilterKind.js +4 -0
  34. package/dist/bindings/FilterKind.js.map +1 -0
  35. package/dist/bindings/FilterProps.d.ts +4 -0
  36. package/dist/bindings/FilterProps.js +3 -0
  37. package/dist/bindings/FilterProps.js.map +1 -0
  38. package/dist/bindings/FocusEvent.d.ts +5 -0
  39. package/dist/bindings/FocusEvent.js +3 -0
  40. package/dist/bindings/FocusEvent.js.map +1 -0
  41. package/dist/bindings/FocusEventKind.d.ts +1 -0
  42. package/dist/bindings/FocusEventKind.js +4 -0
  43. package/dist/bindings/FocusEventKind.js.map +1 -0
  44. package/dist/bindings/FullScreenEvent.d.ts +4 -0
  45. package/dist/bindings/FullScreenEvent.js +3 -0
  46. package/dist/bindings/FullScreenEvent.js.map +1 -0
  47. package/dist/bindings/FullscreenEventKind.d.ts +1 -0
  48. package/dist/bindings/FullscreenEventKind.js +4 -0
  49. package/dist/bindings/FullscreenEventKind.js.map +1 -0
  50. package/dist/bindings/GameEvent.d.ts +1 -0
  51. package/dist/bindings/GameEvent.js +4 -0
  52. package/dist/bindings/GameEvent.js.map +1 -0
  53. package/dist/bindings/Gamepad.d.ts +44 -0
  54. package/dist/bindings/Gamepad.js +3 -0
  55. package/dist/bindings/Gamepad.js.map +1 -0
  56. package/dist/bindings/GamepadButton.d.ts +20 -0
  57. package/dist/bindings/GamepadButton.js +4 -0
  58. package/dist/bindings/GamepadButton.js.map +1 -0
  59. package/dist/bindings/GamepadCommand.d.ts +9 -0
  60. package/dist/bindings/GamepadCommand.js +3 -0
  61. package/dist/bindings/GamepadCommand.js.map +1 -0
  62. package/dist/bindings/GamepadEvent.d.ts +12 -0
  63. package/dist/bindings/GamepadEvent.js +3 -0
  64. package/dist/bindings/GamepadEvent.js.map +1 -0
  65. package/dist/bindings/GamepadHapticActuator.d.ts +11 -0
  66. package/dist/bindings/GamepadHapticActuator.js +4 -0
  67. package/dist/bindings/GamepadHapticActuator.js.map +1 -0
  68. package/dist/bindings/KeyboardEventKind.d.ts +1 -0
  69. package/dist/bindings/KeyboardEventKind.js +4 -0
  70. package/dist/bindings/KeyboardEventKind.js.map +1 -0
  71. package/dist/bindings/KeyboardLocation.d.ts +1 -0
  72. package/dist/bindings/KeyboardLocation.js +4 -0
  73. package/dist/bindings/KeyboardLocation.js.map +1 -0
  74. package/dist/bindings/Literal.d.ts +3 -0
  75. package/dist/bindings/Literal.js +4 -0
  76. package/dist/bindings/Literal.js.map +1 -0
  77. package/dist/bindings/MouseEventKind.d.ts +1 -0
  78. package/dist/bindings/MouseEventKind.js +4 -0
  79. package/dist/bindings/MouseEventKind.js.map +1 -0
  80. package/dist/bindings/MoyuCursor.d.ts +1 -0
  81. package/dist/bindings/MoyuCursor.js +4 -0
  82. package/dist/bindings/MoyuCursor.js.map +1 -0
  83. package/dist/bindings/NineSliceMode.d.ts +1 -0
  84. package/dist/bindings/NineSliceMode.js +4 -0
  85. package/dist/bindings/NineSliceMode.js.map +1 -0
  86. package/dist/bindings/NodeEvent.d.ts +4 -0
  87. package/dist/bindings/NodeEvent.js +4 -0
  88. package/dist/bindings/NodeEvent.js.map +1 -0
  89. package/dist/bindings/NodeProps.d.ts +20 -0
  90. package/dist/bindings/NodeProps.js +3 -0
  91. package/dist/bindings/NodeProps.js.map +1 -0
  92. package/dist/bindings/RawKeyboardEvent.d.ts +16 -0
  93. package/dist/bindings/RawKeyboardEvent.js +3 -0
  94. package/dist/bindings/RawKeyboardEvent.js.map +1 -0
  95. package/dist/bindings/RawMouseEvent.d.ts +12 -0
  96. package/dist/bindings/RawMouseEvent.js +3 -0
  97. package/dist/bindings/RawMouseEvent.js.map +1 -0
  98. package/dist/bindings/RawTouchEvent.d.ts +13 -0
  99. package/dist/bindings/RawTouchEvent.js +3 -0
  100. package/dist/bindings/RawTouchEvent.js.map +1 -0
  101. package/dist/bindings/RawWheelEvent.d.ts +9 -0
  102. package/dist/bindings/RawWheelEvent.js +3 -0
  103. package/dist/bindings/RawWheelEvent.js.map +1 -0
  104. package/dist/bindings/ResizeEvent.d.ts +4 -0
  105. package/dist/bindings/ResizeEvent.js +4 -0
  106. package/dist/bindings/ResizeEvent.js.map +1 -0
  107. package/dist/bindings/ResolvedArgument.d.ts +5 -0
  108. package/dist/bindings/ResolvedArgument.js +3 -0
  109. package/dist/bindings/ResolvedArgument.js.map +1 -0
  110. package/dist/bindings/ResolvedCommandLine.d.ts +5 -0
  111. package/dist/bindings/ResolvedCommandLine.js +3 -0
  112. package/dist/bindings/ResolvedCommandLine.js.map +1 -0
  113. package/dist/bindings/ResolvedSystemCallLine.d.ts +5 -0
  114. package/dist/bindings/ResolvedSystemCallLine.js +3 -0
  115. package/dist/bindings/ResolvedSystemCallLine.js.map +1 -0
  116. package/dist/bindings/ScenarioCommand.d.ts +90 -0
  117. package/dist/bindings/ScenarioCommand.js +3 -0
  118. package/dist/bindings/ScenarioCommand.js.map +1 -0
  119. package/dist/bindings/ScenarioEvent.d.ts +4 -0
  120. package/dist/bindings/ScenarioEvent.js +3 -0
  121. package/dist/bindings/ScenarioEvent.js.map +1 -0
  122. package/dist/bindings/SpriteMode.d.ts +1 -0
  123. package/dist/bindings/SpriteMode.js +4 -0
  124. package/dist/bindings/SpriteMode.js.map +1 -0
  125. package/dist/bindings/SpriteProps.d.ts +11 -0
  126. package/dist/bindings/SpriteProps.js +3 -0
  127. package/dist/bindings/SpriteProps.js.map +1 -0
  128. package/dist/bindings/SystemCommand.d.ts +28 -0
  129. package/dist/bindings/SystemCommand.js +3 -0
  130. package/dist/bindings/SystemCommand.js.map +1 -0
  131. package/dist/bindings/TextCommand.d.ts +9 -0
  132. package/dist/bindings/TextCommand.js +4 -0
  133. package/dist/bindings/TextCommand.js.map +1 -0
  134. package/dist/bindings/TextEvent.d.ts +1 -0
  135. package/dist/bindings/TextEvent.js +4 -0
  136. package/dist/bindings/TextEvent.js.map +1 -0
  137. package/dist/bindings/TextLine.d.ts +5 -0
  138. package/dist/bindings/TextLine.js +4 -0
  139. package/dist/bindings/TextLine.js.map +1 -0
  140. package/dist/bindings/TextPrintMode.d.ts +4 -0
  141. package/dist/bindings/TextPrintMode.js +4 -0
  142. package/dist/bindings/TextPrintMode.js.map +1 -0
  143. package/dist/bindings/TextProps.d.ts +41 -0
  144. package/dist/bindings/TextProps.js +3 -0
  145. package/dist/bindings/TextProps.js.map +1 -0
  146. package/dist/bindings/TouchEventKind.d.ts +1 -0
  147. package/dist/bindings/TouchEventKind.js +4 -0
  148. package/dist/bindings/TouchEventKind.js.map +1 -0
  149. package/dist/bindings/WheelEventDeltaMode.d.ts +1 -0
  150. package/dist/bindings/WheelEventDeltaMode.js +4 -0
  151. package/dist/bindings/WheelEventDeltaMode.js.map +1 -0
  152. package/dist/bindings/WindowState.d.ts +1 -0
  153. package/dist/bindings/WindowState.js +4 -0
  154. package/dist/bindings/WindowState.js.map +1 -0
  155. package/dist/bindings/serde_json/JsonValue.d.ts +3 -0
  156. package/dist/bindings/serde_json/JsonValue.js +4 -0
  157. package/dist/bindings/serde_json/JsonValue.js.map +1 -0
  158. package/dist/commands.d.ts +17 -0
  159. package/dist/commands.js +25 -0
  160. package/dist/commands.js.map +1 -0
  161. package/dist/components/navigation.d.ts +154 -0
  162. package/dist/components/navigation.js +253 -0
  163. package/dist/components/navigation.js.map +1 -0
  164. package/dist/declaration.d.ts +74 -0
  165. package/dist/declaration.js +3 -0
  166. package/dist/declaration.js.map +1 -0
  167. package/dist/events/base.d.ts +16 -0
  168. package/dist/events/base.js +20 -0
  169. package/dist/events/base.js.map +1 -0
  170. package/dist/events/globals.d.ts +2 -0
  171. package/dist/events/globals.js +123 -0
  172. package/dist/events/globals.js.map +1 -0
  173. package/dist/events/keyboard.d.ts +37 -0
  174. package/dist/events/keyboard.js +3 -0
  175. package/dist/events/keyboard.js.map +1 -0
  176. package/dist/events/listener.d.ts +1 -0
  177. package/dist/events/listener.js +14 -0
  178. package/dist/events/listener.js.map +1 -0
  179. package/dist/events/mouse.d.ts +15 -0
  180. package/dist/events/mouse.js +3 -0
  181. package/dist/events/mouse.js.map +1 -0
  182. package/dist/events/touch.d.ts +16 -0
  183. package/dist/events/touch.js +3 -0
  184. package/dist/events/touch.js.map +1 -0
  185. package/dist/events.d.ts +32 -0
  186. package/dist/events.js +49 -0
  187. package/dist/events.js.map +1 -0
  188. package/dist/hooks/useFadeInOut.d.ts +16 -0
  189. package/dist/hooks/useFadeInOut.js +63 -0
  190. package/dist/hooks/useFadeInOut.js.map +1 -0
  191. package/dist/hooks/useScenario.d.ts +13 -0
  192. package/dist/hooks/useScenario.js +65 -0
  193. package/dist/hooks/useScenario.js.map +1 -0
  194. package/dist/hooks/useSoundEffect.d.ts +4 -0
  195. package/dist/hooks/useSoundEffect.js +64 -0
  196. package/dist/hooks/useSoundEffect.js.map +1 -0
  197. package/dist/hooks/useStage.d.ts +85 -0
  198. package/dist/hooks/useStage.js +409 -0
  199. package/dist/hooks/useStage.js.map +1 -0
  200. package/dist/hooks.d.ts +4 -0
  201. package/dist/hooks.js +21 -0
  202. package/dist/hooks.js.map +1 -0
  203. package/dist/lib.d.ts +13 -0
  204. package/dist/lib.js +53 -0
  205. package/dist/lib.js.map +1 -0
  206. package/dist/moyu.d.ts +18 -0
  207. package/dist/moyu.js +50 -0
  208. package/dist/moyu.js.map +1 -0
  209. package/dist/node.d.ts +16 -0
  210. package/dist/node.js +106 -0
  211. package/dist/node.js.map +1 -0
  212. package/dist/react.d.ts +20 -0
  213. package/dist/react.js +223 -0
  214. package/dist/react.js.map +1 -0
  215. package/dist/runtime-globals.d.ts +63 -0
  216. package/dist/runtime-globals.js +3 -0
  217. package/dist/runtime-globals.js.map +1 -0
  218. package/dist/spring/animated.d.ts +27 -0
  219. package/dist/spring/animated.js +3 -0
  220. package/dist/spring/animated.js.map +1 -0
  221. package/dist/spring/index.d.ts +5 -0
  222. package/dist/spring/index.js +39 -0
  223. package/dist/spring/index.js.map +1 -0
  224. package/dist/spring/primitives.d.ts +3 -0
  225. package/dist/spring/primitives.js +5 -0
  226. package/dist/spring/primitives.js.map +1 -0
  227. package/dist/state.d.ts +6 -0
  228. package/dist/state.js +9 -0
  229. package/dist/state.js.map +1 -0
  230. package/dist/utils.d.ts +10 -0
  231. package/dist/utils.js +11 -0
  232. package/dist/utils.js.map +1 -0
  233. package/jsx-runtime.d.ts +1 -0
  234. package/package.json +46 -0
package/dist/node.js ADDED
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Node = void 0;
37
+ const moyu = __importStar(require("./moyu"));
38
+ const state_1 = require("./state");
39
+ class Node {
40
+ nodeId;
41
+ label;
42
+ props = {};
43
+ listeners = {};
44
+ static create(label, type, props) {
45
+ const { children: _, ...rest } = props;
46
+ const node = new Node();
47
+ node.label = label;
48
+ const [restProps, listeners] = filterProps(rest);
49
+ node.props = restProps;
50
+ node.listeners = listeners;
51
+ node.nodeId = moyu.createInstance(type, label, restProps);
52
+ state_1.STATE.nodeMap[node.nodeId] = node;
53
+ return node;
54
+ }
55
+ static rootNode() {
56
+ const node = new Node();
57
+ node.label = 'rootNode';
58
+ node.nodeId = 0;
59
+ return node;
60
+ }
61
+ addChild(child) {
62
+ moyu.addChild(this.nodeId, child.nodeId);
63
+ }
64
+ insertChild(index, child) {
65
+ moyu.insertChild(this.nodeId, 0, child.nodeId);
66
+ }
67
+ insertChildBefore(beforeChild, child) {
68
+ moyu.insertChildBefore(this.nodeId, beforeChild.nodeId, child.nodeId);
69
+ }
70
+ // removeChildAt(index: number): Node | undefined {
71
+ // return this.children.splice(index, 1)[0];
72
+ // }
73
+ removeChild(child) {
74
+ moyu.removeChild(this.nodeId, child.nodeId);
75
+ moyu.destroyInstance(child.nodeId);
76
+ }
77
+ updateProps(props) {
78
+ const [restProps, listeners] = filterProps(props);
79
+ Object.assign(this.props, restProps);
80
+ Object.assign(this.listeners, listeners);
81
+ // skip empty props
82
+ if (Object.keys(restProps).length > 0) {
83
+ moyu.updateProps(this.nodeId, restProps);
84
+ }
85
+ }
86
+ executeCommand(payload) {
87
+ return moyu.executeNodeCommand(this.nodeId, payload);
88
+ }
89
+ }
90
+ exports.Node = Node;
91
+ /// filter props to props and listeners
92
+ function filterProps(props) {
93
+ const ret = {};
94
+ const listeners = {};
95
+ for (const key in props) {
96
+ // FIXME: it is not quite right to check if a key starts with 'on'
97
+ if (key.startsWith('on')) {
98
+ listeners[key] = props[key];
99
+ }
100
+ else {
101
+ ret[key] = props[key];
102
+ }
103
+ }
104
+ return [ret, listeners];
105
+ }
106
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Component, ReactElement } from 'react';
2
+ import Reconciler from 'react-reconciler';
3
+ import type { BaseErrorInfo } from 'react-reconciler';
4
+ import { Node } from './node';
5
+ export declare const MoyuRenderer: Reconciler.Reconciler<Node, Node, never, never, never, any>;
6
+ export interface RootOptions {
7
+ /**
8
+ * Prefix for `useId`.
9
+ */
10
+ identifierPrefix?: string;
11
+ onUncaughtError: (error: Error, info: BaseErrorInfo & {
12
+ errorBoundary?: Component;
13
+ }) => void;
14
+ onCaughtError: (error: Error, info: BaseErrorInfo) => void;
15
+ onRecoverableError: (error: Error, info: BaseErrorInfo) => void;
16
+ onDefaultTransitionIndicator: () => void;
17
+ }
18
+ export declare function createRoot(options?: RootOptions): {
19
+ render: (reactElement: ReactElement, callback?: (() => void) | null) => Reconciler.Lane;
20
+ };
package/dist/react.js ADDED
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MoyuRenderer = void 0;
7
+ exports.createRoot = createRoot;
8
+ const react_1 = __importDefault(require("react"));
9
+ const react_reconciler_1 = __importDefault(require("react-reconciler"));
10
+ const constants_1 = require("react-reconciler/constants");
11
+ const node_1 = require("./node");
12
+ let currentUpdatePriority = constants_1.NoEventPriority;
13
+ const hostConfig = {
14
+ isPrimaryRenderer: true,
15
+ supportsHydration: false,
16
+ supportsMutation: true,
17
+ supportsPersistence: false,
18
+ /**
19
+ * @required
20
+ */
21
+ createInstance(type, props, _root, _hostContext, _internalInstanceHandle) {
22
+ // console.debug('createInstance', type);
23
+ const node = node_1.Node.create(props.label ?? '', type, props);
24
+ return node;
25
+ },
26
+ /**
27
+ * throw if not supported
28
+ * @required
29
+ */
30
+ createTextInstance(_text, _rootContainerInstance, _hostContext, _internalInstanceHandle) {
31
+ // console.debug('createTextInstance');
32
+ // return SpanNode({}, text) as SkNode;
33
+ throw new Error('Text nodes are not supported yet');
34
+ },
35
+ /**
36
+ * @required
37
+ */
38
+ appendInitialChild(parentInstance, child) {
39
+ // console.debug('appendInitialChild');
40
+ parentInstance.addChild(child);
41
+ },
42
+ /**
43
+ * return true if needs `commitMount`
44
+ * @required
45
+ */
46
+ finalizeInitialChildren(parentInstance, _type, _props, _rootContainerInstance, _hostContext) {
47
+ // console.debug('finalizeInitialChildren', parentInstance);
48
+ return true;
49
+ },
50
+ shouldSetTextContent(_type, _props) {
51
+ return false;
52
+ },
53
+ getRootHostContext: (_rootContainerInstance) => {
54
+ // console.debug('getRootHostContext');
55
+ return {};
56
+ },
57
+ getChildHostContext(_parentHostContext, _type, _rootContainerInstance) {
58
+ // console.debug('getChildHostContext');
59
+ return _parentHostContext;
60
+ },
61
+ getPublicInstance(node) {
62
+ // console.debug('getPublicInstance');
63
+ return node;
64
+ },
65
+ prepareForCommit(_containerInfo) {
66
+ // console.debug('prepareForCommit');
67
+ return null;
68
+ },
69
+ resetAfterCommit(container) {
70
+ // console.debug('resetAfterCommit');
71
+ // TODO: this is not necessary in continuous rendering
72
+ // container.redraw();
73
+ },
74
+ preparePortalMount: () => {
75
+ // console.debug('preparePortalMount');
76
+ },
77
+ scheduleTimeout: setTimeout,
78
+ cancelTimeout: clearTimeout,
79
+ noTimeout: -1,
80
+ // optional
81
+ appendChild(parent, child) {
82
+ // console.debug('appendChild', parent, child);
83
+ parent.addChild(child);
84
+ },
85
+ appendChildToContainer(container, child) {
86
+ // console.debug('appendChildToContainer', container, child);
87
+ container.addChild(child);
88
+ },
89
+ insertBefore: (parent, child, before) => {
90
+ // console.debug('insertBefore', parent, child, before);
91
+ parent.insertChildBefore(before, child);
92
+ },
93
+ insertInContainerBefore: (parent, child, before) => {
94
+ parent.insertChildBefore(before, child);
95
+ },
96
+ removeChild: (parent, child) => {
97
+ // console.debug('removeChild', parent, child);
98
+ parent.removeChild(child);
99
+ },
100
+ removeChildFromContainer: (parent, child) => {
101
+ // console.debug('removeChildFromContainer', parent, child);
102
+ parent.removeChild(child);
103
+ },
104
+ finalizeContainerChildren: () => {
105
+ // console.debug('finalizeContainerChildren');
106
+ },
107
+ commitMount(instance, type, props, internalInstanceHandle) {
108
+ // if finalizeInitialChildren = true
109
+ // console.debug('commitMount');
110
+ },
111
+ commitUpdate(instance, type, prevProps, nextProps, _internalHandle) {
112
+ // console.debug('commitUpdate: ', type, JSON.stringify(_updatePayload));
113
+ const { label: _oldLabel, children: _oldChildren, ...oldProps } = prevProps;
114
+ const { label, children, ...newProps } = nextProps;
115
+ const changedProps = {};
116
+ // Check for changed or new props
117
+ for (const key in newProps) {
118
+ if (newProps[key] !== oldProps[key]) {
119
+ changedProps[key] = newProps[key];
120
+ }
121
+ }
122
+ // Check for removed props
123
+ for (const key in oldProps) {
124
+ if (!(key in newProps)) {
125
+ changedProps[key] = null;
126
+ }
127
+ }
128
+ // Handle label especially if it's reactive
129
+ if (label !== _oldLabel) {
130
+ changedProps.label = label ?? null;
131
+ }
132
+ if (Object.keys(changedProps).length) {
133
+ instance.updateProps(changedProps);
134
+ }
135
+ },
136
+ commitTextUpdate: (_textInstance, _oldText, _newText) => {
137
+ // textInstance.instance = newText;
138
+ },
139
+ clearContainer: (container) => {
140
+ // console.error('clearContainer not implement');
141
+ // container.children.splice(0);
142
+ },
143
+ getInstanceFromNode(node) {
144
+ console.error('getInstanceFromNode not implement');
145
+ throw new Error('Function not implemented.');
146
+ },
147
+ beforeActiveInstanceBlur: () => {
148
+ console.error('beforeActiveInstanceBlur not implement');
149
+ // throw new Error('Function not implemented.');
150
+ },
151
+ afterActiveInstanceBlur: () => {
152
+ console.error('afterActiveInstanceBlur not implement');
153
+ // throw new Error('Function not implemented.');
154
+ },
155
+ prepareScopeUpdate: (scopeInstance, instance) => {
156
+ console.error('prepareScopeUpdate not implement');
157
+ // throw new Error('Function not implemented.');
158
+ },
159
+ getInstanceFromScope: (scopeInstance) => {
160
+ console.error('getInstanceFromScope not implement');
161
+ // throw new Error('Function not implemented.');
162
+ return null;
163
+ },
164
+ detachDeletedInstance: (node) => {
165
+ // node will be destroyed by the engine
166
+ // just do nothing here
167
+ },
168
+ NotPendingTransition: undefined,
169
+ // see https://github.com/pmndrs/react-three-fiber/blob/2541e81fb6ddc22d0869b9eb5cdbedcbbc62324c/packages/fiber/src/core/reconciler.tsx#L570
170
+ HostTransitionContext: /* @__PURE__ */ react_1.default.createContext(null),
171
+ setCurrentUpdatePriority(newPriority) {
172
+ currentUpdatePriority = newPriority;
173
+ },
174
+ getCurrentUpdatePriority() {
175
+ return currentUpdatePriority;
176
+ },
177
+ resolveUpdatePriority() {
178
+ if (currentUpdatePriority !== constants_1.NoEventPriority)
179
+ return currentUpdatePriority;
180
+ return constants_1.DefaultEventPriority;
181
+ },
182
+ resetFormInstance() { },
183
+ requestPostPaintCallback() { },
184
+ shouldAttemptEagerTransition: () => false,
185
+ trackSchedulerEvent: () => { },
186
+ resolveEventType: () => null,
187
+ resolveEventTimeStamp: () => -1.1,
188
+ maySuspendCommit: () => false,
189
+ preloadInstance: () => true,
190
+ startSuspendingCommit() { },
191
+ suspendInstance() { },
192
+ waitForCommitToBeReady: () => null,
193
+ };
194
+ exports.MoyuRenderer = (0, react_reconciler_1.default)(hostConfig);
195
+ function createRoot(options) {
196
+ const rootNode = node_1.Node.rootNode();
197
+ const rootElement = exports.MoyuRenderer.createContainer(rootNode, 0, null, false, false, options?.identifierPrefix ?? 'moyu', options?.onUncaughtError ??
198
+ ((err) => {
199
+ console.error('uncaught error: ', err);
200
+ }), options?.onCaughtError ??
201
+ ((err) => {
202
+ console.error('caught error: ', err);
203
+ }), options?.onRecoverableError ??
204
+ ((err) => {
205
+ console.error('unrecoverable error: ', err);
206
+ }), options?.onDefaultTransitionIndicator ?? (() => { }));
207
+ exports.MoyuRenderer.injectIntoDevTools({
208
+ bundleType: process.env.NODE_ENV === 'production' ? 0 : 1,
209
+ version: '0.1.0',
210
+ rendererPackageName: '@momoyu-ink/kit',
211
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
212
+ findFiberByHostInstance: (instance) => {
213
+ return instance;
214
+ },
215
+ });
216
+ return {
217
+ render: (reactElement, callback) => {
218
+ // update the root Container
219
+ return exports.MoyuRenderer.updateContainer(reactElement, rootElement, null, callback);
220
+ },
221
+ };
222
+ }
223
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ export {};
2
+ declare global {
3
+ /**
4
+ * The **`console`** object provides access to the debugging console (e.g., the Web console in Firefox).
5
+ *
6
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/console)
7
+ */
8
+ interface Console {
9
+ /**
10
+ * The **`console.debug()`** static method outputs a message to the console at the 'debug' log level.
11
+ *
12
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/debug_static)
13
+ */
14
+ debug(...data: any[]): void;
15
+ /**
16
+ * The **`console.error()`** static method outputs a message to the console at the 'error' log level.
17
+ *
18
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/error_static)
19
+ */
20
+ error(...data: any[]): void;
21
+ /**
22
+ * The **`console.info()`** static method outputs a message to the console at the 'info' log level.
23
+ *
24
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/info_static)
25
+ */
26
+ info(...data: any[]): void;
27
+ /**
28
+ * The **`console.log()`** static method outputs a message to the console.
29
+ *
30
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/log_static)
31
+ */
32
+ log(...data: any[]): void;
33
+ /**
34
+ * The **`console.trace()`** static method outputs a stack trace to the console.
35
+ *
36
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/trace_static)
37
+ */
38
+ trace(...data: any[]): void;
39
+ /**
40
+ * The **`console.warn()`** static method outputs a warning message to the console at the 'warning' log level.
41
+ *
42
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/warn_static)
43
+ */
44
+ warn(...data: any[]): void;
45
+ }
46
+ var console: Console;
47
+ type TimerHandler = string | Function;
48
+ function clearInterval(id: number | undefined): void;
49
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/clearTimeout) */
50
+ function clearTimeout(id: number | undefined): void;
51
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/setInterval) */
52
+ function setInterval(handler: TimerHandler, timeout?: number, ...args: any[]): number;
53
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/setTimeout) */
54
+ function setTimeout(handler: TimerHandler, timeout?: number, ...args: any[]): number;
55
+ type DOMHighResTimeStamp = number;
56
+ interface FrameRequestCallback {
57
+ (time: DOMHighResTimeStamp): void;
58
+ }
59
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/cancelAnimationFrame) */
60
+ function cancelAnimationFrame(handle: number): void;
61
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DedicatedWorkerGlobalScope/requestAnimationFrame) */
62
+ function requestAnimationFrame(callback: FrameRequestCallback): number;
63
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=runtime-globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-globals.js","sourceRoot":"","sources":["../src/runtime-globals.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import type { FluidValue } from '@react-spring/shared';
2
+ import type { AssignableKeys, ComponentPropsWithRef, ElementType } from '@react-spring/types';
3
+ import type { CSSProperties, FC, ForwardRefExoticComponent } from 'react';
4
+ import type { JSX } from '../declaration';
5
+ import type { Primitives } from './primitives';
6
+ type AnimatedPrimitives = {
7
+ [P in Primitives]: AnimatedComponent<FC<JSX.IntrinsicElements[P]>>;
8
+ };
9
+ /** The type of the `animated()` function */
10
+ export type WithAnimated = (<T extends ElementType>(wrappedComponent: T) => AnimatedComponent<T>) & AnimatedPrimitives;
11
+ /** The type of an `animated()` component */
12
+ export type AnimatedComponent<T extends ElementType> = ForwardRefExoticComponent<AnimatedProps<ComponentPropsWithRef<T>>>;
13
+ /** The props of an `animated()` component */
14
+ export type AnimatedProps<Props extends object> = {
15
+ [P in keyof Props]: P extends 'ref' | 'key' ? Props[P] : AnimatedProp<Props[P]>;
16
+ };
17
+ type AnimatedProp<T> = [T, T] extends [infer T, infer DT] ? [DT] extends [never] ? never : DT extends void ? undefined : DT extends object ? [AssignableKeys<DT, CSSProperties>] extends [never] ? DT extends ReadonlyArray<any> ? AnimatedStyles<DT> : DT : AnimatedStyle<T> : DT | AnimatedLeaf<T> : never;
18
+ type AnimatedStyles<T extends ReadonlyArray<any>> = {
19
+ [P in keyof T]: [T[P]] extends [infer DT] ? DT extends object ? [AssignableKeys<DT, CSSProperties>] extends [never] ? DT extends ReadonlyArray<any> ? AnimatedStyles<DT> : DT : {
20
+ [P in keyof DT]: AnimatedProp<DT[P]>;
21
+ } : DT : never;
22
+ };
23
+ type AnimatedStyle<T> = [T, T] extends [infer T, infer DT] ? DT extends void ? undefined : [DT] extends [never] ? never : DT extends object ? {
24
+ [P in keyof DT]: AnimatedStyle<DT[P]>;
25
+ } : DT | AnimatedLeaf<T> : never;
26
+ type AnimatedLeaf<T> = Exclude<T, object | undefined> | Extract<T, ReadonlyArray<number | string>> extends infer U ? [U] extends [never] ? never : FluidValue<U | Exclude<T, object | undefined>> : never;
27
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=animated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated.js","sourceRoot":"","sources":["../../src/spring/animated.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { WithAnimated } from './animated';
2
+ export declare const animated: WithAnimated;
3
+ export { animated as a };
4
+ export * from './animated';
5
+ export * from '@react-spring/core';
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.a = exports.animated = void 0;
18
+ const animated_1 = require("@react-spring/animated");
19
+ const shared_1 = require("@react-spring/shared");
20
+ const primitives_1 = require("./primitives");
21
+ shared_1.Globals.assign({
22
+ createStringInterpolator: shared_1.createStringInterpolator,
23
+ colors: shared_1.colors,
24
+ frameLoop: 'demand',
25
+ });
26
+ // Let r3f drive the frameloop.
27
+ setInterval(() => {
28
+ shared_1.raf.advance();
29
+ }, 10);
30
+ const host = (0, animated_1.createHost)(primitives_1.primitives, {
31
+ applyAnimatedValues(instance, props) {
32
+ instance.updateProps(props);
33
+ },
34
+ });
35
+ exports.animated = host.animated;
36
+ exports.a = exports.animated;
37
+ __exportStar(require("./animated"), exports);
38
+ __exportStar(require("@react-spring/core"), exports);
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spring/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAoD;AACpD,iDAAsF;AAGtF,6CAA0C;AAE1C,gBAAO,CAAC,MAAM,CAAC;IACb,wBAAwB,EAAxB,iCAAwB;IACxB,MAAM,EAAN,eAAM;IACN,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEH,+BAA+B;AAC/B,WAAW,CAAC,GAAG,EAAE;IACf,YAAG,CAAC,OAAO,EAAE,CAAC;AAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AAEP,MAAM,IAAI,GAAG,IAAA,qBAAU,EAAC,uBAAU,EAAE;IAClC,mBAAmB,CAAC,QAAkB,EAAE,KAAK;QAC3C,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,IAAI,CAAC,QAAwB,CAAC;AACjC,YADR,gBAAQ,CACC;AAEtB,6CAA2B;AAC3B,qDAAmC"}
@@ -0,0 +1,3 @@
1
+ import type { JSX } from '../declaration';
2
+ export type Primitives = keyof JSX.IntrinsicElements;
3
+ export declare const primitives: Primitives[];
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.primitives = void 0;
4
+ exports.primitives = ['container', 'sprite', 'text', 'clip', 'filter', 'backdrop', 'animation'];
5
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/spring/primitives.ts"],"names":[],"mappings":";;;AAGa,QAAA,UAAU,GAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Node } from './node';
2
+ export type State = {
3
+ nodeMap: Record<string, Node>;
4
+ touchMoved: Record<number, boolean>;
5
+ };
6
+ export declare const STATE: State;
package/dist/state.js ADDED
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STATE = void 0;
4
+ exports.STATE = {
5
+ nodeMap: {},
6
+ touchMoved: {},
7
+ };
8
+ // STATE.nodeMap[node.nodeId] = node;
9
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":";;;AAWa,QAAA,KAAK,GAAU;IAC1B,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;CACf,CAAC;AACF,qCAAqC"}
@@ -0,0 +1,10 @@
1
+ export declare function getStageSize(): {
2
+ width: number;
3
+ height: number;
4
+ scaleFactor: number;
5
+ };
6
+ export type MakeNullOptional<T> = T extends any ? {
7
+ [K in keyof T as null extends T[K] ? never : K]: T[K];
8
+ } & {
9
+ [K in keyof T as null extends T[K] ? K : never]?: T[K];
10
+ } : never;
package/dist/utils.js ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStageSize = getStageSize;
4
+ const moyu_1 = require("./moyu");
5
+ function getStageSize() {
6
+ const stageSize = (0, moyu_1.executePluginCommand)('system', {
7
+ subCommand: 'getStageSize',
8
+ });
9
+ return stageSize;
10
+ }
11
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAEA,oCASC;AAXD,iCAA8C;AAE9C,SAAgB,YAAY;IAC1B,MAAM,SAAS,GAAG,IAAA,2BAAoB,EAAC,QAAQ,EAAE;QAC/C,UAAU,EAAE,cAAc;KAC3B,CAIA,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1 @@
1
+ export type { JSX } from './dist/declaration';
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@momoyu-ink/kit",
3
+ "version": "0.1.0",
4
+ "description": "Software Development Kit of Moyu Visual Novel Engine",
5
+ "main": "dist/lib.js",
6
+ "module": "dist/lib.js",
7
+ "types": "dist/lib.d.ts",
8
+ "files": [
9
+ "dist",
10
+ "jsx-runtime.d.ts",
11
+ "LICENSE.txt"
12
+ ],
13
+ "scripts": {
14
+ "dev": "tsc --outDir ./dist -w -p tsconfig.build.json",
15
+ "prepack": "tsc --outDir ./dist -p tsconfig.build.json",
16
+ "build": "tsc --outDir ./dist -p tsconfig.build.json",
17
+ "watch": "tsc --outDir ./dist -w -p tsconfig.build.json"
18
+ },
19
+ "author": "Icemic <bingfeng.web@gmail.com>",
20
+ "license": "MIT",
21
+ "engines": {
22
+ "node": ">=22"
23
+ },
24
+ "dependencies": {
25
+ "@react-spring/animated": "^10.0.3",
26
+ "@react-spring/core": "^10.0.3",
27
+ "@react-spring/rafz": "^10.0.3",
28
+ "@react-spring/shared": "^10.0.3",
29
+ "react-reconciler": "^0.33.0",
30
+ "valtio": "^2.1.7",
31
+ "zod": "^4.2.0"
32
+ },
33
+ "peerDependencies": {
34
+ "react": "^19.2.1"
35
+ },
36
+ "devDependencies": {
37
+ "@types/node": ">=24.10.1",
38
+ "@types/react": "^19.2.7",
39
+ "@types/react-reconciler": "^0.33.0",
40
+ "react": "^19.2.1",
41
+ "typescript": "^5.9.3"
42
+ },
43
+ "publishConfig": {
44
+ "access": "public"
45
+ }
46
+ }