@weasel-js/kernel3d 1.8.1 → 1.9.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/dist/index.js CHANGED
@@ -1917,9 +1917,6 @@ function collectOverlayBoxes(handles, origin) {
1917
1917
  var import_react = __toESM(require_react());
1918
1918
  var ORBIT_RATE = 6e-3;
1919
1919
  var DOLLY_RATE = 15e-4;
1920
- function cameraDep(deps) {
1921
- return deps.camera3d;
1922
- }
1923
1920
  var orbitAction = {
1924
1921
  id: "camera.orbit",
1925
1922
  label: "Orbit",
@@ -1927,7 +1924,7 @@ var orbitAction = {
1927
1924
  invoker: {
1928
1925
  timing: "ongoing",
1929
1926
  start(ctx) {
1930
- const dep = cameraDep(ctx.deps);
1927
+ const dep = ctx.deps.camera3d;
1931
1928
  const origin = dep?.get();
1932
1929
  return {
1933
1930
  kind: "orbit",
@@ -1951,7 +1948,7 @@ var dollyAction = {
1951
1948
  invoker: {
1952
1949
  timing: "immediate",
1953
1950
  run(deps, params) {
1954
- const dep = cameraDep(deps);
1951
+ const dep = deps.camera3d;
1955
1952
  if (!dep) return;
1956
1953
  const amount = typeof params?.deltaY === "number" ? params.deltaY : 0;
1957
1954
  dep.set(dollyBy(dep.get(), Math.exp(amount * DOLLY_RATE)));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/react/cjs/react.production.js","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/index.js","../src/camera.ts","../src/pose3.ts","../src/screen.ts","../src/deps.ts","../src/overlays.ts","../src/tools.ts"],"names":["normalize","sub","scaleBy","quatIdentity"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result,\n thenable = ctor();\n thenable.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1),\n (payload._result = moduleObject),\n void 0 === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = moduleObject));\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2),\n (payload._result = error),\n void 0 === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n );\n -1 === payload._status &&\n ((payload._status = 0), (payload._result = thenable));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction startTransition(scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n currentTransition.types =\n null !== prevTransition ? prevTransition.types : null;\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction addTransitionType(type) {\n var transition = ReactSharedInternals.T;\n if (null !== transition) {\n var transitionTypes = transition.types;\n null === transitionTypes\n ? (transition.types = [type])\n : -1 === transitionTypes.indexOf(type) && transitionTypes.push(type);\n } else startTransition(addTransitionType.bind(null, type));\n}\nvar Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n};\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.ViewTransition = REACT_VIEW_TRANSITION_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.addTransitionType = addTransitionType;\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = startTransition;\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.3.0\";\n","/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function defineDeprecationWarning(methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n console.warn(\n \"%s(...) is deprecated in plain JavaScript React classes. %s\",\n info[0],\n info[1]\n );\n }\n });\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable)\n return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function warnNoop(publicInstance, callerName) {\n publicInstance =\n ((publicInstance = publicInstance.constructor) &&\n (publicInstance.displayName || publicInstance.name)) ||\n \"ReactClass\";\n var warningKey = publicInstance + \".\" + callerName;\n didWarnStateUpdateForUnmountedComponent[warningKey] ||\n (console.error(\n \"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\",\n callerName,\n publicInstance\n ),\n (didWarnStateUpdateForUnmountedComponent[warningKey] = !0));\n }\n function Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function ComponentDummy() {}\n function PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function noop() {}\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n case REACT_VIEW_TRANSITION_TYPE:\n return \"ViewTransition\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n newKey = ReactElement(\n oldElement.type,\n newKey,\n oldElement.props,\n oldElement._owner,\n oldElement._debugStack,\n oldElement._debugTask\n );\n oldElement._store &&\n (newKey._store.validated = oldElement._store.validated);\n return newKey;\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n }\n function getElementKey(element, index) {\n return \"object\" === typeof element &&\n null !== element &&\n null != element.key\n ? (checkKeyStringCoercion(element.key), escape(\"\" + element.key))\n : index.toString(36);\n }\n function resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"),\n (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n }\n function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback) {\n invokeCallback = children;\n callback = callback(invokeCallback);\n var childKey =\n \"\" === nameSoFar ? \".\" + getElementKey(invokeCallback, 0) : nameSoFar;\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != childKey &&\n (escapedPrefix =\n childKey.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (null != callback.key &&\n ((invokeCallback && invokeCallback.key === callback.key) ||\n checkKeyStringCoercion(callback.key)),\n (escapedPrefix = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (invokeCallback && invokeCallback.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n childKey\n )),\n \"\" !== nameSoFar &&\n null != invokeCallback &&\n isValidElement(invokeCallback) &&\n null == invokeCallback.key &&\n invokeCallback._store &&\n !invokeCallback._store.validated &&\n (escapedPrefix._store.validated = 2),\n (callback = escapedPrefix)),\n array.push(callback));\n return 1;\n }\n invokeCallback = 0;\n childKey = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = childKey + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n i === children.entries &&\n (didWarnAboutMaps ||\n console.warn(\n \"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\"\n ),\n (didWarnAboutMaps = !0)),\n children = i.call(children),\n i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = childKey + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n }\n function mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n }\n function lazyInitializer(payload) {\n if (-1 === payload._status) {\n var resolveDebugValue = null,\n rejectDebugValue = null,\n ioInfo = payload._ioInfo;\n null != ioInfo &&\n ((ioInfo.start = ioInfo.end = performance.now()),\n (ioInfo.value = new Promise(function (resolve, reject) {\n resolveDebugValue = resolve;\n rejectDebugValue = reject;\n })));\n ioInfo = payload._result;\n var thenable = ioInfo();\n thenable.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status) {\n payload._status = 1;\n payload._result = moduleObject;\n var _ioInfo = payload._ioInfo;\n if (null != _ioInfo) {\n _ioInfo.end = performance.now();\n var debugValue =\n null == moduleObject ? void 0 : moduleObject.default;\n resolveDebugValue(debugValue);\n _ioInfo.value.status = \"fulfilled\";\n _ioInfo.value.value = debugValue;\n }\n void 0 === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = moduleObject));\n }\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status) {\n payload._status = 2;\n payload._result = error;\n var _ioInfo2 = payload._ioInfo;\n null != _ioInfo2 &&\n ((_ioInfo2.end = performance.now()),\n _ioInfo2.value.then(noop, noop),\n rejectDebugValue(error),\n (_ioInfo2.value.status = \"rejected\"),\n (_ioInfo2.value.reason = error));\n void 0 === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n }\n );\n ioInfo = payload._ioInfo;\n if (null != ioInfo) {\n var displayName = thenable.displayName;\n \"string\" === typeof displayName && (ioInfo.name = displayName);\n }\n -1 === payload._status &&\n ((payload._status = 0), (payload._result = thenable));\n }\n if (1 === payload._status)\n return (\n (ioInfo = payload._result),\n void 0 === ioInfo &&\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\\n\\nDid you accidentally put curly braces around the import?\",\n ioInfo\n ),\n \"default\" in ioInfo ||\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\",\n ioInfo\n ),\n ioInfo.default\n );\n throw payload._result;\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n function releaseAsyncTransition() {\n ReactSharedInternals.asyncTransitions--;\n }\n function startTransition(scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n currentTransition.types =\n null !== prevTransition ? prevTransition.types : null;\n currentTransition._updatedFibers = new Set();\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n (ReactSharedInternals.asyncTransitions++,\n returnValue.then(releaseAsyncTransition, releaseAsyncTransition),\n returnValue.then(noop, reportGlobalError));\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null === prevTransition &&\n currentTransition._updatedFibers &&\n ((scope = currentTransition._updatedFibers.size),\n currentTransition._updatedFibers.clear(),\n 10 < scope &&\n console.warn(\n \"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\"\n )),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (null !== prevTransition.types &&\n prevTransition.types !== currentTransition.types &&\n console.error(\n \"We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React.\"\n ),\n (prevTransition.types = currentTransition.types)),\n (ReactSharedInternals.T = prevTransition);\n }\n }\n function addTransitionType(type) {\n var transition = ReactSharedInternals.T;\n if (null !== transition) {\n var transitionTypes = transition.types;\n null === transitionTypes\n ? (transition.types = [type])\n : -1 === transitionTypes.indexOf(type) && transitionTypes.push(type);\n } else\n 0 === ReactSharedInternals.asyncTransitions &&\n console.error(\n \"addTransitionType can only be called inside a `startTransition()` callback. It must be associated with a specific Transition.\"\n ),\n startTransition(addTransitionType.bind(null, type));\n }\n function enqueueTask(task) {\n if (null === enqueueTaskImpl)\n try {\n var requireString = (\"require\" + Math.random()).slice(0, 7);\n enqueueTaskImpl = (module && module[requireString]).call(\n module,\n \"timers\"\n ).setImmediate;\n } catch (_err) {\n enqueueTaskImpl = function (callback) {\n !1 === didWarnAboutMessageChannel &&\n ((didWarnAboutMessageChannel = !0),\n \"undefined\" === typeof MessageChannel &&\n console.error(\n \"This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\"\n ));\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(void 0);\n };\n }\n return enqueueTaskImpl(task);\n }\n function aggregateErrors(errors) {\n return 1 < errors.length && \"function\" === typeof AggregateError\n ? new AggregateError(errors)\n : errors[0];\n }\n function popActScope(prevActQueue, prevActScopeDepth) {\n prevActScopeDepth !== actScopeDepth - 1 &&\n console.error(\n \"You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \"\n );\n actScopeDepth = prevActScopeDepth;\n }\n function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n var queue = ReactSharedInternals.actQueue;\n if (null !== queue)\n if (0 !== queue.length)\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n return;\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n else ReactSharedInternals.actQueue = null;\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((queue = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(queue))\n : resolve(returnValue);\n }\n function flushActQueue(queue) {\n if (!isFlushing) {\n isFlushing = !0;\n var i = 0;\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n do {\n ReactSharedInternals.didUsePromise = !1;\n var continuation = callback(!1);\n if (null !== continuation) {\n if (ReactSharedInternals.didUsePromise) {\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n callback = continuation;\n } else break;\n } while (1);\n }\n queue.length = 0;\n } catch (error) {\n queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);\n } finally {\n isFlushing = !1;\n }\n }\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n didWarnStateUpdateForUnmountedComponent = {},\n ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, \"forceUpdate\");\n },\n enqueueReplaceState: function (publicInstance) {\n warnNoop(publicInstance, \"replaceState\");\n },\n enqueueSetState: function (publicInstance) {\n warnNoop(publicInstance, \"setState\");\n }\n },\n assign = Object.assign,\n emptyObject = {};\n Object.freeze(emptyObject);\n Component.prototype.isReactComponent = {};\n Component.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n };\n Component.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n };\n var deprecatedAPIs = {\n isMounted: [\n \"isMounted\",\n \"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"\n ],\n replaceState: [\n \"replaceState\",\n \"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"\n ]\n };\n for (fnName in deprecatedAPIs)\n deprecatedAPIs.hasOwnProperty(fnName) &&\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n ComponentDummy.prototype = Component.prototype;\n deprecatedAPIs = PureComponent.prototype = new ComponentDummy();\n deprecatedAPIs.constructor = PureComponent;\n assign(deprecatedAPIs, Component.prototype);\n deprecatedAPIs.isPureReactComponent = !0;\n var isArrayImpl = Array.isArray,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals = {\n H: null,\n A: null,\n T: null,\n S: null,\n actQueue: null,\n asyncTransitions: 0,\n isBatchingLegacy: !1,\n didScheduleLegacyUpdate: !1,\n didUsePromise: !1,\n thrownErrors: [],\n getCurrentStack: null,\n recentlyCreatedOwnerStacks: 0\n },\n hasOwnProperty = Object.prototype.hasOwnProperty,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n deprecatedAPIs = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(\n deprecatedAPIs,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutMaps = !1,\n userProvidedKeyEscapeRegex = /\\/+/g,\n reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n didWarnAboutMessageChannel = !1,\n enqueueTaskImpl = null,\n actScopeDepth = 0,\n didWarnNoAwaitAct = !1,\n isFlushing = !1,\n queueSeveralMicrotasks =\n \"function\" === typeof queueMicrotask\n ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n }\n : enqueueTask;\n deprecatedAPIs = Object.freeze({\n __proto__: null,\n c: function (size) {\n return resolveDispatcher().useMemoCache(size);\n }\n });\n var fnName = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\n exports.Activity = REACT_ACTIVITY_TYPE;\n exports.Children = fnName;\n exports.Component = Component;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.ViewTransition = REACT_VIEW_TRANSITION_TYPE;\n exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\n exports.__COMPILER_RUNTIME = deprecatedAPIs;\n exports.act = function (callback) {\n var prevActQueue = ReactSharedInternals.actQueue,\n prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = (ReactSharedInternals.actQueue =\n null !== prevActQueue ? prevActQueue : []),\n didAwaitActCall = !1;\n try {\n var result = callback();\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n (popActScope(prevActQueue, prevActScopeDepth),\n (callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n if (\n null !== result &&\n \"object\" === typeof result &&\n \"function\" === typeof result.then\n ) {\n var thenable = result;\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);\"\n ));\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n thenable.then(\n function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n if (0 === prevActScopeDepth) {\n try {\n flushActQueue(queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue,\n resolve,\n reject\n );\n });\n } catch (error$0) {\n ReactSharedInternals.thrownErrors.push(error$0);\n }\n if (0 < ReactSharedInternals.thrownErrors.length) {\n var _thrownError = aggregateErrors(\n ReactSharedInternals.thrownErrors\n );\n ReactSharedInternals.thrownErrors.length = 0;\n reject(_thrownError);\n }\n } else resolve(returnValue);\n },\n function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((error = aggregateErrors(\n ReactSharedInternals.thrownErrors\n )),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(error))\n : reject(error);\n }\n );\n }\n };\n }\n var returnValue$jscomp$0 = result;\n popActScope(prevActQueue, prevActScopeDepth);\n 0 === prevActScopeDepth &&\n (flushActQueue(queue),\n 0 !== queue.length &&\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\\n\\nawait act(() => ...)\"\n ));\n }),\n (ReactSharedInternals.actQueue = null));\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n ((callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n 0 === prevActScopeDepth\n ? ((ReactSharedInternals.actQueue = queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue$jscomp$0,\n resolve,\n reject\n );\n }))\n : resolve(returnValue$jscomp$0);\n }\n };\n };\n exports.addTransitionType = addTransitionType;\n exports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n };\n exports.cacheSignal = function () {\n return null;\n };\n exports.captureOwnerStack = function () {\n var getCurrentStack = ReactSharedInternals.getCurrentStack;\n return null === getCurrentStack ? null : getCurrentStack();\n };\n exports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" +\n element +\n \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = element._owner;\n if (null != config) {\n var JSCompiler_inline_result;\n a: {\n if (\n hasOwnProperty.call(config, \"ref\") &&\n (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(\n config,\n \"ref\"\n ).get) &&\n JSCompiler_inline_result.isReactWarning\n ) {\n JSCompiler_inline_result = !1;\n break a;\n }\n JSCompiler_inline_result = void 0 !== config.ref;\n }\n JSCompiler_inline_result && (owner = getOwner());\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key));\n for (propName in config)\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n }\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n JSCompiler_inline_result = Array(propName);\n for (var i = 0; i < propName; i++)\n JSCompiler_inline_result[i] = arguments[i + 2];\n props.children = JSCompiler_inline_result;\n }\n props = ReactElement(\n element.type,\n key,\n props,\n owner,\n element._debugStack,\n element._debugTask\n );\n for (key = 2; key < arguments.length; key++)\n validateChildKeys(arguments[key]);\n return props;\n };\n exports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n defaultValue._currentRenderer = null;\n defaultValue._currentRenderer2 = null;\n return defaultValue;\n };\n exports.createElement = function (type, config, children) {\n for (var i = 2; i < arguments.length; i++)\n validateChildKeys(arguments[i]);\n var propName;\n i = {};\n var key = null;\n if (null != config)\n for (propName in (didWarnAboutOldJSXRuntime ||\n !(\"__self\" in config) ||\n \"key\" in config ||\n ((didWarnAboutOldJSXRuntime = !0),\n console.warn(\n \"Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform\"\n )),\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key)),\n config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (i[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) i.children = children;\n else if (1 < childrenLength) {\n for (\n var childArray = Array(childrenLength), _i = 0;\n _i < childrenLength;\n _i++\n )\n childArray[_i] = arguments[_i + 2];\n Object.freeze && Object.freeze(childArray);\n i.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === i[propName] && (i[propName] = childrenLength[propName]);\n key &&\n defineKeyPropWarningGetter(\n i,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n (propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++)\n ? ((childArray = Error.stackTraceLimit),\n (Error.stackTraceLimit = 10),\n (childrenLength = Error(\"react-stack-top-frame\")),\n (Error.stackTraceLimit = childArray))\n : (childrenLength = unknownOwnerDebugStack);\n return ReactElement(\n type,\n key,\n i,\n getOwner(),\n childrenLength,\n propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.createRef = function () {\n var refObject = { current: null };\n Object.seal(refObject);\n return refObject;\n };\n exports.forwardRef = function (render) {\n null != render && render.$$typeof === REACT_MEMO_TYPE\n ? console.error(\n \"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\"\n )\n : \"function\" !== typeof render\n ? console.error(\n \"forwardRef requires a render function but was given %s.\",\n null === render ? \"null\" : typeof render\n )\n : 0 !== render.length &&\n 2 !== render.length &&\n console.error(\n \"forwardRef render functions accept exactly two parameters: props and ref. %s\",\n 1 === render.length\n ? \"Did you forget to use the ref parameter?\"\n : \"Any additional parameter will be undefined.\"\n );\n null != render &&\n null != render.defaultProps &&\n console.error(\n \"forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?\"\n );\n var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render },\n ownName;\n Object.defineProperty(elementType, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n render.name ||\n render.displayName ||\n (Object.defineProperty(render, \"name\", { value: name }),\n (render.displayName = name));\n }\n });\n return elementType;\n };\n exports.isValidElement = isValidElement;\n exports.lazy = function (ctor) {\n ctor = { _status: -1, _result: ctor };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: ctor,\n _init: lazyInitializer\n },\n ioInfo = {\n name: \"lazy\",\n start: -1,\n end: -1,\n value: null,\n owner: null,\n debugStack: Error(\"react-stack-top-frame\"),\n debugTask: console.createTask ? console.createTask(\"lazy()\") : null\n };\n ctor._ioInfo = ioInfo;\n lazyType._debugInfo = [{ awaited: ioInfo }];\n return lazyType;\n };\n exports.memo = function (type, compare) {\n null == type &&\n console.error(\n \"memo: The first argument must be a component. Instead received: %s\",\n null === type ? \"null\" : typeof type\n );\n compare = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n var ownName;\n Object.defineProperty(compare, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n type.name ||\n type.displayName ||\n (Object.defineProperty(type, \"name\", { value: name }),\n (type.displayName = name));\n }\n });\n return compare;\n };\n exports.startTransition = startTransition;\n exports.unstable_useCacheRefresh = function () {\n return resolveDispatcher().useCacheRefresh();\n };\n exports.use = function (usable) {\n return resolveDispatcher().use(usable);\n };\n exports.useActionState = function (action, initialState, permalink) {\n return resolveDispatcher().useActionState(\n action,\n initialState,\n permalink\n );\n };\n exports.useCallback = function (callback, deps) {\n return resolveDispatcher().useCallback(callback, deps);\n };\n exports.useContext = function (Context) {\n var dispatcher = resolveDispatcher();\n Context.$$typeof === REACT_CONSUMER_TYPE &&\n console.error(\n \"Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?\"\n );\n return dispatcher.useContext(Context);\n };\n exports.useDebugValue = function (value, formatterFn) {\n return resolveDispatcher().useDebugValue(value, formatterFn);\n };\n exports.useDeferredValue = function (value, initialValue) {\n return resolveDispatcher().useDeferredValue(value, initialValue);\n };\n exports.useEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useEffect(create, deps);\n };\n exports.useEffectEvent = function (callback) {\n return resolveDispatcher().useEffectEvent(callback);\n };\n exports.useId = function () {\n return resolveDispatcher().useId();\n };\n exports.useImperativeHandle = function (ref, create, deps) {\n return resolveDispatcher().useImperativeHandle(ref, create, deps);\n };\n exports.useInsertionEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useInsertionEffect(create, deps);\n };\n exports.useLayoutEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useLayoutEffect(create, deps);\n };\n exports.useMemo = function (create, deps) {\n return resolveDispatcher().useMemo(create, deps);\n };\n exports.useOptimistic = function (passthrough, reducer) {\n return resolveDispatcher().useOptimistic(passthrough, reducer);\n };\n exports.useReducer = function (reducer, initialArg, init) {\n return resolveDispatcher().useReducer(reducer, initialArg, init);\n };\n exports.useRef = function (initialValue) {\n return resolveDispatcher().useRef(initialValue);\n };\n exports.useState = function (initialState) {\n return resolveDispatcher().useState(initialState);\n };\n exports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n return resolveDispatcher().useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n };\n exports.useTransition = function () {\n return resolveDispatcher().useTransition();\n };\n exports.version = \"19.3.0\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * An orbit camera: a target, two angles and a distance. Immutable — every\n * gesture returns a new one, so it can live in instrument state.\n *\n * This is the shape `ViewApi` cannot hold, and the reason the kernel declares a\n * `camera3d` dep of its own rather than reusing the kit's `view`.\n */\n\nimport {\n lookAt,\n multiply,\n perspective,\n type Mat4,\n type Vec3,\n} from '@weasel-js/geom/3d';\n\n/** An orbit camera. The eye sits `distance` world units from `target` at\n * `yaw`/`pitch`; `fov` is the vertical field of view in radians, and\n * `near`/`far` the clip distances. */\nexport interface Camera3d {\n target: Vec3;\n /** Radians about +y, measured from +z. */\n yaw: number;\n /** Radians above the xz plane. */\n pitch: number;\n distance: number;\n fov: number;\n near: number;\n far: number;\n}\n\n/** Short of vertical: at exactly ±π/2 the eye lands on the up axis and `lookAt` degenerates. */\nexport const MAX_PITCH = Math.PI / 2 - 0.01;\nconst MIN_DISTANCE = 0.5;\nconst MAX_DISTANCE = 500;\nconst UP: Vec3 = { x: 0, y: 1, z: 0 };\n\n/** A camera with defaults for every field not given: origin target, level at\n * yaw 0, distance 10, fov π/4, near 0.1, far 1000. */\nexport function createCamera(init: Partial<Camera3d>): Camera3d {\n return {\n target: init.target ?? { x: 0, y: 0, z: 0 },\n yaw: init.yaw ?? 0,\n pitch: init.pitch ?? 0,\n distance: init.distance ?? 10,\n fov: init.fov ?? Math.PI / 4,\n near: init.near ?? 0.1,\n far: init.far ?? 1000,\n };\n}\n\n/** The eye's world position. */\nexport function cameraEye(camera: Camera3d): Vec3 {\n const { target, yaw, pitch, distance } = camera;\n const horizontal = Math.cos(pitch) * distance;\n return {\n x: target.x + horizontal * Math.sin(yaw),\n y: target.y + Math.sin(pitch) * distance,\n z: target.z + horizontal * Math.cos(yaw),\n };\n}\n\n/** World-to-view matrix, with +y up. */\nexport function cameraView(camera: Camera3d): Mat4 {\n return lookAt(cameraEye(camera), camera.target, UP);\n}\n\n/** World-to-clip matrix for a pane of the given width/height `aspect`. */\nexport function cameraViewProjection(camera: Camera3d, aspect: number): Mat4 {\n return multiply(perspective(camera.fov, aspect, camera.near, camera.far), cameraView(camera));\n}\n\n/** The camera turned about its target by the given radians. Pitch is clamped\n * to ±`MAX_PITCH`; yaw is not wrapped. */\nexport function orbitBy(camera: Camera3d, deltaYaw: number, deltaPitch: number): Camera3d {\n return {\n ...camera,\n yaw: camera.yaw + deltaYaw,\n pitch: Math.max(-MAX_PITCH, Math.min(MAX_PITCH, camera.pitch + deltaPitch)),\n };\n}\n\n/** The camera with its distance multiplied by `factor`, clamped to 0.5..500. */\nexport function dollyBy(camera: Camera3d, factor: number): Camera3d {\n return {\n ...camera,\n distance: Math.max(MIN_DISTANCE, Math.min(MAX_DISTANCE, camera.distance * factor)),\n };\n}\n","/**\n * A 3D pose, and the two things every consumer of one needs: its matrix, and\n * the world box it occupies.\n *\n * `Scene<TData, TLayer, Pose3>` is the whole of how this reaches weasel —\n * `Scene` is generic over its pose and holds this one with no adapter, no\n * subclass and no special case.\n */\n\nimport {\n compose, quatIdentity, transformAabb, type Aabb, type Mat4, type Quat, type Vec3,\n} from '@weasel-js/geom/3d';\n\n/** Position, rotation and scale of a 3D node. */\nexport interface Pose3 {\n position: Vec3;\n rotation: Quat;\n scale: Vec3;\n}\n\n/** The box a primitive occupies before its pose. A unit primitive centred on\n * its own origin — which is what the kernel assumes nothing about — is\n * `UNIT_CUBE`. */\nexport const UNIT_CUBE: Aabb = {\n min: { x: -0.5, y: -0.5, z: -0.5 },\n max: { x: 0.5, y: 0.5, z: 0.5 },\n};\n\n/** A pose at `position`, unscaled and unrotated unless given. */\nexport function pose3(\n position: Vec3,\n scale: Vec3 = { x: 1, y: 1, z: 1 },\n rotation: Quat = quatIdentity(),\n): Pose3 {\n return { position, rotation, scale };\n}\n\n/** The pose as a matrix: scale, then rotation, then translation to\n * `position`. */\nexport function poseMatrix(pose: Pose3): Mat4 {\n return compose(pose.position, pose.rotation, pose.scale);\n}\n\n/**\n * The world box a posed primitive occupies, given the box it occupies in its\n * own space.\n *\n * Which local box a primitive has is the consumer's answer, not the kernel's:\n * a sphere's is rotation-invariant and a mesh's comes from its vertices, and\n * neither is something a pose can tell you.\n */\nexport function aabbOfPose(pose: Pose3, local: Aabb = UNIT_CUBE): Aabb {\n return transformAabb(poseMatrix(pose), local);\n}\n","/**\n * The screen side of the kernel: where a pointer points, and what rectangle a\n * world box covers. This is the seam weasel's 2D chrome meets — everything\n * here speaks `Bounds`-shaped screen rectangles, which is why a 3D host can\n * pass the dispatcher's world point through unchanged.\n */\n\nimport {\n invert,\n normalize,\n sub,\n transformPoint,\n transformPoint4,\n type Aabb,\n type Mat4,\n type Ray,\n type Vec3,\n} from '@weasel-js/geom/3d';\n\n/** A screen rectangle in CSS pixels, in the shape core's `Bounds` uses. Both\n * a pane's own rect and a projected world box are this — one spelling, so the\n * two never need converting between. */\nexport interface ScreenBox {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\n/** A `ScreenBox` a host is being asked to outline. `tint` says why: warm for\n * what is selected, cool for what the gesture in hand is proposing. */\nexport interface ChromeBox extends ScreenBox {\n tint?: 'selection' | 'gesture';\n}\n\n/** Screen point (y down, rect-relative) to normalized device coordinates (y up). */\nexport function screenToNdc(\n point: { x: number; y: number },\n rect: ScreenBox,\n): { x: number; y: number } {\n return {\n x: ((point.x - rect.x) / rect.width) * 2 - 1,\n y: 1 - ((point.y - rect.y) / rect.height) * 2,\n };\n}\n\n/** Inverse of `screenToNdc`: normalized device coordinates (y up) to a point\n * in `rect`'s space (y down). */\nexport function ndcToScreen(\n ndc: { x: number; y: number },\n rect: ScreenBox,\n): { x: number; y: number } {\n return {\n x: rect.x + (ndc.x * 0.5 + 0.5) * rect.width,\n y: rect.y + (1 - (ndc.y * 0.5 + 0.5)) * rect.height,\n };\n}\n\n/**\n * The ray a screen point names, given the camera that drew the rect. This is\n * the whole of what 3D picking needs from a pointer — which is why the world\n * point the dispatcher carries stays two numbers.\n *\n * `null` when the point names no ray: the view-projection has no inverse (a\n * camera on its own target, a degenerate projection) or the pane has no area.\n */\nexport function rayThroughScreenPoint(\n point: { x: number; y: number },\n rect: ScreenBox,\n viewProjection: Mat4,\n eye: Vec3,\n): Ray | null {\n const inv = invert(viewProjection);\n if (!inv) return null;\n const ndc = screenToNdc(point, rect);\n const near = transformPoint(inv, { x: ndc.x, y: ndc.y, z: -1 });\n const far = transformPoint(inv, { x: ndc.x, y: ndc.y, z: 1 });\n const direction = normalize(sub(far, near));\n // normalize answers zero for a non-finite difference, which is no direction.\n if (direction.x === 0 && direction.y === 0 && direction.z === 0) return null;\n return { origin: eye, direction };\n}\n\ntype Clip = readonly [number, number, number, number];\n\n/** Signed distance to the near plane in clip space; `>= 0` is in front of it.\n * GL puts the near plane at `z = -w`. */\nfunction nearSide(p: Clip): number {\n return p[2] + p[3];\n}\n\nfunction lerpClip(a: Clip, b: Clip, t: number): Clip {\n return [\n a[0] + (b[0] - a[0]) * t,\n a[1] + (b[1] - a[1]) * t,\n a[2] + (b[2] - a[2]) * t,\n a[3] + (b[3] - a[3]) * t,\n ];\n}\n\n/** The three edges leaving corner `i` toward a higher bit, as bit masks. */\nconst EDGE_BITS = [1, 2, 4] as const;\n\n/**\n * The screen rectangle a world-space box covers — the currency weasel's chrome\n * and `PoseDescriptor.getBounds` speak in. `null` when the box is entirely\n * behind the near plane.\n *\n * Each of the twelve edges is clipped against the near plane before it is\n * projected, rather than dropping the corners behind it. Dropping them reports\n * a box that is too small for anything straddling the near plane, and the error\n * grows as the camera moves in: a solid the pointer is inside of would outline\n * as a sliver, or as nothing.\n */\nexport function projectAabbToScreen(\n box: Aabb,\n viewProjection: Mat4,\n rect: ScreenBox,\n): ScreenBox | null {\n const corners: Clip[] = [];\n for (let i = 0; i < 8; i++) {\n const corner: Vec3 = {\n x: i & 1 ? box.max.x : box.min.x,\n y: i & 2 ? box.max.y : box.min.y,\n z: i & 4 ? box.max.z : box.min.z,\n };\n corners.push(transformPoint4(viewProjection, corner));\n }\n\n let minX = Number.POSITIVE_INFINITY;\n let minY = Number.POSITIVE_INFINITY;\n let maxX = Number.NEGATIVE_INFINITY;\n let maxY = Number.NEGATIVE_INFINITY;\n let any = false;\n\n const extend = (p: Clip): void => {\n if (!(p[3] > 0)) return;\n const screen = ndcToScreen({ x: p[0] / p[3], y: p[1] / p[3] }, rect);\n minX = Math.min(minX, screen.x);\n minY = Math.min(minY, screen.y);\n maxX = Math.max(maxX, screen.x);\n maxY = Math.max(maxY, screen.y);\n any = true;\n };\n\n for (let i = 0; i < 8; i++) {\n for (const bit of EDGE_BITS) {\n if (i & bit) continue;\n let a = corners[i];\n let b = corners[i | bit];\n const da = nearSide(a);\n const db = nearSide(b);\n if (da < 0 && db < 0) continue;\n if (da < 0) a = lerpClip(a, b, da / (da - db));\n else if (db < 0) b = lerpClip(b, a, db / (db - da));\n extend(a);\n extend(b);\n }\n }\n\n if (!any) return null;\n return { x: minX, y: minY, width: maxX - minX, height: maxY - minY };\n}\n","/**\n * The kit's deps, implemented against a 3D world.\n *\n * Every one of these takes its camera from a thunk rather than an argument.\n * That is the kernel's central claim in code: the dispatcher keeps handing\n * actions two numbers, and what makes them mean something in 3D is the camera\n * each dep already closes over. `InvocationCtx` needs no widening, and none of\n * these needs a ray passed in.\n *\n * Where a kit contract cannot be honored, the implementation throws rather than\n * guessing. A guess would report a fit the kernel does not have.\n */\n\nimport type {\n AreaSelectDep,\n InsertDep,\n InsertExtras,\n NodeAtPointDep,\n NodeId,\n PoseDescriptor,\n Scene,\n SceneNode,\n SnapDep,\n} from '@weasel-js/core';\nimport {\n add,\n dot,\n intersectRayAabb,\n intersectRayPlane,\n len,\n normalize,\n quatIdentity,\n scale as scaleBy,\n sub,\n type Aabb,\n type Ray,\n type Vec3,\n} from '@weasel-js/geom/3d';\nimport { cameraEye, cameraViewProjection, type Camera3d } from './camera';\nimport { aabbOfPose, type Pose3 } from './pose3';\nimport {\n projectAabbToScreen,\n rayThroughScreenPoint,\n type ScreenBox,\n} from './screen';\n\n/** The camera and the pane it draws into; `width`/`height` are the pane's\n * size in the same units as the pointer points. */\nexport interface Viewport3d {\n camera: Camera3d;\n width: number;\n height: number;\n /**\n * Where the pane sits in client coordinates. A 3D host works in one space\n * from the event to the ray — it passes the dispatcher an identity\n * `clientToWorld` — so the deps subtract this rather than the dispatcher.\n */\n originX?: number;\n originY?: number;\n}\n\n/** Read on every dep call, so a dep always sees the current camera and pane. */\nexport type ViewportSource = () => Viewport3d;\n\n/** A 3D scene is core's scene with a `Pose3`. Nothing wraps it. */\nexport type Scene3d<TData, TLayer extends string> = Scene<TData, TLayer, Pose3>;\n/** A node of a `Scene3d`. */\nexport type Node3d<TData, TLayer extends string> = SceneNode<TData, TLayer, Pose3>;\n\n/**\n * The world box a node occupies. The kernel cannot answer this, and the reason\n * is sharper than \"it does not know the mesh\": a sphere's box is the same under\n * every rotation, and no transform of a local box reproduces that — rotate a\n * cube and it widens. Asking for the world box directly is what lets a\n * primitive answer for its own symmetry.\n *\n * Omitted, a node is a unit cube carried by its pose.\n */\nexport type NodeBounds<TData, TLayer extends string> = (\n node: Node3d<TData, TLayer>,\n) => Aabb;\n\n/** What every 3D dep is built from: the scene, the viewport, and optionally\n * each node's world box. */\nexport interface World3d<TData, TLayer extends string> {\n scene: Scene3d<TData, TLayer>;\n viewport: ViewportSource;\n bounds?: NodeBounds<TData, TLayer>;\n /** The axis gestures resolve against. Default `+y`. */\n up?: Vec3;\n}\n\nconst DEFAULT_UP: Vec3 = { x: 0, y: 1, z: 0 };\n\nfunction boundsOfNode<TData, TLayer extends string>(\n world: World3d<TData, TLayer>,\n node: Node3d<TData, TLayer>,\n): Aabb {\n return world.bounds ? world.bounds(node) : aabbOfPose(node.pose);\n}\n\n/** The pane, in the coordinate space the host's points arrive in. The origin\n * defaults to the client origin — a host that fills the window passes none. */\nfunction rectOf(viewport: Viewport3d): ScreenBox {\n return {\n x: viewport.originX ?? 0,\n y: viewport.originY ?? 0,\n width: viewport.width,\n height: viewport.height,\n };\n}\n\nfunction viewProjectionOf(viewport: Viewport3d) {\n return cameraViewProjection(viewport.camera, viewport.width / Math.max(1, viewport.height));\n}\n\nfunction rayAt(viewport: Viewport3d, point: { x: number; y: number }): Ray | null {\n return rayThroughScreenPoint(\n point,\n rectOf(viewport),\n viewProjectionOf(viewport),\n cameraEye(viewport.camera),\n );\n}\n\n/**\n * The plane through `p` that faces the camera.\n *\n * This is the depth choice the kit's reverse contracts need: a screen\n * rectangle names a pose only once something says how far away it is, and the\n * answer is \"as far as it already was\". Nothing resolved on this plane changes\n * depth, and one screen pixel is the same world distance everywhere on it.\n */\nfunction viewPlaneAt(camera: Camera3d, p: Vec3): { normal: Vec3; offset: number } {\n const normal = normalize(sub(camera.target, cameraEye(camera)));\n return { normal, offset: dot(normal, p) };\n}\n\n/** Where a screen point lands on `plane`, or `null` when it casts no ray. */\nfunction onPlane(\n vp: Viewport3d,\n plane: { normal: Vec3; offset: number },\n point: { x: number; y: number },\n): Vec3 | null {\n const ray = rayAt(vp, point);\n if (!ray) return null;\n const t = intersectRayPlane(ray, plane.normal, plane.offset);\n return t === null ? null : pointOnRay(ray, t);\n}\n\n/** The world box containing `points`. */\nfunction aabbOfPoints(points: readonly Vec3[]): Aabb {\n const min = { x: Infinity, y: Infinity, z: Infinity };\n const max = { x: -Infinity, y: -Infinity, z: -Infinity };\n for (const p of points) {\n for (const axis of ['x', 'y', 'z'] as const) {\n if (p[axis] < min[axis]) min[axis] = p[axis];\n if (p[axis] > max[axis]) max[axis] = p[axis];\n }\n }\n return { min, max };\n}\n\nfunction pointOnRay(ray: Ray, t: number): Vec3 {\n return {\n x: ray.origin.x + ray.direction.x * t,\n y: ray.origin.y + ray.direction.y * t,\n z: ray.origin.z + ray.direction.z * t,\n };\n}\n\nfunction overlaps(a: ScreenBox, b: ScreenBox): boolean {\n return (\n a.x < b.x + b.width && a.x + a.width > b.x && a.y < b.y + b.height && a.y + a.height > b.y\n );\n}\n\n/** The screen box a node covers, or null when it projects to nothing visible. */\nexport function screenBoxOf<TData, TLayer extends string>(\n world: World3d<TData, TLayer>,\n id: NodeId,\n viewport: Viewport3d,\n): ScreenBox | null {\n const node = world.scene.get(id) as Node3d<TData, TLayer> | undefined;\n if (!node) return null;\n return projectAabbToScreen(\n boundsOfNode(world, node),\n viewProjectionOf(viewport),\n rectOf(viewport),\n );\n}\n\n/**\n * Nearest node along the ray the screen point names.\n *\n * The kit calls this with what it believes is a world point; a 3D host feeds\n * the dispatcher an identity `clientToWorld`, so it is the pane-relative screen\n * point, which is exactly what a ray needs.\n */\nexport function createNodeAtPoint<TData, TLayer extends string>(\n world: World3d<TData, TLayer>,\n): NodeAtPointDep {\n return (point, exclude) => {\n const excluded = exclude ? new Set(exclude) : null;\n const vp = world.viewport();\n const ray = rayAt(vp, point);\n if (!ray) return null;\n let best: NodeId | null = null;\n let bestT = Infinity;\n for (const node of world.scene.renderOrderNodes() as readonly Node3d<TData, TLayer>[]) {\n if (excluded?.has(node.id)) continue;\n const { min, max } = boundsOfNode(world, node);\n const t = intersectRayAabb(ray, min, max);\n if (t !== null && t < bestT) {\n bestT = t;\n best = node.id;\n }\n }\n return best;\n };\n}\n\n/** Marquee: the nodes whose projected box the screen rectangle touches. */\nexport function createAreaSelect<TData, TLayer extends string>(\n world: World3d<TData, TLayer>,\n selection: { get(): readonly NodeId[]; set(ids: NodeId[]): void },\n): AreaSelectDep {\n return {\n hitTestArea(bounds) {\n const vp = world.viewport();\n const hits: NodeId[] = [];\n for (const node of world.scene.renderOrderNodes()) {\n const box = screenBoxOf(world, node.id, vp);\n if (box && overlaps(box, bounds)) hits.push(node.id);\n }\n return hits;\n },\n getSelection: () => [...selection.get()],\n setSelection: (ids) => selection.set([...ids]),\n };\n}\n\n/** No grid in 3D yet; the identity keeps `insertAction` happy without lying. */\nexport function createSnap(): SnapDep {\n return { point: (p) => p };\n}\n\n/** The ground-plane rectangle a drag swept out, in world units. */\nexport interface Footprint {\n /** Centre of the swept rectangle, on the ground plane. */\n center: Vec3;\n /** Extent along the two axes the up axis is not. */\n width: number;\n depth: number;\n}\n\n/**\n * A drag rectangle becomes a footprint on the ground plane: its four corners\n * are cast onto the plane and the hit points give the extent. What node that\n * implies is the consumer's answer — the kernel does not know what it is\n * inserting.\n *\n * The kit's `InsertDep.commit` hands over a screen-space AABB and nothing else,\n * which turns out to be enough: the depth the 2D contract cannot express comes\n * from the plane, not from the caller.\n */\nexport function createInsert(opts: {\n viewport: ViewportSource;\n up?: Vec3;\n /** Smallest footprint a click-sized drag produces. Default 0.25. */\n minExtent?: number;\n mint(footprint: Footprint, extras: InsertExtras): NodeId | null;\n}): InsertDep {\n const up = opts.up ?? DEFAULT_UP;\n const minExtent = opts.minExtent ?? 0.25;\n // The two axes the up axis is not, so a footprint reads the same whichever\n // way up the world is.\n const axes: readonly ['x' | 'y' | 'z', 'x' | 'y' | 'z'] =\n up.y !== 0 ? ['x', 'z'] : up.x !== 0 ? ['y', 'z'] : ['x', 'y'];\n\n return {\n commit(bounds, extras) {\n const vp = opts.viewport();\n const corners = [\n { x: bounds.x, y: bounds.y },\n { x: bounds.x + bounds.width, y: bounds.y },\n { x: bounds.x, y: bounds.y + bounds.height },\n { x: bounds.x + bounds.width, y: bounds.y + bounds.height },\n ];\n\n const hits: Vec3[] = [];\n for (const corner of corners) {\n const ray = rayAt(vp, corner);\n if (!ray) continue;\n const t = intersectRayPlane(ray, up, 0);\n if (t !== null) hits.push(pointOnRay(ray, t));\n }\n if (hits.length === 0) return null;\n\n const [u, v] = axes;\n let minU = Infinity, maxU = -Infinity, minV = Infinity, maxV = -Infinity;\n for (const h of hits) {\n minU = Math.min(minU, h[u]); maxU = Math.max(maxU, h[u]);\n minV = Math.min(minV, h[v]); maxV = Math.max(maxV, h[v]);\n }\n\n const center = { x: 0, y: 0, z: 0 };\n center[u] = (minU + maxU) / 2;\n center[v] = (minV + maxV) / 2;\n return opts.mint(\n {\n center,\n width: Math.max(minExtent, maxU - minU),\n depth: Math.max(minExtent, maxV - minV),\n },\n extras,\n );\n },\n };\n}\n\n/**\n * `PoseDescriptor` over a 3D pose, with `Bounds` read as the screen box the\n * node covers. Chrome and marquee math work unchanged; the two methods that\n * run the other way cannot.\n *\n * `forNode` is what lets a sphere bound itself as a sphere: every node is a\n * `Pose3`, so the shape lives on `node.data` and nothing but the node can say\n * which one this is. Unspecialized — the kit calling with only a pose in hand —\n * it answers with the default local box, which is the looser of the two.\n *\n * The two methods that run the other way — `remapBounds` and `fromBounds` —\n * take a screen rectangle, which names a pose only once something supplies a\n * depth. Both resolve it against the plane through the pose they were handed,\n * facing the camera, so nothing they produce changes depth. See\n * {@link viewPlaneAt}.\n */\nexport function createPoseDescriptor<TData, TLayer extends string>(\n world: World3d<TData, TLayer>,\n): PoseDescriptor<Pose3, Node3d<TData, TLayer>> {\n const up = world.up ?? DEFAULT_UP;\n const upAxis = up.y !== 0 ? 'y' : up.x !== 0 ? 'x' : 'z';\n const specialized = new WeakMap<object, PoseDescriptor<Pose3, Node3d<TData, TLayer>>>();\n\n // A drag whose camera stops casting rays mid-gesture keeps moving through the\n // last one that did, rather than snapping the node back.\n let lastCastable: Viewport3d | null = null;\n function castableViewport(): Viewport3d | null {\n const vp = world.viewport();\n const rect = rectOf(vp);\n if (rayAt(vp, { x: rect.x + rect.width / 2, y: rect.y + rect.height / 2 })) lastCastable = vp;\n return lastCastable;\n }\n\n function build(worldBox: (pose: Pose3) => Aabb): PoseDescriptor<Pose3, Node3d<TData, TLayer>> {\n const boundsIn = (vp: Viewport3d, pose: Pose3) =>\n projectAabbToScreen(worldBox(pose), viewProjectionOf(vp), rectOf(vp));\n const boundsOf = (pose: Pose3) => boundsIn(world.viewport(), pose);\n\n const descriptor: PoseDescriptor<Pose3, Node3d<TData, TLayer>> = {\n forNode(node) {\n let d = specialized.get(node);\n if (!d) {\n // The pose arriving here is often an in-flight override rather than\n // `node.pose`, so the consumer is asked about that pose on this node\n // rather than about the node as committed.\n d = build((pose) => boundsOfNode(world, { ...node, pose }));\n specialized.set(node, d);\n }\n return d;\n },\n\n getBounds(pose) {\n return boundsOf(pose) ?? { x: 0, y: 0, width: 0, height: 0 };\n },\n\n /**\n * The src→dst screen map, applied at the pose's own depth: the node's\n * screen anchor moves the way the rectangle does, and both ends of that\n * move are read back off the plane through its position, so the world\n * delta is exact rather than a scaled screen one.\n *\n * The scale is uniform. The rectangle names two extents and a pose has\n * three, so there is no reading in which a screen box resizes a solid\n * per-axis; the geometric mean is the one factor that agrees with both\n * of the extents it does name.\n */\n remapBounds(pose, src, dst) {\n const vp = castableViewport();\n if (!vp) return pose;\n const box = boundsIn(vp, pose);\n if (!box) return pose;\n\n const kx = src.width === 0 ? 1 : dst.width / src.width;\n const ky = src.height === 0 ? 1 : dst.height / src.height;\n const from = { x: box.x + box.width / 2, y: box.y + box.height / 2 };\n const to = {\n x: dst.x + (from.x - src.x) * kx,\n y: dst.y + (from.y - src.y) * ky,\n };\n\n const plane = viewPlaneAt(vp.camera, pose.position);\n const before = onPlane(vp, plane, from);\n const after = onPlane(vp, plane, to);\n if (!before || !after) return pose;\n\n const k = Math.sqrt(Math.abs(kx * ky));\n return {\n ...pose,\n position: add(pose.position, sub(after, before)),\n scale: scaleBy(pose.scale, k),\n };\n },\n\n /**\n * The world box the rectangle covers at the template's depth, as a pose.\n *\n * The rectangle is flat and a box is not, so the third extent — the one\n * no screen rectangle names — is the mean of the two it does. The result\n * is world-axis-aligned and unrotated: the pose carries none of the\n * template's shape, which is the contract, and it takes only its depth.\n *\n * Extents are written as `scale`, so this reads a pose as carrying a\n * unit primitive — the same assumption `aabbOfPose` makes by default.\n */\n fromBounds(bounds, template) {\n const vp = castableViewport();\n if (!vp) return template;\n const plane = viewPlaneAt(vp.camera, template.position);\n\n const corners: Vec3[] = [];\n for (const [x, y] of [\n [bounds.x, bounds.y],\n [bounds.x + bounds.width, bounds.y],\n [bounds.x, bounds.y + bounds.height],\n [bounds.x + bounds.width, bounds.y + bounds.height],\n ]) {\n const corner = onPlane(vp, plane, { x, y });\n if (!corner) return template;\n corners.push(corner);\n }\n\n const width = len(sub(corners[1]!, corners[0]!));\n const height = len(sub(corners[2]!, corners[0]!));\n const half = Math.sqrt(width * height) / 2;\n const box = aabbOfPoints(\n corners.flatMap((c) => [\n add(c, scaleBy(plane.normal, half)),\n sub(c, scaleBy(plane.normal, half)),\n ]),\n );\n return {\n position: scaleBy(add(box.min, box.max), 0.5),\n rotation: quatIdentity(),\n scale: sub(box.max, box.min),\n };\n },\n\n /**\n * Screen-space deltas resolve against the plane the node already sits on,\n * so the two numbers the kit passes are enough: the camera that turns\n * them into a world position is the one this dep closed over.\n */\n translate(pose, dx, dy) {\n const vp = castableViewport();\n if (!vp) return pose;\n const box = boundsIn(vp, pose);\n if (!box) return pose;\n const from = { x: box.x + box.width / 2, y: box.y + box.height / 2 };\n const to = { x: from.x + dx, y: from.y + dy };\n const offset = pose.position[upAxis];\n\n const ray = rayAt(vp, to);\n if (!ray) return pose;\n const t = intersectRayPlane(ray, up, offset);\n if (t === null) return pose;\n\n const anchorRay = rayAt(vp, from);\n if (!anchorRay) return pose;\n const anchorT = intersectRayPlane(anchorRay, up, offset);\n if (anchorT === null) return pose;\n\n const delta = sub(pointOnRay(ray, t), pointOnRay(anchorRay, anchorT));\n const position = {\n x: pose.position.x + delta.x,\n y: pose.position.y + delta.y,\n z: pose.position.z + delta.z,\n };\n position[upAxis] = pose.position[upAxis];\n return { ...pose, position };\n },\n\n supportsRotation() {\n return false;\n },\n };\n\n return descriptor;\n }\n\n return build((pose) => aabbOfPose(pose));\n}\n","/**\n * What a host paints for a gesture that proposes chrome rather than a pose.\n *\n * A marquee sweep and a box-drag both publish an `OngoingOverlay`, which used\n * to reach paint only through core's own 2D layer. `resolveOverlays` hands back\n * world geometry with no renderer in it, so the same call `<SceneCanvas>` makes\n * serves a consumer-owned 3D renderer.\n *\n * A 3D host's `clientToWorld` is identity, so an overlay's world bounds are the\n * client rect the deps already work in, and the pane origin comes off exactly\n * once. Only the rectangular variants resolve here: a lasso, a pencil and a run\n * of points are paths, and a path is geometry this cannot flatten to a box.\n */\n\nimport { resolveOverlays, type OngoingHandle } from '@weasel-js/core';\nimport type { ChromeBox } from './screen';\n\n/** Gesture chrome, in CSS pixels relative to the pane's top-left. */\nexport function collectOverlayBoxes(\n handles: Iterable<OngoingHandle>,\n origin: { x: number; y: number },\n): ChromeBox[] {\n const overlays = [];\n for (const handle of handles) {\n const ov = handle.overlay?.();\n if (ov) overlays.push(ov);\n }\n\n const boxes: ChromeBox[] = [];\n for (const resolved of resolveOverlays(overlays)) {\n if (resolved.kind !== 'marquee' && resolved.kind !== 'insertPreview') continue;\n const { x, y, width, height } = resolved.bounds;\n boxes.push({ x: x - origin.x, y: y - origin.y, width, height, tint: 'gesture' });\n }\n return boxes;\n}\n","/**\n * Camera tools and their actions.\n *\n * Shape tools transfer from the kit untouched — a 3D host mounts core's own\n * `useSelectTool` and a rectangle-style insert binding and neither notices the\n * dimension. Only the viewport tools are written here, which is the one\n * exception the kernel doc predicted: `useHandTool` routes to\n * `viewport.dragPan`, and that wants the 2D `view`.\n */\n\nimport { useMemo } from 'react';\nimport { defineTool, type Action, type Tool } from '@weasel-js/core';\nimport { dollyBy, orbitBy, type Camera3d } from './camera';\nimport type { Camera3dDep } from './cameraDep';\n\n/** Radians per CSS pixel of drag. A full pane width is a bit over half a turn. */\nconst ORBIT_RATE = 0.006;\nconst DOLLY_RATE = 0.0015;\n\nfunction cameraDep(deps: unknown): Camera3dDep | undefined {\n return (deps as { camera3d?: Camera3dDep }).camera3d;\n}\n\n/** `camera.orbit`: an ongoing drag that turns the `camera3d` dep about its\n * target, relative to the camera as it was when the drag began. */\nexport const orbitAction: Action = {\n id: 'camera.orbit',\n label: 'Orbit',\n requires: ['camera3d'],\n invoker: {\n timing: 'ongoing',\n start(ctx) {\n const dep = cameraDep(ctx.deps);\n const origin: Camera3d | undefined = dep?.get();\n return {\n kind: 'orbit',\n onMove(move) {\n if (!dep || !origin) return;\n // `drag.delta` runs from the drag origin, not the previous move, so\n // this composes against the camera as it was when the drag began.\n //\n // The fallback is only sound here because a 3D host's `clientToWorld`\n // is identity (see `overlays.ts`), so the world delta already is the\n // client one. Don't copy this pair to a host with a 2D view — there\n // the two spaces differ by the zoom.\n const delta = move.drag?.screenDelta ?? move.drag?.delta;\n if (!delta) return;\n dep.set(orbitBy(origin, -delta.x * ORBIT_RATE, delta.y * ORBIT_RATE));\n },\n };\n },\n },\n};\n\n/** `camera.dolly`: moves the `camera3d` dep toward or away from its target by\n * the wheel's `deltaY`. Bound to the wheel by default, in every tool. */\nexport const dollyAction: Action = {\n id: 'camera.dolly',\n label: 'Dolly',\n group: 'viewport',\n // Wheel, in any tool — the dispatcher merges the event's deltas into params.\n defaultBinding: [{ spec: { kind: 'wheel' }, opts: {} }],\n requires: ['camera3d'],\n invoker: {\n timing: 'immediate',\n run(deps, params) {\n const dep = cameraDep(deps);\n if (!dep) return;\n const amount = typeof params?.deltaY === 'number' ? params.deltaY : 0;\n dep.set(dollyBy(dep.get(), Math.exp(amount * DOLLY_RATE)));\n },\n },\n};\n\n/** A tool that binds drag to `camera.orbit`. Register `orbitAction` alongside\n * it; the tool only declares the binding. */\nexport function useOrbitTool(): Tool<null> {\n return useMemo(() => defineTool<null>({\n id: 'orbit',\n hookName: 'useOrbitTool',\n cursor: 'grab',\n presentation: { label: 'Orbit', group: 'viewport' },\n bindings: [{ spec: { kind: 'drag' }, actionId: 'camera.orbit' }],\n }), []);\n}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/react/cjs/react.production.js","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/index.js","../src/camera.ts","../src/pose3.ts","../src/screen.ts","../src/deps.ts","../src/overlays.ts","../src/tools.ts"],"names":["normalize","sub","scaleBy","quatIdentity"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result,\n thenable = ctor();\n thenable.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1),\n (payload._result = moduleObject),\n void 0 === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = moduleObject));\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2),\n (payload._result = error),\n void 0 === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n );\n -1 === payload._status &&\n ((payload._status = 0), (payload._result = thenable));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction startTransition(scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n currentTransition.types =\n null !== prevTransition ? prevTransition.types : null;\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction addTransitionType(type) {\n var transition = ReactSharedInternals.T;\n if (null !== transition) {\n var transitionTypes = transition.types;\n null === transitionTypes\n ? (transition.types = [type])\n : -1 === transitionTypes.indexOf(type) && transitionTypes.push(type);\n } else startTransition(addTransitionType.bind(null, type));\n}\nvar Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n};\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.ViewTransition = REACT_VIEW_TRANSITION_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.addTransitionType = addTransitionType;\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = startTransition;\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.3.0\";\n","/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function defineDeprecationWarning(methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n console.warn(\n \"%s(...) is deprecated in plain JavaScript React classes. %s\",\n info[0],\n info[1]\n );\n }\n });\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable)\n return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function warnNoop(publicInstance, callerName) {\n publicInstance =\n ((publicInstance = publicInstance.constructor) &&\n (publicInstance.displayName || publicInstance.name)) ||\n \"ReactClass\";\n var warningKey = publicInstance + \".\" + callerName;\n didWarnStateUpdateForUnmountedComponent[warningKey] ||\n (console.error(\n \"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\",\n callerName,\n publicInstance\n ),\n (didWarnStateUpdateForUnmountedComponent[warningKey] = !0));\n }\n function Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function ComponentDummy() {}\n function PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function noop() {}\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n case REACT_VIEW_TRANSITION_TYPE:\n return \"ViewTransition\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n newKey = ReactElement(\n oldElement.type,\n newKey,\n oldElement.props,\n oldElement._owner,\n oldElement._debugStack,\n oldElement._debugTask\n );\n oldElement._store &&\n (newKey._store.validated = oldElement._store.validated);\n return newKey;\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n }\n function getElementKey(element, index) {\n return \"object\" === typeof element &&\n null !== element &&\n null != element.key\n ? (checkKeyStringCoercion(element.key), escape(\"\" + element.key))\n : index.toString(36);\n }\n function resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"),\n (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n }\n function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback) {\n invokeCallback = children;\n callback = callback(invokeCallback);\n var childKey =\n \"\" === nameSoFar ? \".\" + getElementKey(invokeCallback, 0) : nameSoFar;\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != childKey &&\n (escapedPrefix =\n childKey.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (null != callback.key &&\n ((invokeCallback && invokeCallback.key === callback.key) ||\n checkKeyStringCoercion(callback.key)),\n (escapedPrefix = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (invokeCallback && invokeCallback.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n childKey\n )),\n \"\" !== nameSoFar &&\n null != invokeCallback &&\n isValidElement(invokeCallback) &&\n null == invokeCallback.key &&\n invokeCallback._store &&\n !invokeCallback._store.validated &&\n (escapedPrefix._store.validated = 2),\n (callback = escapedPrefix)),\n array.push(callback));\n return 1;\n }\n invokeCallback = 0;\n childKey = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = childKey + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n i === children.entries &&\n (didWarnAboutMaps ||\n console.warn(\n \"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\"\n ),\n (didWarnAboutMaps = !0)),\n children = i.call(children),\n i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = childKey + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n }\n function mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n }\n function lazyInitializer(payload) {\n if (-1 === payload._status) {\n var resolveDebugValue = null,\n rejectDebugValue = null,\n ioInfo = payload._ioInfo;\n null != ioInfo &&\n ((ioInfo.start = ioInfo.end = performance.now()),\n (ioInfo.value = new Promise(function (resolve, reject) {\n resolveDebugValue = resolve;\n rejectDebugValue = reject;\n })));\n ioInfo = payload._result;\n var thenable = ioInfo();\n thenable.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status) {\n payload._status = 1;\n payload._result = moduleObject;\n var _ioInfo = payload._ioInfo;\n if (null != _ioInfo) {\n _ioInfo.end = performance.now();\n var debugValue =\n null == moduleObject ? void 0 : moduleObject.default;\n resolveDebugValue(debugValue);\n _ioInfo.value.status = \"fulfilled\";\n _ioInfo.value.value = debugValue;\n }\n void 0 === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = moduleObject));\n }\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status) {\n payload._status = 2;\n payload._result = error;\n var _ioInfo2 = payload._ioInfo;\n null != _ioInfo2 &&\n ((_ioInfo2.end = performance.now()),\n _ioInfo2.value.then(noop, noop),\n rejectDebugValue(error),\n (_ioInfo2.value.status = \"rejected\"),\n (_ioInfo2.value.reason = error));\n void 0 === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n }\n );\n ioInfo = payload._ioInfo;\n if (null != ioInfo) {\n var displayName = thenable.displayName;\n \"string\" === typeof displayName && (ioInfo.name = displayName);\n }\n -1 === payload._status &&\n ((payload._status = 0), (payload._result = thenable));\n }\n if (1 === payload._status)\n return (\n (ioInfo = payload._result),\n void 0 === ioInfo &&\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\\n\\nDid you accidentally put curly braces around the import?\",\n ioInfo\n ),\n \"default\" in ioInfo ||\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\",\n ioInfo\n ),\n ioInfo.default\n );\n throw payload._result;\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n function releaseAsyncTransition() {\n ReactSharedInternals.asyncTransitions--;\n }\n function startTransition(scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n currentTransition.types =\n null !== prevTransition ? prevTransition.types : null;\n currentTransition._updatedFibers = new Set();\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n (ReactSharedInternals.asyncTransitions++,\n returnValue.then(releaseAsyncTransition, releaseAsyncTransition),\n returnValue.then(noop, reportGlobalError));\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null === prevTransition &&\n currentTransition._updatedFibers &&\n ((scope = currentTransition._updatedFibers.size),\n currentTransition._updatedFibers.clear(),\n 10 < scope &&\n console.warn(\n \"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\"\n )),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (null !== prevTransition.types &&\n prevTransition.types !== currentTransition.types &&\n console.error(\n \"We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React.\"\n ),\n (prevTransition.types = currentTransition.types)),\n (ReactSharedInternals.T = prevTransition);\n }\n }\n function addTransitionType(type) {\n var transition = ReactSharedInternals.T;\n if (null !== transition) {\n var transitionTypes = transition.types;\n null === transitionTypes\n ? (transition.types = [type])\n : -1 === transitionTypes.indexOf(type) && transitionTypes.push(type);\n } else\n 0 === ReactSharedInternals.asyncTransitions &&\n console.error(\n \"addTransitionType can only be called inside a `startTransition()` callback. It must be associated with a specific Transition.\"\n ),\n startTransition(addTransitionType.bind(null, type));\n }\n function enqueueTask(task) {\n if (null === enqueueTaskImpl)\n try {\n var requireString = (\"require\" + Math.random()).slice(0, 7);\n enqueueTaskImpl = (module && module[requireString]).call(\n module,\n \"timers\"\n ).setImmediate;\n } catch (_err) {\n enqueueTaskImpl = function (callback) {\n !1 === didWarnAboutMessageChannel &&\n ((didWarnAboutMessageChannel = !0),\n \"undefined\" === typeof MessageChannel &&\n console.error(\n \"This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\"\n ));\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(void 0);\n };\n }\n return enqueueTaskImpl(task);\n }\n function aggregateErrors(errors) {\n return 1 < errors.length && \"function\" === typeof AggregateError\n ? new AggregateError(errors)\n : errors[0];\n }\n function popActScope(prevActQueue, prevActScopeDepth) {\n prevActScopeDepth !== actScopeDepth - 1 &&\n console.error(\n \"You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \"\n );\n actScopeDepth = prevActScopeDepth;\n }\n function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n var queue = ReactSharedInternals.actQueue;\n if (null !== queue)\n if (0 !== queue.length)\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n return;\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n else ReactSharedInternals.actQueue = null;\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((queue = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(queue))\n : resolve(returnValue);\n }\n function flushActQueue(queue) {\n if (!isFlushing) {\n isFlushing = !0;\n var i = 0;\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n do {\n ReactSharedInternals.didUsePromise = !1;\n var continuation = callback(!1);\n if (null !== continuation) {\n if (ReactSharedInternals.didUsePromise) {\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n callback = continuation;\n } else break;\n } while (1);\n }\n queue.length = 0;\n } catch (error) {\n queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);\n } finally {\n isFlushing = !1;\n }\n }\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n didWarnStateUpdateForUnmountedComponent = {},\n ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, \"forceUpdate\");\n },\n enqueueReplaceState: function (publicInstance) {\n warnNoop(publicInstance, \"replaceState\");\n },\n enqueueSetState: function (publicInstance) {\n warnNoop(publicInstance, \"setState\");\n }\n },\n assign = Object.assign,\n emptyObject = {};\n Object.freeze(emptyObject);\n Component.prototype.isReactComponent = {};\n Component.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n };\n Component.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n };\n var deprecatedAPIs = {\n isMounted: [\n \"isMounted\",\n \"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"\n ],\n replaceState: [\n \"replaceState\",\n \"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"\n ]\n };\n for (fnName in deprecatedAPIs)\n deprecatedAPIs.hasOwnProperty(fnName) &&\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n ComponentDummy.prototype = Component.prototype;\n deprecatedAPIs = PureComponent.prototype = new ComponentDummy();\n deprecatedAPIs.constructor = PureComponent;\n assign(deprecatedAPIs, Component.prototype);\n deprecatedAPIs.isPureReactComponent = !0;\n var isArrayImpl = Array.isArray,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals = {\n H: null,\n A: null,\n T: null,\n S: null,\n actQueue: null,\n asyncTransitions: 0,\n isBatchingLegacy: !1,\n didScheduleLegacyUpdate: !1,\n didUsePromise: !1,\n thrownErrors: [],\n getCurrentStack: null,\n recentlyCreatedOwnerStacks: 0\n },\n hasOwnProperty = Object.prototype.hasOwnProperty,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n deprecatedAPIs = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(\n deprecatedAPIs,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutMaps = !1,\n userProvidedKeyEscapeRegex = /\\/+/g,\n reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n didWarnAboutMessageChannel = !1,\n enqueueTaskImpl = null,\n actScopeDepth = 0,\n didWarnNoAwaitAct = !1,\n isFlushing = !1,\n queueSeveralMicrotasks =\n \"function\" === typeof queueMicrotask\n ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n }\n : enqueueTask;\n deprecatedAPIs = Object.freeze({\n __proto__: null,\n c: function (size) {\n return resolveDispatcher().useMemoCache(size);\n }\n });\n var fnName = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\n exports.Activity = REACT_ACTIVITY_TYPE;\n exports.Children = fnName;\n exports.Component = Component;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.ViewTransition = REACT_VIEW_TRANSITION_TYPE;\n exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\n exports.__COMPILER_RUNTIME = deprecatedAPIs;\n exports.act = function (callback) {\n var prevActQueue = ReactSharedInternals.actQueue,\n prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = (ReactSharedInternals.actQueue =\n null !== prevActQueue ? prevActQueue : []),\n didAwaitActCall = !1;\n try {\n var result = callback();\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n (popActScope(prevActQueue, prevActScopeDepth),\n (callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n if (\n null !== result &&\n \"object\" === typeof result &&\n \"function\" === typeof result.then\n ) {\n var thenable = result;\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);\"\n ));\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n thenable.then(\n function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n if (0 === prevActScopeDepth) {\n try {\n flushActQueue(queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue,\n resolve,\n reject\n );\n });\n } catch (error$0) {\n ReactSharedInternals.thrownErrors.push(error$0);\n }\n if (0 < ReactSharedInternals.thrownErrors.length) {\n var _thrownError = aggregateErrors(\n ReactSharedInternals.thrownErrors\n );\n ReactSharedInternals.thrownErrors.length = 0;\n reject(_thrownError);\n }\n } else resolve(returnValue);\n },\n function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((error = aggregateErrors(\n ReactSharedInternals.thrownErrors\n )),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(error))\n : reject(error);\n }\n );\n }\n };\n }\n var returnValue$jscomp$0 = result;\n popActScope(prevActQueue, prevActScopeDepth);\n 0 === prevActScopeDepth &&\n (flushActQueue(queue),\n 0 !== queue.length &&\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\\n\\nawait act(() => ...)\"\n ));\n }),\n (ReactSharedInternals.actQueue = null));\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n ((callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n 0 === prevActScopeDepth\n ? ((ReactSharedInternals.actQueue = queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue$jscomp$0,\n resolve,\n reject\n );\n }))\n : resolve(returnValue$jscomp$0);\n }\n };\n };\n exports.addTransitionType = addTransitionType;\n exports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n };\n exports.cacheSignal = function () {\n return null;\n };\n exports.captureOwnerStack = function () {\n var getCurrentStack = ReactSharedInternals.getCurrentStack;\n return null === getCurrentStack ? null : getCurrentStack();\n };\n exports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" +\n element +\n \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = element._owner;\n if (null != config) {\n var JSCompiler_inline_result;\n a: {\n if (\n hasOwnProperty.call(config, \"ref\") &&\n (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(\n config,\n \"ref\"\n ).get) &&\n JSCompiler_inline_result.isReactWarning\n ) {\n JSCompiler_inline_result = !1;\n break a;\n }\n JSCompiler_inline_result = void 0 !== config.ref;\n }\n JSCompiler_inline_result && (owner = getOwner());\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key));\n for (propName in config)\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n }\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n JSCompiler_inline_result = Array(propName);\n for (var i = 0; i < propName; i++)\n JSCompiler_inline_result[i] = arguments[i + 2];\n props.children = JSCompiler_inline_result;\n }\n props = ReactElement(\n element.type,\n key,\n props,\n owner,\n element._debugStack,\n element._debugTask\n );\n for (key = 2; key < arguments.length; key++)\n validateChildKeys(arguments[key]);\n return props;\n };\n exports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n defaultValue._currentRenderer = null;\n defaultValue._currentRenderer2 = null;\n return defaultValue;\n };\n exports.createElement = function (type, config, children) {\n for (var i = 2; i < arguments.length; i++)\n validateChildKeys(arguments[i]);\n var propName;\n i = {};\n var key = null;\n if (null != config)\n for (propName in (didWarnAboutOldJSXRuntime ||\n !(\"__self\" in config) ||\n \"key\" in config ||\n ((didWarnAboutOldJSXRuntime = !0),\n console.warn(\n \"Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform\"\n )),\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key)),\n config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (i[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) i.children = children;\n else if (1 < childrenLength) {\n for (\n var childArray = Array(childrenLength), _i = 0;\n _i < childrenLength;\n _i++\n )\n childArray[_i] = arguments[_i + 2];\n Object.freeze && Object.freeze(childArray);\n i.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === i[propName] && (i[propName] = childrenLength[propName]);\n key &&\n defineKeyPropWarningGetter(\n i,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n (propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++)\n ? ((childArray = Error.stackTraceLimit),\n (Error.stackTraceLimit = 10),\n (childrenLength = Error(\"react-stack-top-frame\")),\n (Error.stackTraceLimit = childArray))\n : (childrenLength = unknownOwnerDebugStack);\n return ReactElement(\n type,\n key,\n i,\n getOwner(),\n childrenLength,\n propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.createRef = function () {\n var refObject = { current: null };\n Object.seal(refObject);\n return refObject;\n };\n exports.forwardRef = function (render) {\n null != render && render.$$typeof === REACT_MEMO_TYPE\n ? console.error(\n \"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\"\n )\n : \"function\" !== typeof render\n ? console.error(\n \"forwardRef requires a render function but was given %s.\",\n null === render ? \"null\" : typeof render\n )\n : 0 !== render.length &&\n 2 !== render.length &&\n console.error(\n \"forwardRef render functions accept exactly two parameters: props and ref. %s\",\n 1 === render.length\n ? \"Did you forget to use the ref parameter?\"\n : \"Any additional parameter will be undefined.\"\n );\n null != render &&\n null != render.defaultProps &&\n console.error(\n \"forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?\"\n );\n var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render },\n ownName;\n Object.defineProperty(elementType, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n render.name ||\n render.displayName ||\n (Object.defineProperty(render, \"name\", { value: name }),\n (render.displayName = name));\n }\n });\n return elementType;\n };\n exports.isValidElement = isValidElement;\n exports.lazy = function (ctor) {\n ctor = { _status: -1, _result: ctor };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: ctor,\n _init: lazyInitializer\n },\n ioInfo = {\n name: \"lazy\",\n start: -1,\n end: -1,\n value: null,\n owner: null,\n debugStack: Error(\"react-stack-top-frame\"),\n debugTask: console.createTask ? console.createTask(\"lazy()\") : null\n };\n ctor._ioInfo = ioInfo;\n lazyType._debugInfo = [{ awaited: ioInfo }];\n return lazyType;\n };\n exports.memo = function (type, compare) {\n null == type &&\n console.error(\n \"memo: The first argument must be a component. Instead received: %s\",\n null === type ? \"null\" : typeof type\n );\n compare = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n var ownName;\n Object.defineProperty(compare, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n type.name ||\n type.displayName ||\n (Object.defineProperty(type, \"name\", { value: name }),\n (type.displayName = name));\n }\n });\n return compare;\n };\n exports.startTransition = startTransition;\n exports.unstable_useCacheRefresh = function () {\n return resolveDispatcher().useCacheRefresh();\n };\n exports.use = function (usable) {\n return resolveDispatcher().use(usable);\n };\n exports.useActionState = function (action, initialState, permalink) {\n return resolveDispatcher().useActionState(\n action,\n initialState,\n permalink\n );\n };\n exports.useCallback = function (callback, deps) {\n return resolveDispatcher().useCallback(callback, deps);\n };\n exports.useContext = function (Context) {\n var dispatcher = resolveDispatcher();\n Context.$$typeof === REACT_CONSUMER_TYPE &&\n console.error(\n \"Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?\"\n );\n return dispatcher.useContext(Context);\n };\n exports.useDebugValue = function (value, formatterFn) {\n return resolveDispatcher().useDebugValue(value, formatterFn);\n };\n exports.useDeferredValue = function (value, initialValue) {\n return resolveDispatcher().useDeferredValue(value, initialValue);\n };\n exports.useEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useEffect(create, deps);\n };\n exports.useEffectEvent = function (callback) {\n return resolveDispatcher().useEffectEvent(callback);\n };\n exports.useId = function () {\n return resolveDispatcher().useId();\n };\n exports.useImperativeHandle = function (ref, create, deps) {\n return resolveDispatcher().useImperativeHandle(ref, create, deps);\n };\n exports.useInsertionEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useInsertionEffect(create, deps);\n };\n exports.useLayoutEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useLayoutEffect(create, deps);\n };\n exports.useMemo = function (create, deps) {\n return resolveDispatcher().useMemo(create, deps);\n };\n exports.useOptimistic = function (passthrough, reducer) {\n return resolveDispatcher().useOptimistic(passthrough, reducer);\n };\n exports.useReducer = function (reducer, initialArg, init) {\n return resolveDispatcher().useReducer(reducer, initialArg, init);\n };\n exports.useRef = function (initialValue) {\n return resolveDispatcher().useRef(initialValue);\n };\n exports.useState = function (initialState) {\n return resolveDispatcher().useState(initialState);\n };\n exports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n return resolveDispatcher().useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n };\n exports.useTransition = function () {\n return resolveDispatcher().useTransition();\n };\n exports.version = \"19.3.0\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * An orbit camera: a target, two angles and a distance. Immutable — every\n * gesture returns a new one, so it can live in instrument state.\n *\n * This is the shape `ViewApi` cannot hold, and the reason the kernel declares a\n * `camera3d` dep of its own rather than reusing the kit's `view`.\n */\n\nimport {\n lookAt,\n multiply,\n perspective,\n type Mat4,\n type Vec3,\n} from '@weasel-js/geom/3d';\n\n/** An orbit camera. The eye sits `distance` world units from `target` at\n * `yaw`/`pitch`; `fov` is the vertical field of view in radians, and\n * `near`/`far` the clip distances. */\nexport interface Camera3d {\n target: Vec3;\n /** Radians about +y, measured from +z. */\n yaw: number;\n /** Radians above the xz plane. */\n pitch: number;\n distance: number;\n fov: number;\n near: number;\n far: number;\n}\n\n/** Short of vertical: at exactly ±π/2 the eye lands on the up axis and `lookAt` degenerates. */\nexport const MAX_PITCH = Math.PI / 2 - 0.01;\nconst MIN_DISTANCE = 0.5;\nconst MAX_DISTANCE = 500;\nconst UP: Vec3 = { x: 0, y: 1, z: 0 };\n\n/** A camera with defaults for every field not given: origin target, level at\n * yaw 0, distance 10, fov π/4, near 0.1, far 1000. */\nexport function createCamera(init: Partial<Camera3d>): Camera3d {\n return {\n target: init.target ?? { x: 0, y: 0, z: 0 },\n yaw: init.yaw ?? 0,\n pitch: init.pitch ?? 0,\n distance: init.distance ?? 10,\n fov: init.fov ?? Math.PI / 4,\n near: init.near ?? 0.1,\n far: init.far ?? 1000,\n };\n}\n\n/** The eye's world position. */\nexport function cameraEye(camera: Camera3d): Vec3 {\n const { target, yaw, pitch, distance } = camera;\n const horizontal = Math.cos(pitch) * distance;\n return {\n x: target.x + horizontal * Math.sin(yaw),\n y: target.y + Math.sin(pitch) * distance,\n z: target.z + horizontal * Math.cos(yaw),\n };\n}\n\n/** World-to-view matrix, with +y up. */\nexport function cameraView(camera: Camera3d): Mat4 {\n return lookAt(cameraEye(camera), camera.target, UP);\n}\n\n/** World-to-clip matrix for a pane of the given width/height `aspect`. */\nexport function cameraViewProjection(camera: Camera3d, aspect: number): Mat4 {\n return multiply(perspective(camera.fov, aspect, camera.near, camera.far), cameraView(camera));\n}\n\n/** The camera turned about its target by the given radians. Pitch is clamped\n * to ±`MAX_PITCH`; yaw is not wrapped. */\nexport function orbitBy(camera: Camera3d, deltaYaw: number, deltaPitch: number): Camera3d {\n return {\n ...camera,\n yaw: camera.yaw + deltaYaw,\n pitch: Math.max(-MAX_PITCH, Math.min(MAX_PITCH, camera.pitch + deltaPitch)),\n };\n}\n\n/** The camera with its distance multiplied by `factor`, clamped to 0.5..500. */\nexport function dollyBy(camera: Camera3d, factor: number): Camera3d {\n return {\n ...camera,\n distance: Math.max(MIN_DISTANCE, Math.min(MAX_DISTANCE, camera.distance * factor)),\n };\n}\n","/**\n * A 3D pose, and the two things every consumer of one needs: its matrix, and\n * the world box it occupies.\n *\n * `Scene<TData, TLayer, Pose3>` is the whole of how this reaches weasel —\n * `Scene` is generic over its pose and holds this one with no adapter, no\n * subclass and no special case.\n */\n\nimport {\n compose, quatIdentity, transformAabb, type Aabb, type Mat4, type Quat, type Vec3,\n} from '@weasel-js/geom/3d';\n\n/** Position, rotation and scale of a 3D node. */\nexport interface Pose3 {\n position: Vec3;\n rotation: Quat;\n scale: Vec3;\n}\n\n/** The box a primitive occupies before its pose. A unit primitive centred on\n * its own origin — which is what the kernel assumes nothing about — is\n * `UNIT_CUBE`. */\nexport const UNIT_CUBE: Aabb = {\n min: { x: -0.5, y: -0.5, z: -0.5 },\n max: { x: 0.5, y: 0.5, z: 0.5 },\n};\n\n/** A pose at `position`, unscaled and unrotated unless given. */\nexport function pose3(\n position: Vec3,\n scale: Vec3 = { x: 1, y: 1, z: 1 },\n rotation: Quat = quatIdentity(),\n): Pose3 {\n return { position, rotation, scale };\n}\n\n/** The pose as a matrix: scale, then rotation, then translation to\n * `position`. */\nexport function poseMatrix(pose: Pose3): Mat4 {\n return compose(pose.position, pose.rotation, pose.scale);\n}\n\n/**\n * The world box a posed primitive occupies, given the box it occupies in its\n * own space.\n *\n * Which local box a primitive has is the consumer's answer, not the kernel's:\n * a sphere's is rotation-invariant and a mesh's comes from its vertices, and\n * neither is something a pose can tell you.\n */\nexport function aabbOfPose(pose: Pose3, local: Aabb = UNIT_CUBE): Aabb {\n return transformAabb(poseMatrix(pose), local);\n}\n","/**\n * The screen side of the kernel: where a pointer points, and what rectangle a\n * world box covers. This is the seam weasel's 2D chrome meets — everything\n * here speaks `Bounds`-shaped screen rectangles, which is why a 3D host can\n * pass the dispatcher's world point through unchanged.\n */\n\nimport {\n invert,\n normalize,\n sub,\n transformPoint,\n transformPoint4,\n type Aabb,\n type Mat4,\n type Ray,\n type Vec3,\n} from '@weasel-js/geom/3d';\n\n/** A screen rectangle in CSS pixels, in the shape core's `Bounds` uses. Both\n * a pane's own rect and a projected world box are this — one spelling, so the\n * two never need converting between. */\nexport interface ScreenBox {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\n/** A `ScreenBox` a host is being asked to outline. `tint` says why: warm for\n * what is selected, cool for what the gesture in hand is proposing. */\nexport interface ChromeBox extends ScreenBox {\n tint?: 'selection' | 'gesture';\n}\n\n/** Screen point (y down, rect-relative) to normalized device coordinates (y up). */\nexport function screenToNdc(\n point: { x: number; y: number },\n rect: ScreenBox,\n): { x: number; y: number } {\n return {\n x: ((point.x - rect.x) / rect.width) * 2 - 1,\n y: 1 - ((point.y - rect.y) / rect.height) * 2,\n };\n}\n\n/** Inverse of `screenToNdc`: normalized device coordinates (y up) to a point\n * in `rect`'s space (y down). */\nexport function ndcToScreen(\n ndc: { x: number; y: number },\n rect: ScreenBox,\n): { x: number; y: number } {\n return {\n x: rect.x + (ndc.x * 0.5 + 0.5) * rect.width,\n y: rect.y + (1 - (ndc.y * 0.5 + 0.5)) * rect.height,\n };\n}\n\n/**\n * The ray a screen point names, given the camera that drew the rect. This is\n * the whole of what 3D picking needs from a pointer — which is why the world\n * point the dispatcher carries stays two numbers.\n *\n * `null` when the point names no ray: the view-projection has no inverse (a\n * camera on its own target, a degenerate projection) or the pane has no area.\n */\nexport function rayThroughScreenPoint(\n point: { x: number; y: number },\n rect: ScreenBox,\n viewProjection: Mat4,\n eye: Vec3,\n): Ray | null {\n const inv = invert(viewProjection);\n if (!inv) return null;\n const ndc = screenToNdc(point, rect);\n const near = transformPoint(inv, { x: ndc.x, y: ndc.y, z: -1 });\n const far = transformPoint(inv, { x: ndc.x, y: ndc.y, z: 1 });\n const direction = normalize(sub(far, near));\n // normalize answers zero for a non-finite difference, which is no direction.\n if (direction.x === 0 && direction.y === 0 && direction.z === 0) return null;\n return { origin: eye, direction };\n}\n\ntype Clip = readonly [number, number, number, number];\n\n/** Signed distance to the near plane in clip space; `>= 0` is in front of it.\n * GL puts the near plane at `z = -w`. */\nfunction nearSide(p: Clip): number {\n return p[2] + p[3];\n}\n\nfunction lerpClip(a: Clip, b: Clip, t: number): Clip {\n return [\n a[0] + (b[0] - a[0]) * t,\n a[1] + (b[1] - a[1]) * t,\n a[2] + (b[2] - a[2]) * t,\n a[3] + (b[3] - a[3]) * t,\n ];\n}\n\n/** The three edges leaving corner `i` toward a higher bit, as bit masks. */\nconst EDGE_BITS = [1, 2, 4] as const;\n\n/**\n * The screen rectangle a world-space box covers — the currency weasel's chrome\n * and `PoseDescriptor.getBounds` speak in. `null` when the box is entirely\n * behind the near plane.\n *\n * Each of the twelve edges is clipped against the near plane before it is\n * projected, rather than dropping the corners behind it. Dropping them reports\n * a box that is too small for anything straddling the near plane, and the error\n * grows as the camera moves in: a solid the pointer is inside of would outline\n * as a sliver, or as nothing.\n */\nexport function projectAabbToScreen(\n box: Aabb,\n viewProjection: Mat4,\n rect: ScreenBox,\n): ScreenBox | null {\n const corners: Clip[] = [];\n for (let i = 0; i < 8; i++) {\n const corner: Vec3 = {\n x: i & 1 ? box.max.x : box.min.x,\n y: i & 2 ? box.max.y : box.min.y,\n z: i & 4 ? box.max.z : box.min.z,\n };\n corners.push(transformPoint4(viewProjection, corner));\n }\n\n let minX = Number.POSITIVE_INFINITY;\n let minY = Number.POSITIVE_INFINITY;\n let maxX = Number.NEGATIVE_INFINITY;\n let maxY = Number.NEGATIVE_INFINITY;\n let any = false;\n\n const extend = (p: Clip): void => {\n if (!(p[3] > 0)) return;\n const screen = ndcToScreen({ x: p[0] / p[3], y: p[1] / p[3] }, rect);\n minX = Math.min(minX, screen.x);\n minY = Math.min(minY, screen.y);\n maxX = Math.max(maxX, screen.x);\n maxY = Math.max(maxY, screen.y);\n any = true;\n };\n\n for (let i = 0; i < 8; i++) {\n for (const bit of EDGE_BITS) {\n if (i & bit) continue;\n let a = corners[i];\n let b = corners[i | bit];\n const da = nearSide(a);\n const db = nearSide(b);\n if (da < 0 && db < 0) continue;\n if (da < 0) a = lerpClip(a, b, da / (da - db));\n else if (db < 0) b = lerpClip(b, a, db / (db - da));\n extend(a);\n extend(b);\n }\n }\n\n if (!any) return null;\n return { x: minX, y: minY, width: maxX - minX, height: maxY - minY };\n}\n","/**\n * The kit's deps, implemented against a 3D world.\n *\n * Every one of these takes its camera from a thunk rather than an argument.\n * That is the kernel's central claim in code: the dispatcher keeps handing\n * actions two numbers, and what makes them mean something in 3D is the camera\n * each dep already closes over. `InvocationCtx` needs no widening, and none of\n * these needs a ray passed in.\n *\n * Where a kit contract cannot be honored, the implementation throws rather than\n * guessing. A guess would report a fit the kernel does not have.\n */\n\nimport type {\n AreaSelectDep,\n InsertDep,\n InsertExtras,\n NodeAtPointDep,\n NodeId,\n PoseDescriptor,\n Scene,\n SceneNode,\n SnapDep,\n} from '@weasel-js/core';\nimport {\n add,\n dot,\n intersectRayAabb,\n intersectRayPlane,\n len,\n normalize,\n quatIdentity,\n scale as scaleBy,\n sub,\n type Aabb,\n type Ray,\n type Vec3,\n} from '@weasel-js/geom/3d';\nimport { cameraEye, cameraViewProjection, type Camera3d } from './camera';\nimport { aabbOfPose, type Pose3 } from './pose3';\nimport {\n projectAabbToScreen,\n rayThroughScreenPoint,\n type ScreenBox,\n} from './screen';\n\n/** The camera and the pane it draws into; `width`/`height` are the pane's\n * size in the same units as the pointer points. */\nexport interface Viewport3d {\n camera: Camera3d;\n width: number;\n height: number;\n /**\n * Where the pane sits in client coordinates. A 3D host works in one space\n * from the event to the ray — it passes the dispatcher an identity\n * `clientToWorld` — so the deps subtract this rather than the dispatcher.\n */\n originX?: number;\n originY?: number;\n}\n\n/** Read on every dep call, so a dep always sees the current camera and pane. */\nexport type ViewportSource = () => Viewport3d;\n\n/** A 3D scene is core's scene with a `Pose3`. Nothing wraps it. */\nexport type Scene3d<TData, TLayer extends string> = Scene<TData, TLayer, Pose3>;\n/** A node of a `Scene3d`. */\nexport type Node3d<TData, TLayer extends string> = SceneNode<TData, TLayer, Pose3>;\n\n/**\n * The world box a node occupies. The kernel cannot answer this, and the reason\n * is sharper than \"it does not know the mesh\": a sphere's box is the same under\n * every rotation, and no transform of a local box reproduces that — rotate a\n * cube and it widens. Asking for the world box directly is what lets a\n * primitive answer for its own symmetry.\n *\n * Omitted, a node is a unit cube carried by its pose.\n */\nexport type NodeBounds<TData, TLayer extends string> = (\n node: Node3d<TData, TLayer>,\n) => Aabb;\n\n/** What every 3D dep is built from: the scene, the viewport, and optionally\n * each node's world box. */\nexport interface World3d<TData, TLayer extends string> {\n scene: Scene3d<TData, TLayer>;\n viewport: ViewportSource;\n bounds?: NodeBounds<TData, TLayer>;\n /** The axis gestures resolve against. Default `+y`. */\n up?: Vec3;\n}\n\nconst DEFAULT_UP: Vec3 = { x: 0, y: 1, z: 0 };\n\nfunction boundsOfNode<TData, TLayer extends string>(\n world: World3d<TData, TLayer>,\n node: Node3d<TData, TLayer>,\n): Aabb {\n return world.bounds ? world.bounds(node) : aabbOfPose(node.pose);\n}\n\n/** The pane, in the coordinate space the host's points arrive in. The origin\n * defaults to the client origin — a host that fills the window passes none. */\nfunction rectOf(viewport: Viewport3d): ScreenBox {\n return {\n x: viewport.originX ?? 0,\n y: viewport.originY ?? 0,\n width: viewport.width,\n height: viewport.height,\n };\n}\n\nfunction viewProjectionOf(viewport: Viewport3d) {\n return cameraViewProjection(viewport.camera, viewport.width / Math.max(1, viewport.height));\n}\n\nfunction rayAt(viewport: Viewport3d, point: { x: number; y: number }): Ray | null {\n return rayThroughScreenPoint(\n point,\n rectOf(viewport),\n viewProjectionOf(viewport),\n cameraEye(viewport.camera),\n );\n}\n\n/**\n * The plane through `p` that faces the camera.\n *\n * This is the depth choice the kit's reverse contracts need: a screen\n * rectangle names a pose only once something says how far away it is, and the\n * answer is \"as far as it already was\". Nothing resolved on this plane changes\n * depth, and one screen pixel is the same world distance everywhere on it.\n */\nfunction viewPlaneAt(camera: Camera3d, p: Vec3): { normal: Vec3; offset: number } {\n const normal = normalize(sub(camera.target, cameraEye(camera)));\n return { normal, offset: dot(normal, p) };\n}\n\n/** Where a screen point lands on `plane`, or `null` when it casts no ray. */\nfunction onPlane(\n vp: Viewport3d,\n plane: { normal: Vec3; offset: number },\n point: { x: number; y: number },\n): Vec3 | null {\n const ray = rayAt(vp, point);\n if (!ray) return null;\n const t = intersectRayPlane(ray, plane.normal, plane.offset);\n return t === null ? null : pointOnRay(ray, t);\n}\n\n/** The world box containing `points`. */\nfunction aabbOfPoints(points: readonly Vec3[]): Aabb {\n const min = { x: Infinity, y: Infinity, z: Infinity };\n const max = { x: -Infinity, y: -Infinity, z: -Infinity };\n for (const p of points) {\n for (const axis of ['x', 'y', 'z'] as const) {\n if (p[axis] < min[axis]) min[axis] = p[axis];\n if (p[axis] > max[axis]) max[axis] = p[axis];\n }\n }\n return { min, max };\n}\n\nfunction pointOnRay(ray: Ray, t: number): Vec3 {\n return {\n x: ray.origin.x + ray.direction.x * t,\n y: ray.origin.y + ray.direction.y * t,\n z: ray.origin.z + ray.direction.z * t,\n };\n}\n\nfunction overlaps(a: ScreenBox, b: ScreenBox): boolean {\n return (\n a.x < b.x + b.width && a.x + a.width > b.x && a.y < b.y + b.height && a.y + a.height > b.y\n );\n}\n\n/** The screen box a node covers, or null when it projects to nothing visible. */\nexport function screenBoxOf<TData, TLayer extends string>(\n world: World3d<TData, TLayer>,\n id: NodeId,\n viewport: Viewport3d,\n): ScreenBox | null {\n const node = world.scene.get(id) as Node3d<TData, TLayer> | undefined;\n if (!node) return null;\n return projectAabbToScreen(\n boundsOfNode(world, node),\n viewProjectionOf(viewport),\n rectOf(viewport),\n );\n}\n\n/**\n * Nearest node along the ray the screen point names.\n *\n * The kit calls this with what it believes is a world point; a 3D host feeds\n * the dispatcher an identity `clientToWorld`, so it is the pane-relative screen\n * point, which is exactly what a ray needs.\n */\nexport function createNodeAtPoint<TData, TLayer extends string>(\n world: World3d<TData, TLayer>,\n): NodeAtPointDep {\n return (point, exclude) => {\n const excluded = exclude ? new Set(exclude) : null;\n const vp = world.viewport();\n const ray = rayAt(vp, point);\n if (!ray) return null;\n let best: NodeId | null = null;\n let bestT = Infinity;\n for (const node of world.scene.renderOrderNodes() as readonly Node3d<TData, TLayer>[]) {\n if (excluded?.has(node.id)) continue;\n const { min, max } = boundsOfNode(world, node);\n const t = intersectRayAabb(ray, min, max);\n if (t !== null && t < bestT) {\n bestT = t;\n best = node.id;\n }\n }\n return best;\n };\n}\n\n/** Marquee: the nodes whose projected box the screen rectangle touches. */\nexport function createAreaSelect<TData, TLayer extends string>(\n world: World3d<TData, TLayer>,\n selection: { get(): readonly NodeId[]; set(ids: NodeId[]): void },\n): AreaSelectDep {\n return {\n hitTestArea(bounds) {\n const vp = world.viewport();\n const hits: NodeId[] = [];\n for (const node of world.scene.renderOrderNodes()) {\n const box = screenBoxOf(world, node.id, vp);\n if (box && overlaps(box, bounds)) hits.push(node.id);\n }\n return hits;\n },\n getSelection: () => [...selection.get()],\n setSelection: (ids) => selection.set([...ids]),\n };\n}\n\n/** No grid in 3D yet; the identity keeps `insertAction` happy without lying. */\nexport function createSnap(): SnapDep {\n return { point: (p) => p };\n}\n\n/** The ground-plane rectangle a drag swept out, in world units. */\nexport interface Footprint {\n /** Centre of the swept rectangle, on the ground plane. */\n center: Vec3;\n /** Extent along the two axes the up axis is not. */\n width: number;\n depth: number;\n}\n\n/**\n * A drag rectangle becomes a footprint on the ground plane: its four corners\n * are cast onto the plane and the hit points give the extent. What node that\n * implies is the consumer's answer — the kernel does not know what it is\n * inserting.\n *\n * The kit's `InsertDep.commit` hands over a screen-space AABB and nothing else,\n * which turns out to be enough: the depth the 2D contract cannot express comes\n * from the plane, not from the caller.\n */\nexport function createInsert(opts: {\n viewport: ViewportSource;\n up?: Vec3;\n /** Smallest footprint a click-sized drag produces. Default 0.25. */\n minExtent?: number;\n mint(footprint: Footprint, extras: InsertExtras): NodeId | null;\n}): InsertDep {\n const up = opts.up ?? DEFAULT_UP;\n const minExtent = opts.minExtent ?? 0.25;\n // The two axes the up axis is not, so a footprint reads the same whichever\n // way up the world is.\n const axes: readonly ['x' | 'y' | 'z', 'x' | 'y' | 'z'] =\n up.y !== 0 ? ['x', 'z'] : up.x !== 0 ? ['y', 'z'] : ['x', 'y'];\n\n return {\n commit(bounds, extras) {\n const vp = opts.viewport();\n const corners = [\n { x: bounds.x, y: bounds.y },\n { x: bounds.x + bounds.width, y: bounds.y },\n { x: bounds.x, y: bounds.y + bounds.height },\n { x: bounds.x + bounds.width, y: bounds.y + bounds.height },\n ];\n\n const hits: Vec3[] = [];\n for (const corner of corners) {\n const ray = rayAt(vp, corner);\n if (!ray) continue;\n const t = intersectRayPlane(ray, up, 0);\n if (t !== null) hits.push(pointOnRay(ray, t));\n }\n if (hits.length === 0) return null;\n\n const [u, v] = axes;\n let minU = Infinity, maxU = -Infinity, minV = Infinity, maxV = -Infinity;\n for (const h of hits) {\n minU = Math.min(minU, h[u]); maxU = Math.max(maxU, h[u]);\n minV = Math.min(minV, h[v]); maxV = Math.max(maxV, h[v]);\n }\n\n const center = { x: 0, y: 0, z: 0 };\n center[u] = (minU + maxU) / 2;\n center[v] = (minV + maxV) / 2;\n return opts.mint(\n {\n center,\n width: Math.max(minExtent, maxU - minU),\n depth: Math.max(minExtent, maxV - minV),\n },\n extras,\n );\n },\n };\n}\n\n/**\n * `PoseDescriptor` over a 3D pose, with `Bounds` read as the screen box the\n * node covers. Chrome and marquee math work unchanged; the two methods that\n * run the other way cannot.\n *\n * `forNode` is what lets a sphere bound itself as a sphere: every node is a\n * `Pose3`, so the shape lives on `node.data` and nothing but the node can say\n * which one this is. Unspecialized — the kit calling with only a pose in hand —\n * it answers with the default local box, which is the looser of the two.\n *\n * The two methods that run the other way — `remapBounds` and `fromBounds` —\n * take a screen rectangle, which names a pose only once something supplies a\n * depth. Both resolve it against the plane through the pose they were handed,\n * facing the camera, so nothing they produce changes depth. See\n * {@link viewPlaneAt}.\n */\nexport function createPoseDescriptor<TData, TLayer extends string>(\n world: World3d<TData, TLayer>,\n): PoseDescriptor<Pose3, Node3d<TData, TLayer>> {\n const up = world.up ?? DEFAULT_UP;\n const upAxis = up.y !== 0 ? 'y' : up.x !== 0 ? 'x' : 'z';\n const specialized = new WeakMap<object, PoseDescriptor<Pose3, Node3d<TData, TLayer>>>();\n\n // A drag whose camera stops casting rays mid-gesture keeps moving through the\n // last one that did, rather than snapping the node back.\n let lastCastable: Viewport3d | null = null;\n function castableViewport(): Viewport3d | null {\n const vp = world.viewport();\n const rect = rectOf(vp);\n if (rayAt(vp, { x: rect.x + rect.width / 2, y: rect.y + rect.height / 2 })) lastCastable = vp;\n return lastCastable;\n }\n\n function build(worldBox: (pose: Pose3) => Aabb): PoseDescriptor<Pose3, Node3d<TData, TLayer>> {\n const boundsIn = (vp: Viewport3d, pose: Pose3) =>\n projectAabbToScreen(worldBox(pose), viewProjectionOf(vp), rectOf(vp));\n const boundsOf = (pose: Pose3) => boundsIn(world.viewport(), pose);\n\n const descriptor: PoseDescriptor<Pose3, Node3d<TData, TLayer>> = {\n forNode(node) {\n let d = specialized.get(node);\n if (!d) {\n // The pose arriving here is often an in-flight override rather than\n // `node.pose`, so the consumer is asked about that pose on this node\n // rather than about the node as committed.\n d = build((pose) => boundsOfNode(world, { ...node, pose }));\n specialized.set(node, d);\n }\n return d;\n },\n\n getBounds(pose) {\n return boundsOf(pose) ?? { x: 0, y: 0, width: 0, height: 0 };\n },\n\n /**\n * The src→dst screen map, applied at the pose's own depth: the node's\n * screen anchor moves the way the rectangle does, and both ends of that\n * move are read back off the plane through its position, so the world\n * delta is exact rather than a scaled screen one.\n *\n * The scale is uniform. The rectangle names two extents and a pose has\n * three, so there is no reading in which a screen box resizes a solid\n * per-axis; the geometric mean is the one factor that agrees with both\n * of the extents it does name.\n */\n remapBounds(pose, src, dst) {\n const vp = castableViewport();\n if (!vp) return pose;\n const box = boundsIn(vp, pose);\n if (!box) return pose;\n\n const kx = src.width === 0 ? 1 : dst.width / src.width;\n const ky = src.height === 0 ? 1 : dst.height / src.height;\n const from = { x: box.x + box.width / 2, y: box.y + box.height / 2 };\n const to = {\n x: dst.x + (from.x - src.x) * kx,\n y: dst.y + (from.y - src.y) * ky,\n };\n\n const plane = viewPlaneAt(vp.camera, pose.position);\n const before = onPlane(vp, plane, from);\n const after = onPlane(vp, plane, to);\n if (!before || !after) return pose;\n\n const k = Math.sqrt(Math.abs(kx * ky));\n return {\n ...pose,\n position: add(pose.position, sub(after, before)),\n scale: scaleBy(pose.scale, k),\n };\n },\n\n /**\n * The world box the rectangle covers at the template's depth, as a pose.\n *\n * The rectangle is flat and a box is not, so the third extent — the one\n * no screen rectangle names — is the mean of the two it does. The result\n * is world-axis-aligned and unrotated: the pose carries none of the\n * template's shape, which is the contract, and it takes only its depth.\n *\n * Extents are written as `scale`, so this reads a pose as carrying a\n * unit primitive — the same assumption `aabbOfPose` makes by default.\n */\n fromBounds(bounds, template) {\n const vp = castableViewport();\n if (!vp) return template;\n const plane = viewPlaneAt(vp.camera, template.position);\n\n const corners: Vec3[] = [];\n for (const [x, y] of [\n [bounds.x, bounds.y],\n [bounds.x + bounds.width, bounds.y],\n [bounds.x, bounds.y + bounds.height],\n [bounds.x + bounds.width, bounds.y + bounds.height],\n ]) {\n const corner = onPlane(vp, plane, { x, y });\n if (!corner) return template;\n corners.push(corner);\n }\n\n const width = len(sub(corners[1]!, corners[0]!));\n const height = len(sub(corners[2]!, corners[0]!));\n const half = Math.sqrt(width * height) / 2;\n const box = aabbOfPoints(\n corners.flatMap((c) => [\n add(c, scaleBy(plane.normal, half)),\n sub(c, scaleBy(plane.normal, half)),\n ]),\n );\n return {\n position: scaleBy(add(box.min, box.max), 0.5),\n rotation: quatIdentity(),\n scale: sub(box.max, box.min),\n };\n },\n\n /**\n * Screen-space deltas resolve against the plane the node already sits on,\n * so the two numbers the kit passes are enough: the camera that turns\n * them into a world position is the one this dep closed over.\n */\n translate(pose, dx, dy) {\n const vp = castableViewport();\n if (!vp) return pose;\n const box = boundsIn(vp, pose);\n if (!box) return pose;\n const from = { x: box.x + box.width / 2, y: box.y + box.height / 2 };\n const to = { x: from.x + dx, y: from.y + dy };\n const offset = pose.position[upAxis];\n\n const ray = rayAt(vp, to);\n if (!ray) return pose;\n const t = intersectRayPlane(ray, up, offset);\n if (t === null) return pose;\n\n const anchorRay = rayAt(vp, from);\n if (!anchorRay) return pose;\n const anchorT = intersectRayPlane(anchorRay, up, offset);\n if (anchorT === null) return pose;\n\n const delta = sub(pointOnRay(ray, t), pointOnRay(anchorRay, anchorT));\n const position = {\n x: pose.position.x + delta.x,\n y: pose.position.y + delta.y,\n z: pose.position.z + delta.z,\n };\n position[upAxis] = pose.position[upAxis];\n return { ...pose, position };\n },\n\n supportsRotation() {\n return false;\n },\n };\n\n return descriptor;\n }\n\n return build((pose) => aabbOfPose(pose));\n}\n","/**\n * What a host paints for a gesture that proposes chrome rather than a pose.\n *\n * A marquee sweep and a box-drag both publish an `OngoingOverlay`, which used\n * to reach paint only through core's own 2D layer. `resolveOverlays` hands back\n * world geometry with no renderer in it, so the same call `<SceneCanvas>` makes\n * serves a consumer-owned 3D renderer.\n *\n * A 3D host's `clientToWorld` is identity, so an overlay's world bounds are the\n * client rect the deps already work in, and the pane origin comes off exactly\n * once. Only the rectangular variants resolve here: a lasso, a pencil and a run\n * of points are paths, and a path is geometry this cannot flatten to a box.\n */\n\nimport { resolveOverlays, type OngoingHandle } from '@weasel-js/core';\nimport type { ChromeBox } from './screen';\n\n/** Gesture chrome, in CSS pixels relative to the pane's top-left. */\nexport function collectOverlayBoxes(\n handles: Iterable<OngoingHandle>,\n origin: { x: number; y: number },\n): ChromeBox[] {\n const overlays = [];\n for (const handle of handles) {\n const ov = handle.overlay?.();\n if (ov) overlays.push(ov);\n }\n\n const boxes: ChromeBox[] = [];\n for (const resolved of resolveOverlays(overlays)) {\n if (resolved.kind !== 'marquee' && resolved.kind !== 'insertPreview') continue;\n const { x, y, width, height } = resolved.bounds;\n boxes.push({ x: x - origin.x, y: y - origin.y, width, height, tint: 'gesture' });\n }\n return boxes;\n}\n","/**\n * Camera tools and their actions.\n *\n * Shape tools transfer from the kit untouched — a 3D host mounts core's own\n * `useSelectTool` and a rectangle-style insert binding and neither notices the\n * dimension. Only the viewport tools are written here, which is the one\n * exception the kernel doc predicted: `useHandTool` routes to\n * `viewport.dragPan`, and that wants the 2D `view`.\n */\n\nimport { useMemo } from 'react';\nimport { defineTool, type Action, type Tool } from '@weasel-js/core';\nimport { dollyBy, orbitBy, type Camera3d } from './camera';\n\n/** Radians per CSS pixel of drag. A full pane width is a bit over half a turn. */\nconst ORBIT_RATE = 0.006;\nconst DOLLY_RATE = 0.0015;\n\n/** `camera.orbit`: an ongoing drag that turns the `camera3d` dep about its\n * target, relative to the camera as it was when the drag began. */\nexport const orbitAction: Action = {\n id: 'camera.orbit',\n label: 'Orbit',\n requires: ['camera3d'],\n invoker: {\n timing: 'ongoing',\n start(ctx) {\n const dep = ctx.deps.camera3d;\n const origin: Camera3d | undefined = dep?.get();\n return {\n kind: 'orbit',\n onMove(move) {\n if (!dep || !origin) return;\n // `drag.delta` runs from the drag origin, not the previous move, so\n // this composes against the camera as it was when the drag began.\n //\n // The fallback is only sound here because a 3D host's `clientToWorld`\n // is identity (see `overlays.ts`), so the world delta already is the\n // client one. Don't copy this pair to a host with a 2D view — there\n // the two spaces differ by the zoom.\n const delta = move.drag?.screenDelta ?? move.drag?.delta;\n if (!delta) return;\n dep.set(orbitBy(origin, -delta.x * ORBIT_RATE, delta.y * ORBIT_RATE));\n },\n };\n },\n },\n};\n\n/** `camera.dolly`: moves the `camera3d` dep toward or away from its target by\n * the wheel's `deltaY`. Bound to the wheel by default, in every tool. */\nexport const dollyAction: Action = {\n id: 'camera.dolly',\n label: 'Dolly',\n group: 'viewport',\n // Wheel, in any tool — the dispatcher merges the event's deltas into params.\n defaultBinding: [{ spec: { kind: 'wheel' }, opts: {} }],\n requires: ['camera3d'],\n invoker: {\n timing: 'immediate',\n run(deps, params) {\n const dep = deps.camera3d;\n if (!dep) return;\n const amount = typeof params?.deltaY === 'number' ? params.deltaY : 0;\n dep.set(dollyBy(dep.get(), Math.exp(amount * DOLLY_RATE)));\n },\n },\n};\n\n/** A tool that binds drag to `camera.orbit`. Register `orbitAction` alongside\n * it; the tool only declares the binding. */\nexport function useOrbitTool(): Tool<null> {\n return useMemo(() => defineTool<null>({\n id: 'orbit',\n hookName: 'useOrbitTool',\n cursor: 'grab',\n presentation: { label: 'Orbit', group: 'viewport' },\n bindings: [{ spec: { kind: 'drag' }, actionId: 'camera.orbit' }],\n }), []);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weasel-js/kernel3d",
3
- "version": "1.8.1",
3
+ "version": "1.9.1",
4
4
  "description": "3D kernel for weasel: poses, orbit camera, ray picking and screen-projected chrome geometry over core's scene graph and dispatcher. Hosts a renderer rather than owning one.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -37,10 +37,10 @@
37
37
  "build": "tsup"
38
38
  },
39
39
  "dependencies": {
40
- "@weasel-js/geom": "1.8.1"
40
+ "@weasel-js/geom": "1.9.1"
41
41
  },
42
42
  "peerDependencies": {
43
- "@weasel-js/core": "1.8.1"
43
+ "@weasel-js/core": "1.9.1"
44
44
  },
45
45
  "publishConfig": {
46
46
  "access": "public",