@lynx-js/react 0.107.1 → 0.108.1
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.
- package/CHANGELOG.md +46 -0
- package/README.md +4 -2
- package/package.json +4 -4
- package/refresh/.turbo/turbo-build.log +1 -1
- package/refresh/package.json +1 -1
- package/runtime/lazy/import.js +7 -1
- package/runtime/lepus/index.js +1 -1
- package/runtime/lepus/jsx-dev-runtime/index.js +1 -1
- package/runtime/lib/backgroundSnapshot.d.ts +1 -1
- package/runtime/lib/backgroundSnapshot.js +7 -4
- package/runtime/lib/backgroundSnapshot.js.map +1 -1
- package/runtime/lib/document.d.ts +33 -2
- package/runtime/lib/document.js +9 -1
- package/runtime/lib/document.js.map +1 -1
- package/runtime/lib/hydrate.js +2 -1
- package/runtime/lib/hydrate.js.map +1 -1
- package/runtime/lib/lifecycle/delayUnmount.d.ts +1 -1
- package/runtime/lib/lifecycle/delayUnmount.js +1 -4
- package/runtime/lib/lifecycle/delayUnmount.js.map +1 -1
- package/runtime/lib/lifecycle/destroy.js +2 -2
- package/runtime/lib/lifecycle/destroy.js.map +1 -1
- package/runtime/lib/lifecycle/patch/commit.d.ts +21 -3
- package/runtime/lib/lifecycle/patch/commit.js +44 -56
- package/runtime/lib/lifecycle/patch/commit.js.map +1 -1
- package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.d.ts +2 -0
- package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js +9 -0
- package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js.map +1 -0
- package/runtime/lib/lifecycle/patch/snapshotPatch.d.ts +5 -0
- package/runtime/lib/lifecycle/patch/snapshotPatch.js +5 -0
- package/runtime/lib/lifecycle/patch/snapshotPatch.js.map +1 -1
- package/runtime/lib/lifecycle/patch/snapshotPatchApply.d.ts +5 -0
- package/runtime/lib/lifecycle/patch/snapshotPatchApply.js +21 -5
- package/runtime/lib/lifecycle/patch/snapshotPatchApply.js.map +1 -1
- package/runtime/lib/lifecycle/patch/updateMainThread.js +4 -3
- package/runtime/lib/lifecycle/patch/updateMainThread.js.map +1 -1
- package/runtime/lib/lifecycle/reload.js +11 -4
- package/runtime/lib/lifecycle/reload.js.map +1 -1
- package/runtime/lib/lifecycle/render.d.ts +1 -3
- package/runtime/lib/lifecycle/render.js +4 -6
- package/runtime/lib/lifecycle/render.js.map +1 -1
- package/runtime/lib/list.d.ts +1 -1
- package/runtime/lib/list.js +60 -23
- package/runtime/lib/list.js.map +1 -1
- package/runtime/lib/lynx/env.d.ts +1 -1
- package/runtime/lib/lynx/env.js +1 -1
- package/runtime/lib/lynx/env.js.map +1 -1
- package/runtime/lib/lynx/runWithForce.js +12 -4
- package/runtime/lib/lynx/runWithForce.js.map +1 -1
- package/runtime/lib/lynx/tt.js +6 -8
- package/runtime/lib/lynx/tt.js.map +1 -1
- package/runtime/lib/lynx-api.d.ts +4 -4
- package/runtime/lib/lynx-api.js +5 -5
- package/runtime/lib/lynx-api.js.map +1 -1
- package/runtime/lib/lynx.js +6 -5
- package/runtime/lib/lynx.js.map +1 -1
- package/runtime/lib/opcodes.js +2 -2
- package/runtime/lib/opcodes.js.map +1 -1
- package/runtime/lib/renderToOpcodes/index.js +5 -1
- package/runtime/lib/renderToOpcodes/index.js.map +1 -1
- package/runtime/lib/root.d.ts +4 -0
- package/runtime/lib/root.js +6 -2
- package/runtime/lib/root.js.map +1 -1
- package/runtime/lib/snapshot/ref.d.ts +1 -1
- package/runtime/lib/snapshot/ref.js +1 -1
- package/runtime/lib/snapshot/ref.js.map +1 -1
- package/runtime/lib/snapshot/spread.d.ts +2 -2
- package/runtime/lib/snapshot/spread.js +9 -9
- package/runtime/lib/snapshot/spread.js.map +1 -1
- package/runtime/lib/snapshot/workletEvent.d.ts +2 -1
- package/runtime/lib/snapshot/workletEvent.js +1 -1
- package/runtime/lib/snapshot/workletEvent.js.map +1 -1
- package/runtime/lib/snapshot/workletRef.d.ts +4 -4
- package/runtime/lib/snapshot/workletRef.js +8 -6
- package/runtime/lib/snapshot/workletRef.js.map +1 -1
- package/runtime/lib/snapshot.d.ts +31 -5
- package/runtime/lib/snapshot.js +15 -3
- package/runtime/lib/snapshot.js.map +1 -1
- package/runtime/lib/worklet/workletRef.d.ts +1 -0
- package/runtime/lib/worklet/workletRef.js +14 -12
- package/runtime/lib/worklet/workletRef.js.map +1 -1
- package/runtime/src/backgroundSnapshot.ts +20 -13
- package/runtime/src/document.ts +33 -2
- package/runtime/src/hydrate.ts +3 -1
- package/runtime/src/lifecycle/delayUnmount.ts +2 -2
- package/runtime/src/lifecycle/destroy.ts +3 -2
- package/runtime/src/lifecycle/patch/commit.ts +75 -72
- package/runtime/src/lifecycle/patch/isMainThreadHydrationFinished.ts +10 -0
- package/runtime/src/lifecycle/patch/snapshotPatch.ts +9 -0
- package/runtime/src/lifecycle/patch/snapshotPatchApply.ts +20 -5
- package/runtime/src/lifecycle/patch/updateMainThread.ts +4 -3
- package/runtime/src/lifecycle/reload.ts +14 -4
- package/runtime/src/lifecycle/render.ts +6 -8
- package/runtime/src/list.ts +71 -23
- package/runtime/src/lynx/env.ts +1 -1
- package/runtime/src/lynx/runWithForce.ts +17 -6
- package/runtime/src/lynx/tt.ts +10 -17
- package/runtime/src/lynx-api.ts +7 -7
- package/runtime/src/lynx.ts +7 -6
- package/runtime/src/opcodes.ts +2 -2
- package/runtime/src/renderToOpcodes/index.ts +6 -1
- package/runtime/src/root.ts +6 -2
- package/runtime/src/snapshot/ref.ts +7 -7
- package/runtime/src/snapshot/spread.ts +28 -10
- package/runtime/src/snapshot/workletEvent.ts +3 -2
- package/runtime/src/snapshot/workletRef.ts +18 -19
- package/runtime/src/snapshot.ts +35 -10
- package/runtime/src/worklet/workletRef.ts +15 -12
- package/testing-library/README.md +1 -1
- package/testing-library/dist/env/vitest.js +23 -23
- package/testing-library/dist/index.d.ts +24 -24
- package/testing-library/dist/index.js +2 -2
- package/testing-library/dist/pure.js +13 -15
- package/testing-library/dist/vitest-global-setup.js +13 -14
- package/testing-library/types/entry.d.ts +2 -2
- package/testing-library/types/index.d.ts +3 -3
- package/transform/dist/wasm.cjs +1 -1
- package/worklet-runtime/dist/dev.js +25 -13
- package/worklet-runtime/dist/dev.js.map +3 -3
- package/worklet-runtime/dist/main.js +25 -13
- package/worklet-runtime/dist/main.js.map +3 -3
- package/worklet-runtime/lib/bindings/bindings.d.ts +1 -1
- package/worklet-runtime/lib/bindings/bindings.js +2 -2
- package/worklet-runtime/lib/bindings/bindings.js.map +1 -1
- package/worklet-runtime/lib/bindings/index.d.ts +1 -1
- package/worklet-runtime/lib/bindings/index.js +1 -1
- package/worklet-runtime/lib/bindings/index.js.map +1 -1
- package/worklet-runtime/lib/bindings/types.d.ts +7 -3
- package/worklet-runtime/lib/bindings/types.js +3 -0
- package/worklet-runtime/lib/bindings/types.js.map +1 -1
- package/worklet-runtime/lib/ctxTrace.d.ts +8 -0
- package/worklet-runtime/lib/ctxTrace.js +13 -0
- package/worklet-runtime/lib/ctxTrace.js.map +1 -0
- package/worklet-runtime/lib/global.d.ts +3 -3
- package/worklet-runtime/lib/workletRuntime.js +11 -8
- package/worklet-runtime/lib/workletRuntime.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spread.js","sourceRoot":"","sources":["../../src/snapshot/spread.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;
|
|
1
|
+
{"version":3,"file":"spread.js","sourceRoot":"","sources":["../../src/snapshot/spread.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Worklet } from '@lynx-js/react/worklet-runtime/bindings';
|
|
1
2
|
import { SnapshotInstance } from '../snapshot.js';
|
|
2
|
-
declare function updateWorkletEvent(snapshot: SnapshotInstance, expIndex: number, _oldValue:
|
|
3
|
+
declare function updateWorkletEvent(snapshot: SnapshotInstance, expIndex: number, _oldValue: Worklet, elementIndex: number, workletType: string, eventType: string, eventName: string): void;
|
|
3
4
|
export { updateWorkletEvent };
|
|
@@ -7,7 +7,7 @@ function updateWorkletEvent(snapshot, expIndex, _oldValue, elementIndex, worklet
|
|
|
7
7
|
if (!snapshot.__elements) {
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
|
-
const value = snapshot.__values[expIndex] || {};
|
|
10
|
+
const value = (snapshot.__values[expIndex] || undefined) ?? {};
|
|
11
11
|
value._workletType = workletType;
|
|
12
12
|
if (workletType === 'main-thread') {
|
|
13
13
|
onWorkletCtxUpdate(value, snapshot.__elements[elementIndex]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workletEvent.js","sourceRoot":"","sources":["../../src/snapshot/workletEvent.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"workletEvent.js","sourceRoot":"","sources":["../../src/snapshot/workletEvent.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,SAAS,kBAAkB,CACzB,QAA0B,EAC1B,QAAgB,EAChB,SAAkB,EAClB,YAAoB,EACpB,WAAmB,EACnB,SAAiB,EACjB,SAAiB;IAEjB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,QAAS,CAAC,QAAQ,CAAY,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;IAC3E,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;IAEjC,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;QAClC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,SAAS;YACf,KAAK;SACN,CAAC;QACF,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SnapshotInstance } from '../snapshot.js';
|
|
3
|
-
declare function workletUnRef(value: Worklet |
|
|
4
|
-
declare function updateWorkletRef(snapshot: SnapshotInstance, expIndex: number, oldValue:
|
|
1
|
+
import type { Element, Worklet, WorkletRefImpl } from '@lynx-js/react/worklet-runtime/bindings';
|
|
2
|
+
import type { SnapshotInstance } from '../snapshot.js';
|
|
3
|
+
declare function workletUnRef(value: Worklet | WorkletRefImpl<Element>): void;
|
|
4
|
+
declare function updateWorkletRef(snapshot: SnapshotInstance, expIndex: number, oldValue: WorkletRefImpl<Element> | Worklet | undefined, elementIndex: number, _workletType: string): void;
|
|
5
5
|
export { updateWorkletRef, workletUnRef };
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
// Copyright 2024 The Lynx Authors. All rights reserved.
|
|
2
2
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
3
|
// LICENSE file in the root directory of this source tree.
|
|
4
|
-
import { runWorkletCtx, updateWorkletRef as update
|
|
5
|
-
import { SnapshotInstance } from '../snapshot.js';
|
|
4
|
+
import { runWorkletCtx, updateWorkletRef as update } from '@lynx-js/react/worklet-runtime/bindings';
|
|
6
5
|
function workletUnRef(value) {
|
|
7
|
-
if ('_wvid' in value) {
|
|
6
|
+
if ('_wvid' in value && value._wvid > 0) {
|
|
8
7
|
update(value, null);
|
|
9
8
|
}
|
|
10
9
|
else if ('_wkltId' in value) {
|
|
@@ -29,11 +28,14 @@ function updateWorkletRef(snapshot, expIndex, oldValue, elementIndex, _workletTy
|
|
|
29
28
|
// do nothing
|
|
30
29
|
}
|
|
31
30
|
else if (value._wvid) {
|
|
32
|
-
|
|
31
|
+
if (value._wvid > 0) {
|
|
32
|
+
update(value, snapshot.__elements[elementIndex]);
|
|
33
|
+
}
|
|
33
34
|
}
|
|
34
35
|
else if (value._wkltId) {
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
value._unmount = runWorkletCtx(value, [{
|
|
37
|
+
elementRefptr: (snapshot.__elements[elementIndex]),
|
|
38
|
+
}]);
|
|
37
39
|
}
|
|
38
40
|
else if (value._type === '__LEPUS__' || value._lepusWorkletHash) {
|
|
39
41
|
// During the initial render, we will not update the WorkletRef because the background thread is not ready yet.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workletRef.js","sourceRoot":"","sources":["../../src/snapshot/workletRef.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"workletRef.js","sourceRoot":"","sources":["../../src/snapshot/workletRef.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,aAAa,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAKpG,SAAS,YAAY,CAAC,KAAwC;IAC5D,IAAI,OAAO,IAAI,KAAK,IAAK,KAAK,CAAC,KAAsB,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,KAAgC,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,OAAO,KAAK,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAC;YACvC,KAAK,CAAC,QAAuB,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,QAA0B,EAC1B,QAAgB,EAChB,QAAuD,EACvD,YAAoB,EACpB,YAAoB;IAEpB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAS,CAAC,QAAQ,CAAoD,CAAC;IAC9F,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,aAAa;IACf,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACvB,IAAK,KAAK,CAAC,KAAsB,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,KAAgC,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;SAAM,IAAK,KAAiB,CAAC,OAAO,EAAE,CAAC;QACrC,KAAiB,CAAC,QAAQ,GAAG,aAAa,CAAC,KAAgB,EAAE,CAAC;gBAC7D,aAAa,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,CAAQ;aAC3D,CAAC,CAAe,CAAC;IACpB,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,IAAK,KAAiB,CAAC,iBAAiB,EAAE,CAAC;QAC/E,+GAA+G;IACjH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;IAC3G,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,CAAC,iBAAiB,KAAK,IAAI,GAAG,EAAE,CAAC;QACzC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,qEAAqE;IACrE,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1,13 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core snapshot system that implements a compiler-hinted virtual DOM.
|
|
3
|
+
*
|
|
4
|
+
* Key components:
|
|
5
|
+
* 1. {@link Snapshot}: Template definition generated at compile time
|
|
6
|
+
* 2. {@link SnapshotInstance}: Runtime instance in the main thread
|
|
7
|
+
* 3. {@link BackgroundSnapshotInstance}: Runtime instance in the background thread
|
|
8
|
+
*
|
|
9
|
+
* The system uses static analysis to identify dynamic parts and generate
|
|
10
|
+
* optimized update instructions, avoiding full virtual DOM diffing.
|
|
11
|
+
*/
|
|
1
12
|
import type { Worklet, WorkletRefImpl } from '@lynx-js/react/worklet-runtime/bindings';
|
|
2
13
|
import type { BackgroundSnapshotInstance } from './backgroundSnapshot.js';
|
|
14
|
+
/**
|
|
15
|
+
* Types of dynamic parts that can be updated in a snapshot
|
|
16
|
+
* These are determined at compile time through static analysis
|
|
17
|
+
*/
|
|
3
18
|
export declare const enum DynamicPartType {
|
|
4
|
-
Attr = 0
|
|
5
|
-
Spread = 1
|
|
6
|
-
Slot = 2
|
|
7
|
-
Children = 3
|
|
8
|
-
ListChildren = 4
|
|
19
|
+
Attr = 0,// Regular attribute updates
|
|
20
|
+
Spread = 1,// Spread operator in JSX
|
|
21
|
+
Slot = 2,// Slot for component children
|
|
22
|
+
Children = 3,// Regular children updates
|
|
23
|
+
ListChildren = 4,// List/array children updates
|
|
9
24
|
MultiChildren = 5
|
|
10
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* A snapshot definition that contains all the information needed to create and update elements
|
|
28
|
+
* This is generated at compile time through static analysis of the JSX
|
|
29
|
+
*/
|
|
11
30
|
interface Snapshot {
|
|
12
31
|
create: null | ((ctx: SnapshotInstance) => FiberElement[]);
|
|
13
32
|
update: null | ((ctx: SnapshotInstance, index: number, oldValue: any) => void)[];
|
|
@@ -46,6 +65,13 @@ export interface SerializedSnapshotInstance {
|
|
|
46
65
|
values?: any[] | undefined;
|
|
47
66
|
children?: SerializedSnapshotInstance[] | undefined;
|
|
48
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* The runtime instance of a {@link Snapshot} on the main thread that manages
|
|
70
|
+
* the actual elements and handles updates to dynamic parts.
|
|
71
|
+
*
|
|
72
|
+
* This class is designed to be compatible with Preact's {@link ContainerNode}
|
|
73
|
+
* interface for Preact's renderer to operate upon.
|
|
74
|
+
*/
|
|
49
75
|
export declare class SnapshotInstance {
|
|
50
76
|
type: string;
|
|
51
77
|
__id: number;
|
package/runtime/lib/snapshot.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
+
// Copyright 2024 The Lynx Authors. All rights reserved.
|
|
2
|
+
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
|
+
// LICENSE file in the root directory of this source tree.
|
|
4
|
+
import { SnapshotOperation, __globalSnapshotPatch } from './lifecycle/patch/snapshotPatch.js';
|
|
1
5
|
import { ListUpdateInfoRecording, __pendingListUpdates, snapshotDestroyList } from './list.js';
|
|
2
6
|
import { unref } from './snapshot/ref.js';
|
|
3
|
-
import { SnapshotOperation, __globalSnapshotPatch } from './lifecycle/patch/snapshotPatch.js';
|
|
4
7
|
import { isDirectOrDeepEqual } from './utils.js';
|
|
8
|
+
/**
|
|
9
|
+
* Types of dynamic parts that can be updated in a snapshot
|
|
10
|
+
* These are determined at compile time through static analysis
|
|
11
|
+
*/
|
|
5
12
|
export var DynamicPartType;
|
|
6
13
|
(function (DynamicPartType) {
|
|
7
14
|
DynamicPartType[DynamicPartType["Attr"] = 0] = "Attr";
|
|
8
15
|
DynamicPartType[DynamicPartType["Spread"] = 1] = "Spread";
|
|
9
16
|
DynamicPartType[DynamicPartType["Slot"] = 2] = "Slot";
|
|
10
|
-
// Component,
|
|
11
17
|
DynamicPartType[DynamicPartType["Children"] = 3] = "Children";
|
|
12
18
|
DynamicPartType[DynamicPartType["ListChildren"] = 4] = "ListChildren";
|
|
13
|
-
// Used by compat layer
|
|
14
19
|
DynamicPartType[DynamicPartType["MultiChildren"] = 5] = "MultiChildren";
|
|
15
20
|
})(DynamicPartType || (DynamicPartType = {}));
|
|
16
21
|
export let __page;
|
|
@@ -165,6 +170,13 @@ export function traverseSnapshotInstance(si, callback) {
|
|
|
165
170
|
}
|
|
166
171
|
const DEFAULT_ENTRY_NAME = '__Card__';
|
|
167
172
|
const DEFAULT_CSS_ID = 0;
|
|
173
|
+
/**
|
|
174
|
+
* The runtime instance of a {@link Snapshot} on the main thread that manages
|
|
175
|
+
* the actual elements and handles updates to dynamic parts.
|
|
176
|
+
*
|
|
177
|
+
* This class is designed to be compatible with Preact's {@link ContainerNode}
|
|
178
|
+
* interface for Preact's renderer to operate upon.
|
|
179
|
+
*/
|
|
168
180
|
export class SnapshotInstance {
|
|
169
181
|
type;
|
|
170
182
|
__id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { WorkletEvents } from '@lynx-js/react/worklet-runtime/bindings';
|
|
2
2
|
import { addWorkletRefInitValue } from './workletRefPool.js';
|
|
3
3
|
import { useMemo } from '../hooks/react.js';
|
|
4
|
-
|
|
4
|
+
// Split into two variables for testing purposes
|
|
5
|
+
let lastIdBG = 0;
|
|
6
|
+
let lastIdMT = 0;
|
|
7
|
+
export function clearWorkletRefLastIdForTesting() {
|
|
8
|
+
lastIdBG = lastIdMT = 0;
|
|
9
|
+
}
|
|
5
10
|
class WorkletRef {
|
|
6
11
|
/**
|
|
7
12
|
* @internal
|
|
8
13
|
*/
|
|
9
|
-
|
|
14
|
+
_wvid;
|
|
10
15
|
/**
|
|
11
16
|
* @internal
|
|
12
17
|
*/
|
|
@@ -23,17 +28,14 @@ class WorkletRef {
|
|
|
23
28
|
* @internal
|
|
24
29
|
*/
|
|
25
30
|
constructor(initValue, type) {
|
|
31
|
+
this._initValue = initValue;
|
|
32
|
+
this._type = type;
|
|
26
33
|
if (__JS__) {
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
29
|
-
this._type = type;
|
|
30
|
-
addWorkletRefInitValue(this._id, initValue);
|
|
34
|
+
this._wvid = ++lastIdBG;
|
|
35
|
+
addWorkletRefInitValue(this._wvid, initValue);
|
|
31
36
|
}
|
|
32
37
|
else {
|
|
33
|
-
|
|
34
|
-
// The real WorkletRef will be generated by the worklet runtime.
|
|
35
|
-
this._id = -1;
|
|
36
|
-
this._type = '__LEPUS__';
|
|
38
|
+
this._wvid = --lastIdMT;
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
get current() {
|
|
@@ -60,7 +62,7 @@ class WorkletRef {
|
|
|
60
62
|
*/
|
|
61
63
|
toJSON() {
|
|
62
64
|
return {
|
|
63
|
-
_wvid: this.
|
|
65
|
+
_wvid: this._wvid,
|
|
64
66
|
};
|
|
65
67
|
}
|
|
66
68
|
}
|
|
@@ -75,7 +77,7 @@ export class MainThreadRef extends WorkletRef {
|
|
|
75
77
|
constructor(initValue) {
|
|
76
78
|
super(initValue, 'main-thread');
|
|
77
79
|
if (__JS__) {
|
|
78
|
-
const id = this.
|
|
80
|
+
const id = this._wvid;
|
|
79
81
|
this._lifecycleObserver = lynx.getNativeApp().createJSObjectDestructionObserver?.(() => {
|
|
80
82
|
lynx.getCoreContext?.().dispatchEvent({
|
|
81
83
|
type: WorkletEvents.releaseWorkletRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workletRef.js","sourceRoot":"","sources":["../../src/worklet/workletRef.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,IAAI,MAAM,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"workletRef.js","sourceRoot":"","sources":["../../src/worklet/workletRef.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,gDAAgD;AAChD,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB,MAAM,UAAU,+BAA+B;IAC7C,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,MAAe,UAAU;IACvB;;OAEG;IACO,KAAK,CAAS;IACxB;;OAEG;IACO,UAAU,CAAgB;IACpC;;OAEG;IACO,KAAK,CAAS;IACxB;;OAEG;IACO,kBAAkB,CAAU;IAEtC;;OAEG;IACH,YAAsB,SAAY,EAAE,IAAY;QAC9C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,CAAC;YACxB,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,oBAAoB;YACpB,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC/G,CAAC;QACD,oBAAoB;QACpB,OAAO,SAAc,CAAC;IACxB,CAAC;IAED,IAAI,OAAO,CAAC,CAAI;QACd,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,aAAiB,SAAQ,UAAa;IACjD,YAAY,SAAY;QACtB,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,iCAAiC,EAAE,CAAC,GAAG,EAAE;gBACrF,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC;oBACpC,IAAI,EAAE,aAAa,CAAC,iBAAiB;oBACrC,IAAI,EAAE;wBACJ,EAAE;qBACH;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AA2HD,MAAM,UAAU,gBAAgB,CAAI,SAAa;IAC/C,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,OAAO,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
|
|
@@ -1,31 +1,38 @@
|
|
|
1
1
|
// Copyright 2024 The Lynx Authors. All rights reserved.
|
|
2
2
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
3
|
// LICENSE file in the root directory of this source tree.
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Background snapshot implementation that runs in the background thread.
|
|
7
|
+
*
|
|
8
|
+
* This is the mirror of main thread's {@link SnapshotInstance}:
|
|
9
|
+
*/
|
|
10
|
+
|
|
4
11
|
import type { Worklet } from '@lynx-js/react/worklet-runtime/bindings';
|
|
5
12
|
|
|
13
|
+
import { processGestureBackground } from './gesture/processGestureBagkround.js';
|
|
14
|
+
import type { GestureKind } from './gesture/types.js';
|
|
6
15
|
import { diffArrayAction, diffArrayLepus } from './hydrate.js';
|
|
7
16
|
import { globalBackgroundSnapshotInstancesToRemove } from './lifecycle/patch/commit.js';
|
|
8
|
-
import {
|
|
9
|
-
import { transformSpread } from './snapshot/spread.js';
|
|
10
|
-
import {
|
|
11
|
-
DynamicPartType,
|
|
12
|
-
backgroundSnapshotInstanceManager,
|
|
13
|
-
snapshotManager,
|
|
14
|
-
traverseSnapshotInstance,
|
|
15
|
-
} from './snapshot.js';
|
|
16
|
-
import type { SerializedSnapshotInstance } from './snapshot.js';
|
|
17
|
+
import type { SnapshotPatch } from './lifecycle/patch/snapshotPatch.js';
|
|
17
18
|
import {
|
|
18
19
|
SnapshotOperation,
|
|
19
20
|
__globalSnapshotPatch,
|
|
20
21
|
initGlobalSnapshotPatch,
|
|
21
22
|
takeGlobalSnapshotPatch,
|
|
22
23
|
} from './lifecycle/patch/snapshotPatch.js';
|
|
23
|
-
import
|
|
24
|
+
import { globalPipelineOptions } from './lynx/performance.js';
|
|
25
|
+
import type { SerializedSnapshotInstance } from './snapshot.js';
|
|
26
|
+
import {
|
|
27
|
+
DynamicPartType,
|
|
28
|
+
backgroundSnapshotInstanceManager,
|
|
29
|
+
snapshotManager,
|
|
30
|
+
traverseSnapshotInstance,
|
|
31
|
+
} from './snapshot.js';
|
|
32
|
+
import { markRefToRemove } from './snapshot/ref.js';
|
|
33
|
+
import { transformSpread } from './snapshot/spread.js';
|
|
24
34
|
import { isDirectOrDeepEqual } from './utils.js';
|
|
25
35
|
import { onPostWorkletCtx } from './worklet/ctx.js';
|
|
26
|
-
import { processGestureBackground } from './gesture/processGestureBagkround.js';
|
|
27
|
-
import type { GestureKind } from './gesture/types.js';
|
|
28
|
-
import { globalPipelineOptions } from './lynx/performance.js';
|
|
29
36
|
|
|
30
37
|
export class BackgroundSnapshotInstance {
|
|
31
38
|
constructor(public type: string) {
|
package/runtime/src/document.ts
CHANGED
|
@@ -4,8 +4,35 @@
|
|
|
4
4
|
import { BackgroundSnapshotInstance } from './backgroundSnapshot.js';
|
|
5
5
|
import { SnapshotInstance } from './snapshot.js';
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* This module implements an Interface Adapter Pattern to integrate Preact's
|
|
9
|
+
* rendering system with Lynx's custom Snapshot-based virtual DOM.
|
|
10
|
+
*
|
|
11
|
+
* It works by:
|
|
12
|
+
* 1. Defining a minimal {@link Document}-like interface that Preact expects
|
|
13
|
+
* 2. Implementing this interface to return our {@link Snapshot} instances
|
|
14
|
+
* 3. Maintaining the same method signatures as the standard DOM API
|
|
15
|
+
*
|
|
16
|
+
* This allows Preact to build its virtual tree using our Snapshot system
|
|
17
|
+
* without knowing it's not working with a real DOM.
|
|
18
|
+
*/
|
|
8
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Defines the minimal document interface that Preact expects, depending on
|
|
22
|
+
* which thread is running.
|
|
23
|
+
*/
|
|
24
|
+
interface SnapshotDocumentAdapter {
|
|
25
|
+
createElement(type: string): BackgroundSnapshotInstance | SnapshotInstance;
|
|
26
|
+
createElementNS(ns: string | null, type: string): BackgroundSnapshotInstance | SnapshotInstance;
|
|
27
|
+
createTextNode(text: string): BackgroundSnapshotInstance | SnapshotInstance;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const document: SnapshotDocumentAdapter = {} as SnapshotDocumentAdapter;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Sets up the document interface for the background thread.
|
|
34
|
+
* All DOM operations are intercepted to create {@link BackgroundSnapshotInstance}.
|
|
35
|
+
*/
|
|
9
36
|
function setupBackgroundDocument(): void {
|
|
10
37
|
document.createElement = function(type: string) {
|
|
11
38
|
return new BackgroundSnapshotInstance(type);
|
|
@@ -25,6 +52,10 @@ function setupBackgroundDocument(): void {
|
|
|
25
52
|
};
|
|
26
53
|
}
|
|
27
54
|
|
|
55
|
+
/**
|
|
56
|
+
* Sets up the document interface for the main thread.
|
|
57
|
+
* All DOM operations are intercepted to create {@link SnapshotInstance}.
|
|
58
|
+
*/
|
|
28
59
|
function setupDocument(): void {
|
|
29
60
|
document.createElement = function(type: string) {
|
|
30
61
|
return new SnapshotInstance(type);
|
|
@@ -50,4 +81,4 @@ function setupDocument(): void {
|
|
|
50
81
|
// setupDocument();
|
|
51
82
|
// }
|
|
52
83
|
|
|
53
|
-
export { setupBackgroundDocument, setupDocument
|
|
84
|
+
export { document, setupBackgroundDocument, setupDocument };
|
package/runtime/src/hydrate.ts
CHANGED
|
@@ -349,10 +349,12 @@ export function hydrate(before: SnapshotInstance, after: SnapshotInstance, optio
|
|
|
349
349
|
|
|
350
350
|
const listElement = before.__elements![elementIndex]!;
|
|
351
351
|
__SetAttribute(listElement, 'update-list-info', info);
|
|
352
|
+
const [componentAtIndex, componentAtIndexes] = componentAtIndexFactory(afterChildNodes);
|
|
352
353
|
__UpdateListCallbacks(
|
|
353
354
|
listElement,
|
|
354
|
-
|
|
355
|
+
componentAtIndex,
|
|
355
356
|
enqueueComponentFactory(),
|
|
357
|
+
componentAtIndexes,
|
|
356
358
|
);
|
|
357
359
|
|
|
358
360
|
// The `before` & `after` target to the same list element, so we need to
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Copyright 2024 The Lynx Authors. All rights reserved.
|
|
2
2
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
3
|
// LICENSE file in the root directory of this source tree.
|
|
4
|
-
import { options } from 'preact';
|
|
5
4
|
import type { VNode } from 'preact';
|
|
5
|
+
import { options } from 'preact';
|
|
6
6
|
|
|
7
7
|
import { CATCH_ERROR, COMPONENT, DIFF, VNODE } from '../renderToOpcodes/constants.js';
|
|
8
8
|
|
|
@@ -74,4 +74,4 @@ function initDelayUnmount(): void {
|
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
export { initDelayUnmount,
|
|
77
|
+
export { initDelayUnmount, runDelayedUnmounts, takeDelayedUnmounts };
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
// Copyright 2024 The Lynx Authors. All rights reserved.
|
|
2
2
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
3
|
// LICENSE file in the root directory of this source tree.
|
|
4
|
+
import { render } from 'preact';
|
|
5
|
+
|
|
4
6
|
import { __root } from '../root.js';
|
|
5
7
|
import { delayedEvents } from './event/delayEvents.js';
|
|
6
8
|
import { delayedLifecycleEvents } from './event/delayLifecycleEvents.js';
|
|
7
9
|
import { globalCommitTaskMap } from './patch/commit.js';
|
|
8
|
-
import { renderBackground } from './render.js';
|
|
9
10
|
|
|
10
11
|
function destroyBackground(): void {
|
|
11
12
|
if (__PROFILE__) {
|
|
12
13
|
console.profile('destroyBackground');
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
render(null, __root as any);
|
|
16
17
|
|
|
17
18
|
globalCommitTaskMap.forEach(task => {
|
|
18
19
|
task();
|