lingo3d-react
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
259 lines (258 loc) • 14.5 kB
JavaScript
import { b2 as Zt, b3 as zt, b4 as Q, b5 as q, b6 as Qt, b7 as j, b8 as $, b9 as ee, ba as ne, bb as te, bc as T, bd as qt, be as jt, bf as g, bg as R, bh as $t, bi as e_, bj as n_, bk as re, bl as t_, an as e, bm as __, bn as W, bo as w, bp as r_, bq as o_, br as _e, bs as i_, bt as a_ } from "./index-895cfa2f.mjs";
import "react";
import "react-dom";
const s_ = async () => WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11])), X = /* @__PURE__ */ new WeakMap(), k = /* @__PURE__ */ new WeakMap(), J = /* @__PURE__ */ new WeakSet(), m_ = (m, P) => J.has(m) ? !0 : P ? (J.add(m), setTimeout(() => J.delete(m), 500), !0) : !1;
Zt(() => {
const { pxScene: m, pxControllerFilters: P, pxRaycast: h } = re[0];
if (!m || !Q() || !q())
return;
const B = Qt(() => {
j.clear();
for (const [n, r] of $) {
const { x: a, y: p, z: N } = n.position;
let I = 0;
const L = ee.get(n);
ee.delete(n);
const D = ne.get(n) ?? 0, F = te.get(n) ?? 0;
if (n.gravity !== !1) {
const x = m_(n, L !== void 0) ? !1 : !!h(T(a, p, N), qt(0, -1, 0), n.capsuleHeight, n.actor.ptr);
if (X.set(n, x), x)
I = -n.capsuleHeight, k.set(n, 0), j.add(n), ne.delete(n), te.delete(n);
else {
const C = (L ?? k.get(n) ?? 0) + jt[0] * g[0];
k.set(n, C), I = C * g[0];
}
} else
X.set(n, !1);
if (R.has(n)) {
R.delete(n);
const { x, y: C, z: f } = r.getPosition();
r.move(T(a - x + D, p - C + I, N - f + F), 1e-3, g[0], P);
} else
r.move(T(D, I, F), 1e-3, g[0], P);
}
for (const n of R)
n.actor.setGlobalPose($t(n)), "setLinearVelocity" in n.actor && (n.actor.setLinearVelocity(T(0, 0, 0)), n.actor.setAngularVelocity(T(0, 0, 0)));
R.clear(), m.simulate(g[0]), m.fetchResults(!0);
for (const [n, r] of e_) {
const { p: a, q: p } = r.getGlobalPose();
n.position.copy(a), n.quaternion.copy(p);
}
for (const n of $.keys()) {
const { position: r } = n.outerObject3d, { p: a } = n.actor.getGlobalPose();
r.lerp(a, n_(X.get(n) ? 0.3 : 1)), r.x = a.x, r.z = a.z;
}
});
return () => {
B.cancel();
};
}, [zt, Q, q]);
(async () => {
const m = await s_(), { default: P } = await (m ? import("./physxSimd-d96569df.mjs") : import("./physx-d372fb5a.mjs")), h = await P(), { destroy: B, wrapPointer: n, NativeArrayHelpers: r, Vector_PxVec3: a, Vector_PxReal: p, Vector_PxU32: N, Vector_PxContactPairPoint: I, PxTopLevelFunctions: L, PxDefaultAllocator: D, PxDefaultErrorCallback: F, PxTolerancesScale: x, PxCookingParams: C, PxConvexFlags: f, PxVec3: d, PxSceneDesc: oe, PxShapeFlags: ie, PxTransform: b, PxFilterData: ae, PxBoxGeometry: se, PxCapsuleGeometry: me, PxSphereGeometry: ce, PxPlaneGeometry: Ee, PxConvexMeshDesc: ue, PxConvexMeshGeometry: le, PxRigidActorExt: Pe, PxRigidBodyExt: pe, PxBoundedData: xe, PxTriangleMeshDesc: Ce, PxTriangleMeshGeometry: Ie, PxQuat: Ae, PxCapsuleControllerDesc: Se, PxControllerFilters: Te, PxRaycastBuffer10: ge, PxOverlapBuffer10: Ne, PxJointLimitCone: Le, PxJointAngularLimitPair: De, PxJointLinearLimit: Fe, PxJointLinearLimitPair: de, PxShapeExt: Me, PxD6Drive: Oe, PxD6JointDrive: ye, PxSimulationEventCallbackImpl: Re, PxUserControllerHitReportImpl: he, PxMeshPreprocessingFlags: Be, PxContactPair: fe, PxContactPairHeader: be, PxControllerShapeHit: Ue, PxQueryFilterData: c_, _emscripten_enum_PxMeshPreprocessingFlagEnum_eDISABLE_CLEAN_MESH: Ge, _emscripten_enum_PxMeshPreprocessingFlagEnum_eDISABLE_ACTIVE_EDGES_PRECOMPUTE: Ve, _emscripten_enum_PxMeshCookingHintEnum_eCOOKING_PERFORMANCE: E_, _emscripten_enum_PxConvexFlagEnum_eCOMPUTE_CONVEX: ve, _emscripten_enum_PxConvexFlagEnum_eDISABLE_MESH_VALIDATION: He, _emscripten_enum_PxConvexFlagEnum_eFAST_INERTIA_COMPUTATION: We, _emscripten_enum_PxShapeFlagEnum_eSCENE_QUERY_SHAPE: we, _emscripten_enum_PxShapeFlagEnum_eSIMULATION_SHAPE: Xe, _emscripten_enum_PxIDENTITYEnum_PxIdentity: ke, _emscripten_enum_PxCapsuleClimbingModeEnum_eEASY: Je, _emscripten_enum_PxCapsuleClimbingModeEnum_eCONSTRAINED: Ye, _emscripten_enum_PxControllerBehaviorFlagEnum_eCCT_CAN_RIDE_ON_OBJECT: Ke, _emscripten_enum_PxControllerBehaviorFlagEnum_eCCT_SLIDE: Ze, _emscripten_enum_PxControllerBehaviorFlagEnum_eCCT_USER_DEFINED_RIDE: ze, _emscripten_enum_PxControllerCollisionFlagEnum_eCOLLISION_SIDES: Qe, _emscripten_enum_PxControllerCollisionFlagEnum_eCOLLISION_UP: qe, _emscripten_enum_PxControllerCollisionFlagEnum_eCOLLISION_DOWN: je, _emscripten_enum_PxControllerNonWalkableModeEnum_ePREVENT_CLIMBING: $e, _emscripten_enum_PxControllerNonWalkableModeEnum_ePREVENT_CLIMBING_AND_FORCE_SLIDING: en, _emscripten_enum_PxControllerShapeTypeEnum_eBOX: nn, _emscripten_enum_PxControllerShapeTypeEnum_eCAPSULE: tn, _emscripten_enum_PxForceModeEnum_eFORCE: _n, _emscripten_enum_PxForceModeEnum_eIMPULSE: rn, _emscripten_enum_PxForceModeEnum_eVELOCITY_CHANGE: on, _emscripten_enum_PxForceModeEnum_eACCELERATION: an, _emscripten_enum_PxActorFlagEnum_eVISUALIZATION: sn, _emscripten_enum_PxActorFlagEnum_eDISABLE_GRAVITY: mn, _emscripten_enum_PxActorFlagEnum_eSEND_SLEEP_NOTIFIES: cn, _emscripten_enum_PxActorFlagEnum_eDISABLE_SIMULATION: En, _emscripten_enum_PxPairFlagEnum_eNOTIFY_TOUCH_FOUND: un, _emscripten_enum_PxPairFlagEnum_eNOTIFY_TOUCH_LOST: ln, _emscripten_enum_PxPairFlagEnum_eNOTIFY_CONTACT_POINTS: u_, _emscripten_enum_PxPairFilteringModeEnum_eKEEP: l_, _emscripten_enum_PxPairFilteringModeEnum_eKILL: P_, _emscripten_enum_PxPairFilteringModeEnum_eDEFAULT: p_, _emscripten_enum_PxPairFilteringModeEnum_eSUPPRESS: x_, _emscripten_enum_PxArticulationFlagEnum_eFIX_BASE: C_, _emscripten_enum_PxArticulationFlagEnum_eDRIVE_LIMITS_ARE_FORCES: I_, _emscripten_enum_PxArticulationFlagEnum_eDISABLE_SELF_COLLISION: A_, _emscripten_enum_PxArticulationFlagEnum_eCOMPUTE_JOINT_FORCES: S_, _emscripten_enum_PxArticulationJointTypeEnum_ePRISMATIC: Pn, _emscripten_enum_PxArticulationJointTypeEnum_eREVOLUTE: pn, _emscripten_enum_PxArticulationJointTypeEnum_eSPHERICAL: xn, _emscripten_enum_PxArticulationJointTypeEnum_eFIX: Cn, _emscripten_enum_PxArticulationJointTypeEnum_eUNDEFINED: In, _emscripten_enum_PxArticulationAxisEnum_eTWIST: An, _emscripten_enum_PxArticulationAxisEnum_eSWING1: Sn, _emscripten_enum_PxArticulationAxisEnum_eSWING2: Tn, _emscripten_enum_PxArticulationAxisEnum_eX: gn, _emscripten_enum_PxArticulationAxisEnum_eY: Nn, _emscripten_enum_PxArticulationAxisEnum_eZ: Ln, _emscripten_enum_PxArticulationAxisEnum_eCOUNT: Dn, _emscripten_enum_PxArticulationMotionEnum_eLOCKED: Fn, _emscripten_enum_PxArticulationMotionEnum_eLIMITED: dn, _emscripten_enum_PxArticulationMotionEnum_eFREE: Mn, _emscripten_enum_PxRigidBodyFlagEnum_eKINEMATIC: On, _emscripten_enum_PxRigidBodyFlagEnum_eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES: yn, _emscripten_enum_PxRigidBodyFlagEnum_eENABLE_CCD: Rn, _emscripten_enum_PxRigidBodyFlagEnum_eENABLE_CCD_FRICTION: hn, _emscripten_enum_PxRigidBodyFlagEnum_eENABLE_POSE_INTEGRATION_PREVIEW: Bn, _emscripten_enum_PxRigidBodyFlagEnum_eENABLE_SPECULATIVE_CCD: fn, _emscripten_enum_PxRigidBodyFlagEnum_eENABLE_CCD_MAX_CONTACT_IMPULSE: bn, _emscripten_enum_PxRigidBodyFlagEnum_eRETAIN_ACCELERATIONS: Un, _emscripten_enum_PxSphericalJointFlagEnum_eLIMIT_ENABLED: Gn, _emscripten_enum_PxPrismaticJointFlagEnum_eLIMIT_ENABLED: Vn, _emscripten_enum_PxRevoluteJointFlagEnum_eLIMIT_ENABLED: vn, _emscripten_enum_PxRevoluteJointFlagEnum_eDRIVE_ENABLED: Hn, _emscripten_enum_PxArticulationCacheFlagEnum_eALL: Wn, _emscripten_enum_PxArticulationCacheFlagEnum_ePOSITION: wn, _emscripten_enum_PxGeometryTypeEnum_eBOX: Xn, _emscripten_enum_PxGeometryTypeEnum_eSPHERE: kn, _emscripten_enum_PxGeometryTypeEnum_eCAPSULE: Jn, _emscripten_enum_PxGeometryTypeEnum_eCONVEXMESH: Yn, _emscripten_enum_PxD6AxisEnum_eX: Kn, _emscripten_enum_PxD6AxisEnum_eY: Zn, _emscripten_enum_PxD6AxisEnum_eZ: zn, _emscripten_enum_PxD6AxisEnum_eTWIST: Qn, _emscripten_enum_PxD6AxisEnum_eSWING1: qn, _emscripten_enum_PxD6AxisEnum_eSWING2: jn, _emscripten_enum_PxD6AxisEnum_eCOUNT: $n, _emscripten_enum_PxD6MotionEnum_eLOCKED: et, _emscripten_enum_PxD6MotionEnum_eLIMITED: nt, _emscripten_enum_PxD6MotionEnum_eFREE: tt, _emscripten_enum_PxD6DriveEnum_eX: _t, _emscripten_enum_PxD6DriveEnum_eY: rt, _emscripten_enum_PxD6DriveEnum_eZ: ot, _emscripten_enum_PxD6DriveEnum_eSWING: it, _emscripten_enum_PxD6DriveEnum_eTWIST: at, _emscripten_enum_PxD6DriveEnum_eSLERP: st, _emscripten_enum_PxQueryFlagEnum_eDYNAMIC: T_, _emscripten_enum_PxQueryFlagEnum_eSTATIC: g_ } = h;
t_[0] = B;
const c = L.prototype, U = c.PHYSICS_VERSION, mt = new D(), ct = new F(), Y = c.CreateFoundation(U, mt, ct), G = new x(), A = c.CreatePhysics(U, Y, G);
c.InitExtensions(A);
const Et = e(() => {
const t = new C(G);
return t.suppressTriangleMeshRemapTable = !0, t.meshPreprocessParams = new Be(Ge() | Ve()), c.CreateCooking(U, Y, t);
}), ut = e(() => new f(ve() | He() | We())), lt = e(() => A.getPhysicsInsertionCallback()), V = new he();
V.onShapeHit = (t) => {
const s = n(t, Ue), o = __.get(s.controller), i = W.get(s.actor.ptr);
if (!o || !i)
return;
const _ = w(r_, o, Set);
_.add(i), o_(_);
}, V.onControllerHit = (t) => {
};
const K = new Re();
K.onContact = (t, s) => {
const o = n(s, fe), i = n(t, be), _ = W.get(i.get_actors(0).ptr), E = W.get(i.get_actors(1).ptr);
if (!_ || !E)
return;
const u = w(_e, _, WeakSet), l = w(_e, E, WeakSet), z = r.prototype.getContactPairAt(o, 0).events;
z.isSet(un()) ? (u.add(E), l.add(_)) : z.isSet(ln()) && (u.delete(E), l.delete(_));
};
const Pt = new d(0, 0, 0), pt = new d(0, 0, 0), xt = new d(0, 0, 0), M = new oe(G);
M.set_cpuDispatcher(c.DefaultCpuDispatcherCreate(0)), M.set_filterShader(c.ContactReportFilterShader()), M.set_simulationEventCallback(K);
const O = A.createScene(M), Z = new d(0, 0, 0);
i_((t) => {
Z.set_y(t), O.setGravity(Z);
});
const Ct = A.createMaterial(0.5, 0.5, 0.5), It = new ie(we() | Xe()), v = ke(), At = new b(v), St = new b(v), Tt = new b(v), gt = new ae(1, 1, 0, 0), Nt = new Ae(0, 0, 0, 1), H = new ge(), Lt = (t, s, o, i) => {
if (!O.raycast(t, s, o, H))
return;
let _ = 1 / 0, E;
const u = H.getNbAnyHits();
for (let l = 0; l < u; ++l) {
const S = H.getAnyHit(l);
S.actor.ptr === i || S.distance > _ || (_ = S.distance, E = S);
}
return E;
};
new Ne();
const Dt = e(() => c.CreateControllerManager(O)), Ft = new Te(), y = {
eBOX: e(Xn),
eSPHERE: e(kn),
eCAPSULE: e(Jn),
eCONVEXMESH: e(Yn)
}, dt = (t) => t == y.eBOX() || t == y.eSPHERE() || t == y.eCAPSULE() || t == y.eCONVEXMESH(), Mt = (t, s, o, i) => {
const _ = t.createRigidDynamic(s);
return _ && (_.attachShape(o), _.setMass(i)), _;
}, Ot = (t, s, o, i, _, E) => {
if (!dt(o.getType()) || _ <= 0)
return null;
const u = t.createShape(o, i, !0);
if (!u)
return null;
u.setLocalPose(E);
const l = Mt(t, s, u, _);
return u.release(), l;
}, yt = {
eEASY: e(Je),
eCONSTRAINED: e(Ye)
}, Rt = {
eCCT_CAN_RIDE_ON_OBJECT: e(Ke),
eCCT_SLIDE: e(Ze),
eCCT_USER_DEFINED_RIDE: e(ze)
}, ht = {
eCOLLISION_SIDES: e(Qe),
eCOLLISION_UP: e(qe),
eCOLLISION_DOWN: e(je)
}, Bt = {
ePREVENT_CLIMBING: e($e),
ePREVENT_CLIMBING_AND_FORCE_SLIDING: e(en)
}, ft = {
eBOX: e(nn),
eCAPSULE: e(tn)
}, bt = {
eFORCE: e(_n),
eIMPULSE: e(rn),
eVELOCITY_CHANGE: e(on),
eACCELERATION: e(an)
}, Ut = {
eDISABLE_GRAVITY: e(mn),
eSEND_SLEEP_NOTIFIES: e(cn),
eDISABLE_SIMULATION: e(En),
eVISUALIZATION: e(sn)
}, Gt = {
ePRISMATIC: e(Pn),
eREVOLUTE: e(pn),
eSPHERICAL: e(xn),
eFIX: e(Cn),
eUNDEFINED: e(In)
}, Vt = {
eTWIST: e(An),
eSWING1: e(Sn),
eSWING2: e(Tn),
eX: e(gn),
eY: e(Nn),
eZ: e(Ln),
eCOUNT: e(Dn)
}, vt = {
eLOCKED: e(Fn),
eLIMITED: e(dn),
eFREE: e(Mn)
}, Ht = {
eKINEMATIC: e(On),
eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES: e(yn),
eENABLE_CCD: e(Rn),
eENABLE_CCD_FRICTION: e(hn),
eENABLE_POSE_INTEGRATION_PREVIEW: e(Bn),
eENABLE_SPECULATIVE_CCD: e(fn),
eENABLE_CCD_MAX_CONTACT_IMPULSE: e(bn),
eRETAIN_ACCELERATIONS: e(Un)
}, Wt = {
eLIMIT_ENABLED: e(Gn)
}, wt = {
eLIMIT_ENABLED: e(Vn)
}, Xt = {
eLIMIT_ENABLED: e(vn),
eDRIVE_ENABLED: e(Hn)
}, kt = {
eALL: e(Wn),
ePOSITION: e(wn)
}, Jt = {
eX: e(Kn),
eY: e(Zn),
eZ: e(zn),
eSWING1: e(qn),
eSWING2: e(jn),
eTWIST: e(Qn),
eCOUNT: e($n)
}, Yt = {
eLOCKED: e(et),
eLIMITED: e(nt),
eFREE: e(tt)
}, Kt = {
eX: e(_t),
eY: e(rt),
eZ: e(ot),
eSWING: e(it),
eTWIST: e(at),
eSLERP: e(st)
};
re[0] = {
controllerHitCallback: V,
NativeArrayHelpers: r,
physics: A,
material: Ct,
shapeFlags: It,
pxRaycast: Lt,
pxQuat: Nt,
pxVec: Pt,
pxVec_: pt,
pxVec__: xt,
pxTransform: At,
pxTransform_: St,
pxTransform__: Tt,
pxFilterData: gt,
pxControllerFilters: Ft,
pxScene: O,
getCooking: Et,
getConvexFlags: ut,
getInsertionCallback: lt,
getPxControllerManager: Dt,
Vector_PxVec3: a,
Vector_PxReal: p,
Vector_PxU32: N,
Px: c,
PxBoxGeometry: se,
PxCapsuleGeometry: me,
PxSphereGeometry: ce,
PxPlaneGeometry: Ee,
PxConvexMeshDesc: ue,
PxConvexMeshGeometry: le,
PxRigidActorExt: Pe,
PxRigidBodyExt: pe,
PxBoundedData: xe,
PxTriangleMeshDesc: Ce,
PxTriangleMeshGeometry: Ie,
PxCapsuleControllerDesc: Se,
PxJointLimitCone: Le,
PxJointAngularLimitPair: De,
PxJointLinearLimit: Fe,
PxJointLinearLimitPair: de,
PxShapeExt: Me,
PxD6Drive: Oe,
PxD6JointDrive: ye,
PxCreateDynamic: Ot,
PxCapsuleClimbingModeEnum: yt,
PxControllerBehaviorFlagEnum: Rt,
PxControllerCollisionFlagEnum: ht,
PxControllerNonWalkableModeEnum: Bt,
PxControllerShapeTypeEnum: ft,
PxForceModeEnum: bt,
PxActorFlagEnum: Ut,
PxArticulationJointTypeEnum: Gt,
PxArticulationAxisEnum: Vt,
PxArticulationMotionEnum: vt,
PxRigidBodyFlagEnum: Ht,
PxSphericalJointFlagEnum: Wt,
PxPrismaticJointFlagEnum: wt,
PxRevoluteJointFlagEnum: Xt,
PxArticulationCacheFlagEnum: kt,
PxD6AxisEnum: Jt,
PxD6MotionEnum: Yt,
PxD6DriveEnum: Kt
}, a_(!0);
})();