@konitif/viewer-3d 0.284.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.
Files changed (175) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +34 -0
  3. package/dist/balanceFootprintDefinition.d.ts +7 -0
  4. package/dist/balanceFootprintDefinition.d.ts.map +1 -0
  5. package/dist/balanceFootprintDefinition.js +2 -0
  6. package/dist/balanceFootprintDefinition.js.map +1 -0
  7. package/dist/diagnosticContactDefinition.d.ts +7 -0
  8. package/dist/diagnosticContactDefinition.d.ts.map +1 -0
  9. package/dist/diagnosticContactDefinition.js +2 -0
  10. package/dist/diagnosticContactDefinition.js.map +1 -0
  11. package/dist/handTipDefinition.d.ts +13 -0
  12. package/dist/handTipDefinition.d.ts.map +1 -0
  13. package/dist/handTipDefinition.js +2 -0
  14. package/dist/handTipDefinition.js.map +1 -0
  15. package/dist/index.d.ts +41 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +19 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/jointHandleDefinition.d.ts +23 -0
  20. package/dist/jointHandleDefinition.d.ts.map +1 -0
  21. package/dist/jointHandleDefinition.js +2 -0
  22. package/dist/jointHandleDefinition.js.map +1 -0
  23. package/dist/ledPlacementDefinition.d.ts +38 -0
  24. package/dist/ledPlacementDefinition.d.ts.map +1 -0
  25. package/dist/ledPlacementDefinition.js +2 -0
  26. package/dist/ledPlacementDefinition.js.map +1 -0
  27. package/dist/ledReferenceFrame.d.ts +26 -0
  28. package/dist/ledReferenceFrame.d.ts.map +1 -0
  29. package/dist/ledReferenceFrame.js +2 -0
  30. package/dist/ledReferenceFrame.js.map +1 -0
  31. package/dist/ledRingCalibration.d.ts +22 -0
  32. package/dist/ledRingCalibration.d.ts.map +1 -0
  33. package/dist/ledRingCalibration.js +2 -0
  34. package/dist/ledRingCalibration.js.map +1 -0
  35. package/dist/renderer/AnimationLoop.d.ts +18 -0
  36. package/dist/renderer/AnimationLoop.d.ts.map +1 -0
  37. package/dist/renderer/AnimationLoop.js +39 -0
  38. package/dist/renderer/AnimationLoop.js.map +1 -0
  39. package/dist/renderer/CameraController.d.ts +154 -0
  40. package/dist/renderer/CameraController.d.ts.map +1 -0
  41. package/dist/renderer/CameraController.js +469 -0
  42. package/dist/renderer/CameraController.js.map +1 -0
  43. package/dist/renderer/NavigationPhysicsObservation.d.ts +25 -0
  44. package/dist/renderer/NavigationPhysicsObservation.d.ts.map +1 -0
  45. package/dist/renderer/NavigationPhysicsObservation.js +81 -0
  46. package/dist/renderer/NavigationPhysicsObservation.js.map +1 -0
  47. package/dist/renderer/ObservedRobotGroundingProjection.d.ts +206 -0
  48. package/dist/renderer/ObservedRobotGroundingProjection.d.ts.map +1 -0
  49. package/dist/renderer/ObservedRobotGroundingProjection.js +522 -0
  50. package/dist/renderer/ObservedRobotGroundingProjection.js.map +1 -0
  51. package/dist/renderer/ObservedRobotPresentationBuffer.d.ts +71 -0
  52. package/dist/renderer/ObservedRobotPresentationBuffer.d.ts.map +1 -0
  53. package/dist/renderer/ObservedRobotPresentationBuffer.js +226 -0
  54. package/dist/renderer/ObservedRobotPresentationBuffer.js.map +1 -0
  55. package/dist/renderer/PerformanceMonitor.d.ts +38 -0
  56. package/dist/renderer/PerformanceMonitor.d.ts.map +1 -0
  57. package/dist/renderer/PerformanceMonitor.js +84 -0
  58. package/dist/renderer/PerformanceMonitor.js.map +1 -0
  59. package/dist/renderer/ProjectileInteraction.d.ts +57 -0
  60. package/dist/renderer/ProjectileInteraction.d.ts.map +1 -0
  61. package/dist/renderer/ProjectileInteraction.js +152 -0
  62. package/dist/renderer/ProjectileInteraction.js.map +1 -0
  63. package/dist/renderer/RobotComparisonVisibilityTransition.d.ts +12 -0
  64. package/dist/renderer/RobotComparisonVisibilityTransition.d.ts.map +1 -0
  65. package/dist/renderer/RobotComparisonVisibilityTransition.js +23 -0
  66. package/dist/renderer/RobotComparisonVisibilityTransition.js.map +1 -0
  67. package/dist/renderer/RobotPoseTransition.d.ts +34 -0
  68. package/dist/renderer/RobotPoseTransition.d.ts.map +1 -0
  69. package/dist/renderer/RobotPoseTransition.js +66 -0
  70. package/dist/renderer/RobotPoseTransition.js.map +1 -0
  71. package/dist/renderer/RobotPostureCompensation.d.ts +31 -0
  72. package/dist/renderer/RobotPostureCompensation.d.ts.map +1 -0
  73. package/dist/renderer/RobotPostureCompensation.js +60 -0
  74. package/dist/renderer/RobotPostureCompensation.js.map +1 -0
  75. package/dist/renderer/SelectionController.d.ts +24 -0
  76. package/dist/renderer/SelectionController.d.ts.map +1 -0
  77. package/dist/renderer/SelectionController.js +68 -0
  78. package/dist/renderer/SelectionController.js.map +1 -0
  79. package/dist/renderer/TemporalProjectionModel.d.ts +71 -0
  80. package/dist/renderer/TemporalProjectionModel.d.ts.map +1 -0
  81. package/dist/renderer/TemporalProjectionModel.js +363 -0
  82. package/dist/renderer/TemporalProjectionModel.js.map +1 -0
  83. package/dist/renderer/Viewer3DRenderer.d.ts +1137 -0
  84. package/dist/renderer/Viewer3DRenderer.d.ts.map +1 -0
  85. package/dist/renderer/Viewer3DRenderer.js +10655 -0
  86. package/dist/renderer/Viewer3DRenderer.js.map +1 -0
  87. package/dist/renderer/ViewerExperimentCollector.d.ts +27 -0
  88. package/dist/renderer/ViewerExperimentCollector.d.ts.map +1 -0
  89. package/dist/renderer/ViewerExperimentCollector.js +2 -0
  90. package/dist/renderer/ViewerExperimentCollector.js.map +1 -0
  91. package/dist/renderer/ViewerExperimentPort.d.ts +19 -0
  92. package/dist/renderer/ViewerExperimentPort.d.ts.map +1 -0
  93. package/dist/renderer/ViewerExperimentPort.js +2 -0
  94. package/dist/renderer/ViewerExperimentPort.js.map +1 -0
  95. package/dist/renderer/ViewerFrameSignals.d.ts +13 -0
  96. package/dist/renderer/ViewerFrameSignals.d.ts.map +1 -0
  97. package/dist/renderer/ViewerFrameSignals.js +73 -0
  98. package/dist/renderer/ViewerFrameSignals.js.map +1 -0
  99. package/dist/renderer/ViewerHistoryData.d.ts +59 -0
  100. package/dist/renderer/ViewerHistoryData.d.ts.map +1 -0
  101. package/dist/renderer/ViewerHistoryData.js +2 -0
  102. package/dist/renderer/ViewerHistoryData.js.map +1 -0
  103. package/dist/renderer/ViewerHistoryPort.d.ts +15 -0
  104. package/dist/renderer/ViewerHistoryPort.d.ts.map +1 -0
  105. package/dist/renderer/ViewerHistoryPort.js +2 -0
  106. package/dist/renderer/ViewerHistoryPort.js.map +1 -0
  107. package/dist/renderer/ViewerIncarnationHealth.d.ts +14 -0
  108. package/dist/renderer/ViewerIncarnationHealth.d.ts.map +1 -0
  109. package/dist/renderer/ViewerIncarnationHealth.js +13 -0
  110. package/dist/renderer/ViewerIncarnationHealth.js.map +1 -0
  111. package/dist/renderer/ViewerInputBindings.d.ts +19 -0
  112. package/dist/renderer/ViewerInputBindings.d.ts.map +1 -0
  113. package/dist/renderer/ViewerInputBindings.js +44 -0
  114. package/dist/renderer/ViewerInputBindings.js.map +1 -0
  115. package/dist/renderer/ViewerMetadata.d.ts +11 -0
  116. package/dist/renderer/ViewerMetadata.d.ts.map +1 -0
  117. package/dist/renderer/ViewerMetadata.js +8 -0
  118. package/dist/renderer/ViewerMetadata.js.map +1 -0
  119. package/dist/renderer/ViewerPlaybackCompletionPolicy.d.ts +29 -0
  120. package/dist/renderer/ViewerPlaybackCompletionPolicy.d.ts.map +1 -0
  121. package/dist/renderer/ViewerPlaybackCompletionPolicy.js +27 -0
  122. package/dist/renderer/ViewerPlaybackCompletionPolicy.js.map +1 -0
  123. package/dist/renderer/ViewerProjectileParticleRenderer.d.ts +21 -0
  124. package/dist/renderer/ViewerProjectileParticleRenderer.d.ts.map +1 -0
  125. package/dist/renderer/ViewerProjectileParticleRenderer.js +134 -0
  126. package/dist/renderer/ViewerProjectileParticleRenderer.js.map +1 -0
  127. package/dist/renderer/ViewerResizePresentation.d.ts +16 -0
  128. package/dist/renderer/ViewerResizePresentation.d.ts.map +1 -0
  129. package/dist/renderer/ViewerResizePresentation.js +12 -0
  130. package/dist/renderer/ViewerResizePresentation.js.map +1 -0
  131. package/dist/renderer/ViewerTemporalProjectionExperimentAdapter.d.ts +34 -0
  132. package/dist/renderer/ViewerTemporalProjectionExperimentAdapter.d.ts.map +1 -0
  133. package/dist/renderer/ViewerTemporalProjectionExperimentAdapter.js +130 -0
  134. package/dist/renderer/ViewerTemporalProjectionExperimentAdapter.js.map +1 -0
  135. package/dist/renderer/ViewerTemporalScheduler.d.ts +6 -0
  136. package/dist/renderer/ViewerTemporalScheduler.d.ts.map +1 -0
  137. package/dist/renderer/ViewerTemporalScheduler.js +12 -0
  138. package/dist/renderer/ViewerTemporalScheduler.js.map +1 -0
  139. package/dist/renderer/VisualGroundLayer.d.ts +110 -0
  140. package/dist/renderer/VisualGroundLayer.d.ts.map +1 -0
  141. package/dist/renderer/VisualGroundLayer.js +576 -0
  142. package/dist/renderer/VisualGroundLayer.js.map +1 -0
  143. package/dist/renderer/displayFrameRate.d.ts +5 -0
  144. package/dist/renderer/displayFrameRate.d.ts.map +1 -0
  145. package/dist/renderer/displayFrameRate.js +23 -0
  146. package/dist/renderer/displayFrameRate.js.map +1 -0
  147. package/dist/renderer/index.d.ts +20 -0
  148. package/dist/renderer/index.d.ts.map +1 -0
  149. package/dist/renderer/index.js +18 -0
  150. package/dist/renderer/index.js.map +1 -0
  151. package/dist/renderer/physics/ViewerJointResolution.d.ts +19 -0
  152. package/dist/renderer/physics/ViewerJointResolution.d.ts.map +1 -0
  153. package/dist/renderer/physics/ViewerJointResolution.js +24 -0
  154. package/dist/renderer/physics/ViewerJointResolution.js.map +1 -0
  155. package/dist/renderer/physics/ViewerPhysicsFrame.d.ts +9 -0
  156. package/dist/renderer/physics/ViewerPhysicsFrame.d.ts.map +1 -0
  157. package/dist/renderer/physics/ViewerPhysicsFrame.js +26 -0
  158. package/dist/renderer/physics/ViewerPhysicsFrame.js.map +1 -0
  159. package/dist/renderer/physics/ViewerPhysicsJointMapping.d.ts +11 -0
  160. package/dist/renderer/physics/ViewerPhysicsJointMapping.d.ts.map +1 -0
  161. package/dist/renderer/physics/ViewerPhysicsJointMapping.js +20 -0
  162. package/dist/renderer/physics/ViewerPhysicsJointMapping.js.map +1 -0
  163. package/dist/renderer/physics/ViewerPhysicsMetadata.d.ts +20 -0
  164. package/dist/renderer/physics/ViewerPhysicsMetadata.d.ts.map +1 -0
  165. package/dist/renderer/physics/ViewerPhysicsMetadata.js +49 -0
  166. package/dist/renderer/physics/ViewerPhysicsMetadata.js.map +1 -0
  167. package/dist/renderer/robotViewerMotion.d.ts +49 -0
  168. package/dist/renderer/robotViewerMotion.d.ts.map +1 -0
  169. package/dist/renderer/robotViewerMotion.js +253 -0
  170. package/dist/renderer/robotViewerMotion.js.map +1 -0
  171. package/dist/supportDefinition.d.ts +11 -0
  172. package/dist/supportDefinition.d.ts.map +1 -0
  173. package/dist/supportDefinition.js +2 -0
  174. package/dist/supportDefinition.js.map +1 -0
  175. package/package.json +52 -0
