@fundamental-engine/react 0.8.0 → 0.9.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.
- package/dist/index.d.ts +26 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -9
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -14,13 +14,14 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import type { CSSProperties, ReactElement, RefObject } from 'react';
|
|
16
16
|
import { type FieldHandle, type FieldOptions } from '@fundamental-engine/core';
|
|
17
|
+
import { type BindDataOptions, type DataBinding, type DataBindingInspection, type RecordMapper } from '@fundamental-engine/dom';
|
|
17
18
|
export interface FieldFieldProps extends FieldOptions {
|
|
18
19
|
className?: string;
|
|
19
20
|
style?: CSSProperties;
|
|
20
21
|
/** called once the field is created, with its handle (scan/burst/setAccent/…). */
|
|
21
22
|
onReady?: (field: FieldHandle) => void;
|
|
22
23
|
}
|
|
23
|
-
export declare function FieldField({ className, style, onReady, accent, density, depth, waves, background, render, overlay, overlayBackend, mass, palette, attention, causality, heatmap, dprCap, rng, now, feedbackSink, }: FieldFieldProps): ReactElement;
|
|
24
|
+
export declare function FieldField({ className, style, onReady, accent, density, depth, waves, waveStyle, waveCenter, background, render, overlay, overlayBackend, mass, palette, attention, causality, heatmap, dprCap, separation, rng, now, feedbackSink, }: FieldFieldProps): ReactElement;
|
|
24
25
|
/**
|
|
25
26
|
* Hook form — returns a ref to attach to your own `<canvas>` and the live handle.
|
|
26
27
|
* Use when you need to own the canvas element (sizing, placement) yourself.
|
|
@@ -29,5 +30,29 @@ export declare function useFieldField(opts?: FieldOptions): {
|
|
|
29
30
|
canvasRef: RefObject<HTMLCanvasElement | null>;
|
|
30
31
|
fieldRef: RefObject<FieldHandle | null>;
|
|
31
32
|
};
|
|
33
|
+
/**
|
|
34
|
+
* The React wrapper for `bindData()` — drive a live field from React state. Records map to bodies
|
|
35
|
+
* (via `mapper`), a recipe frames the field, and `bindData` does the record → body diffing
|
|
36
|
+
* (added/removed records enter/decay rather than popping). Attach `containerRef` to your own host
|
|
37
|
+
* element; whenever `records` changes, the hook calls `binding.update(records)` so the field stays
|
|
38
|
+
* in step with React state — no manual mount/update wiring.
|
|
39
|
+
*
|
|
40
|
+
* ```tsx
|
|
41
|
+
* const { containerRef, inspect } = useForcesData(results, toBody, { recipe: 'search-relevance-field' });
|
|
42
|
+
* return <div ref={containerRef} />; // inspect() → { records, bodies, relationships } | null
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* The hook owns the binding's lifecycle: created on the first render the container ref is set,
|
|
46
|
+
* updated on each `records` change, and destroyed on unmount. `inspect()` reads the binding's live
|
|
47
|
+
* metrics on demand (records/bodies/relationships counts), and `bindingRef` is the escape hatch to
|
|
48
|
+
* the full `DataBinding` (`ids()`, `applied()`, …) for advanced consumers. Mirrors `useFieldField`.
|
|
49
|
+
*/
|
|
50
|
+
export declare function useForcesData<T>(records: T[], mapper: RecordMapper<T>, options?: BindDataOptions<T>): {
|
|
51
|
+
containerRef: RefObject<HTMLDivElement | null>;
|
|
52
|
+
bindingRef: RefObject<DataBinding<T> | null>;
|
|
53
|
+
inspect: () => DataBindingInspection | null;
|
|
54
|
+
};
|
|
32
55
|
export type { FieldHandle, FieldOptions, Vec2, AgentSpec, AgentHandle, AtomPayload, FeedbackSink, FeedbackChannels, } from '@fundamental-engine/core';
|
|
56
|
+
export { FIELD_VERSION } from '@fundamental-engine/core';
|
|
57
|
+
export type { RecordMapper, MappedRecord, MappedBody, MappedRelationship, BindDataOptions, DataBinding, DataBindingInspection, } from '@fundamental-engine/dom';
|
|
33
58
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAsB,KAAK,WAAW,EAAE,KAAK,YAAY,EAAqB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAsB,KAAK,WAAW,EAAE,KAAK,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AACtH,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,kFAAkF;IAClF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAGxC;AAKD,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,KAAK,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,EACP,cAAc,EACd,IAAI,EACJ,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,MAAM,EACN,UAAU,EACV,GAAG,EACH,GAAG,EACH,YAAY,GACb,EAAE,eAAe,GAAG,YAAY,CA2ChC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,YAAiB,GAAG;IACtD,SAAS,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC/C,QAAQ,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACzC,CAwCA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,OAAO,EAAE,CAAC,EAAE,EACZ,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,GAAE,eAAe,CAAC,CAAC,CAAM,GAC/B;IACD,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,qBAAqB,GAAG,IAAI,CAAC;CAC7C,CA+BA;AAID,YAAY,EACV,WAAW,EACX,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,qBAAqB,GACtB,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -15,10 +15,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
15
15
|
*/
|
|
16
16
|
import { useEffect, useRef } from 'react';
|
|
17
17
|
import { FIELD_CANVAS_STYLE } from '@fundamental-engine/core';
|
|
18
|
-
import { createBrowserField } from '@fundamental-engine/dom';
|
|
18
|
+
import { createBrowserField, bindData, } from '@fundamental-engine/dom';
|
|
19
19
|
// the fixed, click-through surface — shared with the vanilla mount via core/surface.ts.
|
|
20
20
|
const FIXED = FIELD_CANVAS_STYLE;
|
|
21
|
-
export function FieldField({ className, style, onReady, accent, density, depth, waves, background, render, overlay, overlayBackend, mass, palette, attention, causality, heatmap, dprCap, rng, now, feedbackSink, }) {
|
|
21
|
+
export function FieldField({ className, style, onReady, accent, density, depth, waves, waveStyle, waveCenter, background, render, overlay, overlayBackend, mass, palette, attention, causality, heatmap, dprCap, separation, rng, now, feedbackSink, }) {
|
|
22
22
|
const canvasRef = useRef(null);
|
|
23
23
|
const onReadyRef = useRef(onReady);
|
|
24
24
|
onReadyRef.current = onReady;
|
|
@@ -39,9 +39,9 @@ export function FieldField({ className, style, onReady, accent, density, depth,
|
|
|
39
39
|
overlayCanvasRef.current = oc;
|
|
40
40
|
}
|
|
41
41
|
const field = createBrowserField(canvas, {
|
|
42
|
-
accent, density, depth, waves, background, render,
|
|
42
|
+
accent, density, depth, waves, waveStyle, waveCenter, background, render,
|
|
43
43
|
overlay, overlayCanvas: overlayCanvasRef.current ?? undefined, overlayBackend,
|
|
44
|
-
mass, palette, attention, causality, heatmap, dprCap,
|
|
44
|
+
mass, palette, attention, causality, heatmap, dprCap, separation,
|
|
45
45
|
rng, now, feedbackSink,
|
|
46
46
|
});
|
|
47
47
|
onReadyRef.current?.(field);
|
|
@@ -54,7 +54,7 @@ export function FieldField({ className, style, onReady, accent, density, depth,
|
|
|
54
54
|
// re-create only when a declarative engine option actually changes. The determinism/feedback
|
|
55
55
|
// seams (rng/now/feedbackSink/overlayBackend) are config-set-once — forwarded above, but kept
|
|
56
56
|
// out of the dep list so an inline value passed each render doesn't thrash the field.
|
|
57
|
-
}, [accent, density, depth, waves, background, render, overlay, mass, palette, attention, causality, heatmap, dprCap]);
|
|
57
|
+
}, [accent, density, depth, waves, waveStyle, waveCenter, background, render, overlay, mass, palette, attention, causality, heatmap, dprCap, separation]);
|
|
58
58
|
return (_jsx("canvas", { ref: canvasRef, "aria-hidden": "true", className: className, style: { ...FIXED, ...style } }));
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
@@ -66,7 +66,7 @@ export function useFieldField(opts = {}) {
|
|
|
66
66
|
const fieldRef = useRef(null);
|
|
67
67
|
/** Field Surfaces: the front overlay surface this hook owns, lazily created. */
|
|
68
68
|
const overlayCanvasRef = useRef(null);
|
|
69
|
-
const { accent, density, depth, waves, background, render, overlay, overlayBackend, mass, palette, attention, causality, heatmap, dprCap, rng, now, feedbackSink, } = opts;
|
|
69
|
+
const { accent, density, depth, waves, waveStyle, waveCenter, background, render, overlay, overlayBackend, mass, palette, attention, causality, heatmap, dprCap, separation, rng, now, feedbackSink, } = opts;
|
|
70
70
|
useEffect(() => {
|
|
71
71
|
const canvas = canvasRef.current;
|
|
72
72
|
if (!canvas)
|
|
@@ -81,9 +81,9 @@ export function useFieldField(opts = {}) {
|
|
|
81
81
|
overlayCanvasRef.current = oc;
|
|
82
82
|
}
|
|
83
83
|
const field = createBrowserField(canvas, {
|
|
84
|
-
accent, density, depth, waves, background, render,
|
|
84
|
+
accent, density, depth, waves, waveStyle, waveCenter, background, render,
|
|
85
85
|
overlay, overlayCanvas: overlayCanvasRef.current ?? undefined, overlayBackend,
|
|
86
|
-
mass, palette, attention, causality, heatmap, dprCap,
|
|
86
|
+
mass, palette, attention, causality, heatmap, dprCap, separation,
|
|
87
87
|
rng, now, feedbackSink,
|
|
88
88
|
});
|
|
89
89
|
fieldRef.current = field;
|
|
@@ -95,7 +95,57 @@ export function useFieldField(opts = {}) {
|
|
|
95
95
|
overlayCanvasRef.current = null;
|
|
96
96
|
};
|
|
97
97
|
// declarative options drive recreation; the seams (rng/now/feedbackSink/overlayBackend) forward but stay out of deps.
|
|
98
|
-
}, [accent, density, depth, waves, background, render, overlay, mass, palette, attention, causality, heatmap, dprCap]);
|
|
98
|
+
}, [accent, density, depth, waves, waveStyle, waveCenter, background, render, overlay, mass, palette, attention, causality, heatmap, dprCap, separation]);
|
|
99
99
|
return { canvasRef, fieldRef };
|
|
100
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* The React wrapper for `bindData()` — drive a live field from React state. Records map to bodies
|
|
103
|
+
* (via `mapper`), a recipe frames the field, and `bindData` does the record → body diffing
|
|
104
|
+
* (added/removed records enter/decay rather than popping). Attach `containerRef` to your own host
|
|
105
|
+
* element; whenever `records` changes, the hook calls `binding.update(records)` so the field stays
|
|
106
|
+
* in step with React state — no manual mount/update wiring.
|
|
107
|
+
*
|
|
108
|
+
* ```tsx
|
|
109
|
+
* const { containerRef, inspect } = useForcesData(results, toBody, { recipe: 'search-relevance-field' });
|
|
110
|
+
* return <div ref={containerRef} />; // inspect() → { records, bodies, relationships } | null
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* The hook owns the binding's lifecycle: created on the first render the container ref is set,
|
|
114
|
+
* updated on each `records` change, and destroyed on unmount. `inspect()` reads the binding's live
|
|
115
|
+
* metrics on demand (records/bodies/relationships counts), and `bindingRef` is the escape hatch to
|
|
116
|
+
* the full `DataBinding` (`ids()`, `applied()`, …) for advanced consumers. Mirrors `useFieldField`.
|
|
117
|
+
*/
|
|
118
|
+
export function useForcesData(records, mapper, options = {}) {
|
|
119
|
+
const containerRef = useRef(null);
|
|
120
|
+
const bindingRef = useRef(null);
|
|
121
|
+
// latest mapper/options/records held in refs so the binding can read them without re-creating
|
|
122
|
+
// the binding (and re-mounting every body) when an inline closure changes identity each render.
|
|
123
|
+
const mapperRef = useRef(mapper);
|
|
124
|
+
mapperRef.current = mapper;
|
|
125
|
+
const optionsRef = useRef(options);
|
|
126
|
+
optionsRef.current = options;
|
|
127
|
+
const recordsRef = useRef(records);
|
|
128
|
+
recordsRef.current = records;
|
|
129
|
+
// create/destroy the binding when the container element appears/disappears.
|
|
130
|
+
useEffect(() => {
|
|
131
|
+
const container = containerRef.current;
|
|
132
|
+
if (!container)
|
|
133
|
+
return;
|
|
134
|
+
const binding = bindData(container, recordsRef.current, (rec, i) => mapperRef.current(rec, i), optionsRef.current);
|
|
135
|
+
bindingRef.current = binding;
|
|
136
|
+
return () => {
|
|
137
|
+
binding.destroy();
|
|
138
|
+
bindingRef.current = null;
|
|
139
|
+
};
|
|
140
|
+
// mount once per container; data flows through update() in the effect below.
|
|
141
|
+
}, []);
|
|
142
|
+
// push every records change into the live binding (diff by id is bindData's job).
|
|
143
|
+
useEffect(() => {
|
|
144
|
+
bindingRef.current?.update(records);
|
|
145
|
+
}, [records]);
|
|
146
|
+
return { containerRef, bindingRef, inspect: () => bindingRef.current?.inspect() ?? null };
|
|
147
|
+
}
|
|
148
|
+
// the running engine version constant — re-exported so a consumer can read it as a named import off
|
|
149
|
+
// this door. A missing named import aborts the whole ES module, so the door must carry it (#584).
|
|
150
|
+
export { FIELD_VERSION } from '@fundamental-engine/core';
|
|
101
151
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAA0D,MAAM,0BAA0B,CAAC;AACtH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-engine/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "React adapter for Fundamental — a reciprocal DOM-physics field as a <FieldField> component + useFieldField hook.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@fundamental-engine/dom": "0.
|
|
49
|
-
"@fundamental-engine/core": "0.
|
|
48
|
+
"@fundamental-engine/dom": "0.9.0",
|
|
49
|
+
"@fundamental-engine/core": "0.9.0"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"react": ">=18"
|