@@ -0,0 +1,206 @@
1
+ export type ObservedRobotGroundingSource = 'foot-contact-anchors' | 'foot-geometry' | 'collision-guided-render-envelope' | 'collision-envelope' | 'robot-bounds' | 'unavailable';
2
+ export type ObservedRobotGroundingContactMode = 'support-plane-static-friction' | 'collision-envelope-static-contact' | 'unconstrained';
3
+ export interface ObservedRobotGroundingProjection {
4
+ status: 'disabled' | 'unavailable' | 'grounded';
5
+ source: ObservedRobotGroundingSource;
6
+ floorY: number;
7
+ supportMinimumY: number | null;
8
+ supportContactCount: number;
9
+ offsetY: number;
10
+ inferred: boolean;
11
+ contactMode: ObservedRobotGroundingContactMode;
12
+ affectedRootAxes: readonly ['y'] | readonly [];
13
+ physicsAffected: false;
14
+ }
15
+ export interface ObservedRobotSupportPoint {
16
+ x: number;
17
+ y: number;
18
+ z: number;
19
+ }
20
+ export interface ObservedRobotSupportInclinationProjection {
21
+ status: 'unavailable' | 'aligned' | 'corrected';
22
+ supportContactCount: number;
23
+ supportNormal: ObservedRobotSupportPoint | null;
24
+ correctionQuaternion: {
25
+ x: number;
26
+ y: number;
27
+ z: number;
28
+ w: number;
29
+ };
30
+ correctionAngleRadians: number;
31
+ correctionClamped: boolean;
32
+ affectedRootAxes: readonly ['roll', 'pitch'] | readonly [];
33
+ constraintModel: 'quasi-static-rigid-contact' | 'unconstrained';
34
+ physicsAffected: false;
35
+ }
36
+ export interface ObservedRobotSupportAnchorProjection {
37
+ status: 'unavailable' | 'preserved' | 'clamped';
38
+ supportContactCount: number;
39
+ offsetX: number;
40
+ offsetZ: number;
41
+ requestedOffsetMeters: number;
42
+ appliedOffsetMeters: number;
43
+ affectedRootAxes: readonly ['x', 'z'] | readonly [];
44
+ constraintModel: 'support-centroid-static-friction' | 'unconstrained';
45
+ physicsAffected: false;
46
+ }
47
+ export interface ObservedRobotActiveSupportProjection {
48
+ status: 'unavailable' | 'resolved';
49
+ supportPoints: readonly ObservedRobotSupportPoint[];
50
+ activeIndices: readonly number[];
51
+ activeContactIds: readonly string[];
52
+ sourceContactCount: number;
53
+ activeContactCount: number;
54
+ supportMinimumY: number | null;
55
+ contactBandMeters: number;
56
+ releaseContactBandMeters: number;
57
+ }
58
+ export interface ObservedRobotTemporalSupportAnchorState {
59
+ anchorX: number;
60
+ anchorZ: number;
61
+ supportSignature: string;
62
+ supportContactCount: number;
63
+ activeContactIds: readonly string[];
64
+ }
65
+ export interface ObservedRobotTemporalSupportAnchorProjection {
66
+ status: 'unavailable' | 'acquired' | 'preserved' | 'reacquired';
67
+ state: ObservedRobotTemporalSupportAnchorState | null;
68
+ supportContactCount: number;
69
+ offsetX: number;
70
+ offsetZ: number;
71
+ requestedOffsetMeters: number;
72
+ affectedRootAxes: readonly ['x', 'z'] | readonly [];
73
+ constraintModel: 'temporal-support-static-friction' | 'unconstrained';
74
+ physicsAffected: false;
75
+ }
76
+ export interface ObservedRobotSupportSurface {
77
+ supportMinimumY: number | null;
78
+ supportContactCount: number;
79
+ source: Exclude<ObservedRobotGroundingSource, 'unavailable'>;
80
+ }
81
+ export interface ObservedRobotFootSupportEligibility {
82
+ eligible: boolean;
83
+ footGeometryMinimumY: number | null;
84
+ bodyEnvelopeMinimumY: number | null;
85
+ separationMeters: number | null;
86
+ }
87
+ /**
88
+ * Selects only sole anchors that belong to the lowest contact band.
89
+ *
90
+ * The robot model exposes eight semantic FSR frames, but their presence does
91
+ * not mean both feet currently support the body. Feeding a lifted foot into
92
+ * the support plane makes its animated centroid a hidden root controller.
93
+ * This projection keeps the lowest, physically plausible contact subset,
94
+ * preserves its stable identities, and uses a wider release band for the
95
+ * previous support. That hysteresis prevents millimetric telemetry noise from
96
+ * repeatedly releasing and reacquiring the static-friction anchor.
97
+ */
98
+ export declare function resolveObservedRobotActiveSupportProjection(input: {
99
+ supportPoints: readonly ObservedRobotSupportPoint[];
100
+ contactIds?: readonly string[];
101
+ supportGroupIds?: readonly string[];
102
+ previousActiveContactIds?: readonly string[];
103
+ contactBandMeters?: number;
104
+ releaseContactBandMeters?: number;
105
+ }): ObservedRobotActiveSupportProjection;
106
+ /**
107
+ * Keeps a stable support footprint across consecutive observed joint frames.
108
+ *
109
+ * Joint telemetry contains no authoritative world-space root translation.
110
+ * Once a valid foot-support subset is acquired, small centroid changes are
111
+ * therefore presentation artefacts caused by the articulated model and are
112
+ * cancelled as static friction. A changed contact subset or a discontinuity
113
+ * beyond the bounded threshold reacquires the anchor instead of inventing a
114
+ * robot trajectory.
115
+ */
116
+ export declare function resolveObservedRobotTemporalSupportAnchorProjection(input: {
117
+ previousState: ObservedRobotTemporalSupportAnchorState | null;
118
+ supportPoints: readonly ObservedRobotSupportPoint[];
119
+ activeIndices: readonly number[];
120
+ activeContactIds?: readonly string[];
121
+ supportEligible?: boolean;
122
+ reacquireDistanceMeters?: number;
123
+ }): ObservedRobotTemporalSupportAnchorProjection;
124
+ /**
125
+ * Preserves the world-space support footprint while a missing root
126
+ * inclination is completed for presentation.
127
+ *
128
+ * Rotating the observed model around its authored root (usually near the
129
+ * torso) moves the sole anchors laterally. The inverse centroid delta makes
130
+ * the support polygon the effective pivot instead. Y remains owned by the
131
+ * grounding projection, and the bounded X/Z correction is a static-friction
132
+ * constraint only: it does not integrate velocity or alter observed joints.
133
+ */
134
+ export declare function resolveObservedRobotSupportAnchorProjection(input: {
135
+ supportPointsBefore: readonly ObservedRobotSupportPoint[];
136
+ supportPointsAfter: readonly ObservedRobotSupportPoint[];
137
+ supportEligible?: boolean;
138
+ maxCorrectionMeters?: number;
139
+ }): ObservedRobotSupportAnchorProjection;
140
+ /**
141
+ * Fits y = ax + bz + c through the semantic sole anchors and returns the
142
+ * shortest world-space rotation that aligns that support plane with world up.
143
+ *
144
+ * This is deliberately a quasi-static contact constraint, not a dynamics
145
+ * simulation: observed joints remain authoritative and only the missing root
146
+ * roll/pitch presentation is inferred. The bounded correction cannot inject
147
+ * velocity, oscillation or a competing pose history.
148
+ */
149
+ export declare function resolveObservedRobotSupportInclinationProjection(input: {
150
+ enabled: boolean;
151
+ supportPoints: readonly ObservedRobotSupportPoint[];
152
+ supportEligible?: boolean;
153
+ maxCorrectionRadians?: number;
154
+ }): ObservedRobotSupportInclinationProjection;
155
+ /**
156
+ * Decides whether sole anchors may complete the missing root inclination.
157
+ *
158
+ * The feet are only a valid support authority while their rendered envelope
159
+ * belongs to the lowest body contact band. When the torso, back, arms or any
160
+ * other collider is lower, the robot is treated as body-supported: its
161
+ * observed orientation is preserved and no "stand it back up" correction is
162
+ * invented locally.
163
+ */
164
+ export declare function resolveObservedRobotFootSupportEligibility(input: {
165
+ footGeometryMinimumY?: number | null;
166
+ bodyEnvelopeMinimumY?: number | null;
167
+ contactBandMeters?: number;
168
+ }): ObservedRobotFootSupportEligibility;
169
+ /**
170
+ * Resolves the surface that must visually meet the support plane.
171
+ *
172
+ * FSR frames describe where support can be observed, but their origins live
173
+ * inside the foot assembly and are not guaranteed to coincide with the
174
+ * rendered sole. Prefer the rendered foot envelope for the vertical contact
175
+ * correction, while retaining the FSR count as evidence for the projection.
176
+ *
177
+ * Whole-body colliders decide which support regime is active, but simplified
178
+ * collision geometry is not a reliable visible contact surface. When both are
179
+ * available, align the rendered envelope to the floor and report explicitly
180
+ * that the contact was collider-guided. This covers back, belly and side
181
+ * contacts without making an approximate collider visibly float or penetrate.
182
+ */
183
+ export declare function resolveObservedRobotSupportSurface(input: {
184
+ contactMinimumY?: number | null;
185
+ supportContactCount?: number;
186
+ footGeometryMinimumY?: number | null;
187
+ collisionEnvelopeMinimumY?: number | null;
188
+ robotBoundsMinimumY?: number | null;
189
+ }): ObservedRobotSupportSurface;
190
+ /**
191
+ * Completes the missing world-height component of an observed robot pose.
192
+ *
193
+ * Joint values remain observed facts. The vertical offset is an explicit,
194
+ * deterministic support-plane inference and never steps a physics simulation.
195
+ * This vertical stage never changes X/Z. The companion support-anchor
196
+ * projection may only apply the inverse centroid delta required to preserve
197
+ * static contact, without becoming the robot pose authority.
198
+ */
199
+ export declare function resolveObservedRobotGroundingProjection(input: {
200
+ enabled: boolean;
201
+ floorY: number;
202
+ supportMinimumY: number | null;
203
+ supportContactCount?: number;
204
+ source: Exclude<ObservedRobotGroundingSource, 'unavailable'>;
205
+ }): ObservedRobotGroundingProjection;
206
+ //# sourceMappingURL=ObservedRobotGroundingProjection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservedRobotGroundingProjection.d.ts","sourceRoot":"","sources":["../../src/renderer/ObservedRobotGroundingProjection.ts"],"names":[],"mappings":"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"}