forgecad 0.9.13 → 0.9.14

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 (57) hide show
  1. package/dist/assets/{AdminPage-DramHHDf.js → AdminPage-eWGs2K6H.js} +1 -1
  2. package/dist/assets/{BenchmarkPage-Bjgkh5m9.js → BenchmarkPage-CTrLKfpo.js} +1 -1
  3. package/dist/assets/{BlogPage-n_HGP3Qm.js → BlogPage-5nPesyds.js} +1 -1
  4. package/dist/assets/{DocsPage-WCIkPmzC.js → DocsPage-C4Y3nbYc.js} +1 -1
  5. package/dist/assets/{EditorApp-CP9Za6tm.js → EditorApp-lXv53A1m.js} +9 -29
  6. package/dist/assets/{EmbedViewer-DEZKqdfW.js → EmbedViewer-C8fB4n5U.js} +2 -2
  7. package/dist/assets/{LandingPageProofDriven-CeRIctuj.js → LandingPageProofDriven-jSz0LaMM.js} +1 -1
  8. package/dist/assets/{PricingPage-rIRa8p4Y.js → PricingPage-B83B90zh.js} +1 -1
  9. package/dist/assets/{SettingsPage-BqCUvEXM.js → SettingsPage-DY889pcu.js} +1 -1
  10. package/dist/assets/{app-BUZqJvSO.js → app-bEww1ic4.js} +26 -28
  11. package/dist/assets/cli/{render-lhGxj50Y.js → render-Cho2uKG_.js} +88 -25
  12. package/dist/assets/{constructionHistoryWorker-ipD1jcIv.js → constructionHistoryWorker-HYwzJY4m.js} +1 -1
  13. package/dist/assets/{evalWorker-CHXSe_-u.js → evalWorker-CjQwJSE-.js} +3 -3
  14. package/dist/assets/{forgecad_geometry-BVnIeXMG.js → forgecad_geometry-CH2nvuLA.js} +1 -1
  15. package/dist/assets/forgecad_geometry_bg-C5_E9Oa9.wasm +0 -0
  16. package/dist/assets/{manifold-D1LZIHqn.js → manifold-CG9Fokx-.js} +1 -1
  17. package/dist/assets/{manifold-BTkzxi9V.js → manifold-rmfAcdwF.js} +1 -1
  18. package/dist/assets/{manifold-C2fwoTgd.js → manifold-uRzgk5O8.js} +2 -2
  19. package/dist/assets/{reportWorker-Cq1qGmg0.js → reportWorker-4cW_ZpoS.js} +3 -3
  20. package/dist/assets/{scalar-sampling-budget-D9Qv_UlJ.js → scalar-sampling-budget-CfDiFvh7.js} +12 -18
  21. package/dist/assets/{solver-BZ9LPTHs.js → solver-DuJAO8S6.js} +1 -1
  22. package/dist/assets/solver_bg-CWvv4lnN.wasm +0 -0
  23. package/dist/assets/{renderSceneState-Dr0xPq1A.js → targets-D6PWsv6X.js} +27 -1
  24. package/dist/cli/render.html +1 -1
  25. package/dist/docs/index.html +2 -2
  26. package/dist/docs-raw/AI/usage.md +6 -5
  27. package/dist/docs-raw/CLI.md +41 -11
  28. package/dist/docs-raw/generated/concepts.md +3 -3
  29. package/dist/docs-raw/generated/viewport.md +3 -3
  30. package/dist/docs-raw/harbor-cli.md +854 -0
  31. package/dist/docs-raw/rl-environments.md +100 -258
  32. package/dist/docs-raw/skills/forgecad-3d-reconstruction.md +2 -2
  33. package/dist/docs-raw/skills/forgecad-make-a-model.md +3 -3
  34. package/dist/docs-raw/skills/forgecad-reconstruction-benchmark.md +3 -3
  35. package/dist/index.html +1 -1
  36. package/dist/sitemap.xml +7 -7
  37. package/dist-cli/{check-compiler-LOXCPEOI.js → check-compiler-U5SOPN7X.js} +2 -2
  38. package/dist-cli/{check-query-propagation-BAKNVWXR.js → check-query-propagation-XOKNSSYU.js} +2 -2
  39. package/dist-cli/{chunk-RY43WF46.js → chunk-EXWGNL6K.js} +342 -2
  40. package/dist-cli/{chunk-RY43WF46.js.map → chunk-EXWGNL6K.js.map} +1 -1
  41. package/dist-cli/forgecad.js +733 -352
  42. package/dist-cli/forgecad.js.map +1 -1
  43. package/dist-cli/forgecad_geometry_bg.wasm +0 -0
  44. package/dist-cli/solver_bg.wasm +0 -0
  45. package/dist-skill/CONTEXT.md +3 -3
  46. package/dist-skill/docs/CLI.md +41 -11
  47. package/dist-skill/docs/generated/viewport.md +3 -3
  48. package/dist-skill/docs-dev/CLI.md +41 -11
  49. package/dist-skill/docs-dev/generated/viewport.md +3 -3
  50. package/dist-skill/library/forgecad-3d-reconstruction/SKILL.md +2 -2
  51. package/dist-skill/library/forgecad-make-a-model/SKILL.md +3 -3
  52. package/dist-skill/library/forgecad-reconstruction-benchmark/SKILL.md +3 -3
  53. package/package.json +1 -6
  54. package/dist/assets/forgecad_geometry_bg-DufhhCBV.wasm +0 -0
  55. package/dist/assets/solver_bg-DAHZJ_rw.wasm +0 -0
  56. /package/dist-cli/{check-compiler-LOXCPEOI.js.map → check-compiler-U5SOPN7X.js.map} +0 -0
  57. /package/dist-cli/{check-query-propagation-BAKNVWXR.js.map → check-query-propagation-XOKNSSYU.js.map} +0 -0
@@ -47877,6 +47877,7 @@ var EventDispatcher = class {
47877
47877
  }
47878
47878
  };
47879
47879
  var _lut = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "0a", "0b", "0c", "0d", "0e", "0f", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1a", "1b", "1c", "1d", "1e", "1f", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2a", "2b", "2c", "2d", "2e", "2f", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3a", "3b", "3c", "3d", "3e", "3f", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4a", "4b", "4c", "4d", "4e", "4f", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5a", "5b", "5c", "5d", "5e", "5f", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "6a", "6b", "6c", "6d", "6e", "6f", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "7a", "7b", "7c", "7d", "7e", "7f", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "8a", "8b", "8c", "8d", "8e", "8f", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "9a", "9b", "9c", "9d", "9e", "9f", "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "aa", "ab", "ac", "ad", "ae", "af", "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", "b8", "b9", "ba", "bb", "bc", "bd", "be", "bf", "c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "ca", "cb", "cc", "cd", "ce", "cf", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "da", "db", "dc", "dd", "de", "df", "e0", "e1", "e2", "e3", "e4", "e5", "e6", "e7", "e8", "e9", "ea", "eb", "ec", "ed", "ee", "ef", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "fa", "fb", "fc", "fd", "fe", "ff"];
47880
+ var _seed = 1234567;
47880
47881
  var DEG2RAD = Math.PI / 180;
47881
47882
  var RAD2DEG = 180 / Math.PI;
47882
47883
  function generateUUID() {
@@ -47893,9 +47894,102 @@ function clamp4(value, min2, max4) {
47893
47894
  function euclideanModulo(n, m) {
47894
47895
  return (n % m + m) % m;
47895
47896
  }
47897
+ function mapLinear(x, a1, a2, b1, b22) {
47898
+ return b1 + (x - a1) * (b22 - b1) / (a2 - a1);
47899
+ }
47900
+ function inverseLerp(x, y, value) {
47901
+ if (x !== y) {
47902
+ return (value - x) / (y - x);
47903
+ } else {
47904
+ return 0;
47905
+ }
47906
+ }
47896
47907
  function lerp(x, y, t) {
47897
47908
  return (1 - t) * x + t * y;
47898
47909
  }
47910
+ function damp(x, y, lambda, dt) {
47911
+ return lerp(x, y, 1 - Math.exp(-lambda * dt));
47912
+ }
47913
+ function pingpong(x, length6 = 1) {
47914
+ return length6 - Math.abs(euclideanModulo(x, length6 * 2) - length6);
47915
+ }
47916
+ function smoothstep(x, min2, max4) {
47917
+ if (x <= min2) return 0;
47918
+ if (x >= max4) return 1;
47919
+ x = (x - min2) / (max4 - min2);
47920
+ return x * x * (3 - 2 * x);
47921
+ }
47922
+ function smootherstep(x, min2, max4) {
47923
+ if (x <= min2) return 0;
47924
+ if (x >= max4) return 1;
47925
+ x = (x - min2) / (max4 - min2);
47926
+ return x * x * x * (x * (x * 6 - 15) + 10);
47927
+ }
47928
+ function randInt(low, high) {
47929
+ return low + Math.floor(Math.random() * (high - low + 1));
47930
+ }
47931
+ function randFloat(low, high) {
47932
+ return low + Math.random() * (high - low);
47933
+ }
47934
+ function randFloatSpread(range) {
47935
+ return range * (0.5 - Math.random());
47936
+ }
47937
+ function seededRandom(s) {
47938
+ if (s !== void 0) _seed = s;
47939
+ let t = _seed += 1831565813;
47940
+ t = Math.imul(t ^ t >>> 15, t | 1);
47941
+ t ^= t + Math.imul(t ^ t >>> 7, t | 61);
47942
+ return ((t ^ t >>> 14) >>> 0) / 4294967296;
47943
+ }
47944
+ function degToRad(degrees2) {
47945
+ return degrees2 * DEG2RAD;
47946
+ }
47947
+ function radToDeg(radians2) {
47948
+ return radians2 * RAD2DEG;
47949
+ }
47950
+ function isPowerOfTwo(value) {
47951
+ return (value & value - 1) === 0 && value !== 0;
47952
+ }
47953
+ function ceilPowerOfTwo(value) {
47954
+ return Math.pow(2, Math.ceil(Math.log(value) / Math.LN2));
47955
+ }
47956
+ function floorPowerOfTwo(value) {
47957
+ return Math.pow(2, Math.floor(Math.log(value) / Math.LN2));
47958
+ }
47959
+ function setQuaternionFromProperEuler(q, a, b, c, order) {
47960
+ const cos5 = Math.cos;
47961
+ const sin5 = Math.sin;
47962
+ const c2 = cos5(b / 2);
47963
+ const s2 = sin5(b / 2);
47964
+ const c13 = cos5((a + c) / 2);
47965
+ const s13 = sin5((a + c) / 2);
47966
+ const c1_3 = cos5((a - c) / 2);
47967
+ const s1_3 = sin5((a - c) / 2);
47968
+ const c3_1 = cos5((c - a) / 2);
47969
+ const s3_1 = sin5((c - a) / 2);
47970
+ switch (order) {
47971
+ case "XYX":
47972
+ q.set(c2 * s13, s2 * c1_3, s2 * s1_3, c2 * c13);
47973
+ break;
47974
+ case "YZY":
47975
+ q.set(s2 * s1_3, c2 * s13, s2 * c1_3, c2 * c13);
47976
+ break;
47977
+ case "ZXZ":
47978
+ q.set(s2 * c1_3, s2 * s1_3, c2 * s13, c2 * c13);
47979
+ break;
47980
+ case "XZX":
47981
+ q.set(c2 * s13, s2 * s3_1, s2 * c3_1, c2 * c13);
47982
+ break;
47983
+ case "YXY":
47984
+ q.set(s2 * c3_1, c2 * s13, s2 * s3_1, c2 * c13);
47985
+ break;
47986
+ case "ZYZ":
47987
+ q.set(s2 * s3_1, s2 * c3_1, c2 * s13, c2 * c13);
47988
+ break;
47989
+ default:
47990
+ console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: " + order);
47991
+ }
47992
+ }
47899
47993
  function denormalize(value, array) {
47900
47994
  switch (array.constructor) {
47901
47995
  case Float32Array:
@@ -47936,6 +48030,250 @@ function normalize7(value, array) {
47936
48030
  throw new Error("Invalid component type.");
47937
48031
  }
47938
48032
  }
48033
+ var MathUtils = {
48034
+ DEG2RAD,
48035
+ RAD2DEG,
48036
+ /**
48037
+ * Generate a [UUID]{@link https://en.wikipedia.org/wiki/Universally_unique_identifier}
48038
+ * (universally unique identifier).
48039
+ *
48040
+ * @static
48041
+ * @method
48042
+ * @return {string} The UUID.
48043
+ */
48044
+ generateUUID,
48045
+ /**
48046
+ * Clamps the given value between min and max.
48047
+ *
48048
+ * @static
48049
+ * @method
48050
+ * @param {number} value - The value to clamp.
48051
+ * @param {number} min - The min value.
48052
+ * @param {number} max - The max value.
48053
+ * @return {number} The clamped value.
48054
+ */
48055
+ clamp: clamp4,
48056
+ /**
48057
+ * Computes the Euclidean modulo of the given parameters that
48058
+ * is `( ( n % m ) + m ) % m`.
48059
+ *
48060
+ * @static
48061
+ * @method
48062
+ * @param {number} n - The first parameter.
48063
+ * @param {number} m - The second parameter.
48064
+ * @return {number} The Euclidean modulo.
48065
+ */
48066
+ euclideanModulo,
48067
+ /**
48068
+ * Performs a linear mapping from range `<a1, a2>` to range `<b1, b2>`
48069
+ * for the given value.
48070
+ *
48071
+ * @static
48072
+ * @method
48073
+ * @param {number} x - The value to be mapped.
48074
+ * @param {number} a1 - Minimum value for range A.
48075
+ * @param {number} a2 - Maximum value for range A.
48076
+ * @param {number} b1 - Minimum value for range B.
48077
+ * @param {number} b2 - Maximum value for range B.
48078
+ * @return {number} The mapped value.
48079
+ */
48080
+ mapLinear,
48081
+ /**
48082
+ * Returns the percentage in the closed interval `[0, 1]` of the given value
48083
+ * between the start and end point.
48084
+ *
48085
+ * @static
48086
+ * @method
48087
+ * @param {number} x - The start point
48088
+ * @param {number} y - The end point.
48089
+ * @param {number} value - A value between start and end.
48090
+ * @return {number} The interpolation factor.
48091
+ */
48092
+ inverseLerp,
48093
+ /**
48094
+ * Returns a value linearly interpolated from two known points based on the given interval -
48095
+ * `t = 0` will return `x` and `t = 1` will return `y`.
48096
+ *
48097
+ * @static
48098
+ * @method
48099
+ * @param {number} x - The start point
48100
+ * @param {number} y - The end point.
48101
+ * @param {number} t - The interpolation factor in the closed interval `[0, 1]`.
48102
+ * @return {number} The interpolated value.
48103
+ */
48104
+ lerp,
48105
+ /**
48106
+ * Smoothly interpolate a number from `x` to `y` in a spring-like manner using a delta
48107
+ * time to maintain frame rate independent movement. For details, see
48108
+ * [Frame rate independent damping using lerp]{@link http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/}.
48109
+ *
48110
+ * @static
48111
+ * @method
48112
+ * @param {number} x - The current point.
48113
+ * @param {number} y - The target point.
48114
+ * @param {number} lambda - A higher lambda value will make the movement more sudden,
48115
+ * and a lower value will make the movement more gradual.
48116
+ * @param {number} dt - Delta time in seconds.
48117
+ * @return {number} The interpolated value.
48118
+ */
48119
+ damp,
48120
+ /**
48121
+ * Returns a value that alternates between `0` and the given `length` parameter.
48122
+ *
48123
+ * @static
48124
+ * @method
48125
+ * @param {number} x - The value to pingpong.
48126
+ * @param {number} [length=1] - The positive value the function will pingpong to.
48127
+ * @return {number} The alternated value.
48128
+ */
48129
+ pingpong,
48130
+ /**
48131
+ * Returns a value in the range `[0,1]` that represents the percentage that `x` has
48132
+ * moved between `min` and `max`, but smoothed or slowed down the closer `x` is to
48133
+ * the `min` and `max`.
48134
+ *
48135
+ * See [Smoothstep]{@link http://en.wikipedia.org/wiki/Smoothstep} for more details.
48136
+ *
48137
+ * @static
48138
+ * @method
48139
+ * @param {number} x - The value to evaluate based on its position between min and max.
48140
+ * @param {number} min - The min value. Any x value below min will be `0`.
48141
+ * @param {number} max - The max value. Any x value above max will be `1`.
48142
+ * @return {number} The alternated value.
48143
+ */
48144
+ smoothstep,
48145
+ /**
48146
+ * A [variation on smoothstep]{@link https://en.wikipedia.org/wiki/Smoothstep#Variations}
48147
+ * that has zero 1st and 2nd order derivatives at x=0 and x=1.
48148
+ *
48149
+ * @static
48150
+ * @method
48151
+ * @param {number} x - The value to evaluate based on its position between min and max.
48152
+ * @param {number} min - The min value. Any x value below min will be `0`.
48153
+ * @param {number} max - The max value. Any x value above max will be `1`.
48154
+ * @return {number} The alternated value.
48155
+ */
48156
+ smootherstep,
48157
+ /**
48158
+ * Returns a random integer from `<low, high>` interval.
48159
+ *
48160
+ * @static
48161
+ * @method
48162
+ * @param {number} low - The lower value boundary.
48163
+ * @param {number} high - The upper value boundary
48164
+ * @return {number} A random integer.
48165
+ */
48166
+ randInt,
48167
+ /**
48168
+ * Returns a random float from `<low, high>` interval.
48169
+ *
48170
+ * @static
48171
+ * @method
48172
+ * @param {number} low - The lower value boundary.
48173
+ * @param {number} high - The upper value boundary
48174
+ * @return {number} A random float.
48175
+ */
48176
+ randFloat,
48177
+ /**
48178
+ * Returns a random integer from `<-range/2, range/2>` interval.
48179
+ *
48180
+ * @static
48181
+ * @method
48182
+ * @param {number} range - Defines the value range.
48183
+ * @return {number} A random float.
48184
+ */
48185
+ randFloatSpread,
48186
+ /**
48187
+ * Returns a deterministic pseudo-random float in the interval `[0, 1]`.
48188
+ *
48189
+ * @static
48190
+ * @method
48191
+ * @param {number} [s] - The integer seed.
48192
+ * @return {number} A random float.
48193
+ */
48194
+ seededRandom,
48195
+ /**
48196
+ * Converts degrees to radians.
48197
+ *
48198
+ * @static
48199
+ * @method
48200
+ * @param {number} degrees - A value in degrees.
48201
+ * @return {number} The converted value in radians.
48202
+ */
48203
+ degToRad,
48204
+ /**
48205
+ * Converts radians to degrees.
48206
+ *
48207
+ * @static
48208
+ * @method
48209
+ * @param {number} radians - A value in radians.
48210
+ * @return {number} The converted value in degrees.
48211
+ */
48212
+ radToDeg,
48213
+ /**
48214
+ * Returns `true` if the given number is a power of two.
48215
+ *
48216
+ * @static
48217
+ * @method
48218
+ * @param {number} value - The value to check.
48219
+ * @return {boolean} Whether the given number is a power of two or not.
48220
+ */
48221
+ isPowerOfTwo,
48222
+ /**
48223
+ * Returns the smallest power of two that is greater than or equal to the given number.
48224
+ *
48225
+ * @static
48226
+ * @method
48227
+ * @param {number} value - The value to find a POT for.
48228
+ * @return {number} The smallest power of two that is greater than or equal to the given number.
48229
+ */
48230
+ ceilPowerOfTwo,
48231
+ /**
48232
+ * Returns the largest power of two that is less than or equal to the given number.
48233
+ *
48234
+ * @static
48235
+ * @method
48236
+ * @param {number} value - The value to find a POT for.
48237
+ * @return {number} The largest power of two that is less than or equal to the given number.
48238
+ */
48239
+ floorPowerOfTwo,
48240
+ /**
48241
+ * Sets the given quaternion from the [Intrinsic Proper Euler Angles]{@link https://en.wikipedia.org/wiki/Euler_angles}
48242
+ * defined by the given angles and order.
48243
+ *
48244
+ * Rotations are applied to the axes in the order specified by order:
48245
+ * rotation by angle `a` is applied first, then by angle `b`, then by angle `c`.
48246
+ *
48247
+ * @static
48248
+ * @method
48249
+ * @param {Quaternion} q - The quaternion to set.
48250
+ * @param {number} a - The rotation applied to the first axis, in radians.
48251
+ * @param {number} b - The rotation applied to the second axis, in radians.
48252
+ * @param {number} c - The rotation applied to the third axis, in radians.
48253
+ * @param {('XYX'|'XZX'|'YXY'|'YZY'|'ZXZ'|'ZYZ')} order - A string specifying the axes order.
48254
+ */
48255
+ setQuaternionFromProperEuler,
48256
+ /**
48257
+ * Normalizes the given value according to the given typed array.
48258
+ *
48259
+ * @static
48260
+ * @method
48261
+ * @param {number} value - The float value in the range `[0,1]` to normalize.
48262
+ * @param {TypedArray} array - The typed array that defines the data type of the value.
48263
+ * @return {number} The normalize value.
48264
+ */
48265
+ normalize: normalize7,
48266
+ /**
48267
+ * Denormalizes the given value according to the given typed array.
48268
+ *
48269
+ * @static
48270
+ * @method
48271
+ * @param {number} value - The value to denormalize.
48272
+ * @param {TypedArray} array - The typed array that defines the data type of the value.
48273
+ * @return {number} The denormalize (float) value in the range `[0,1]`.
48274
+ */
48275
+ denormalize
48276
+ };
47939
48277
  var Vector2 = class _Vector2 {
47940
48278
  /**
47941
48279
  * Constructs a new 2D vector.
@@ -73858,7 +74196,7 @@ var ConstraintSketch = class extends Sketch {
73858
74196
  * Select the single arrangement region that contains the given seed point.
73859
74197
  * Throws if no region contains the seed.
73860
74198
  */
73861
- detectArrangementRegion(_seed) {
74199
+ detectArrangementRegion(_seed2) {
73862
74200
  throw new Error("Not implemented");
73863
74201
  }
73864
74202
  /**
@@ -87831,6 +88169,8 @@ export {
87831
88169
  circle2d,
87832
88170
  roundedRect,
87833
88171
  bevelGear,
88172
+ MathUtils,
88173
+ Vector3,
87834
88174
  buildCompiledSceneReport,
87835
88175
  mapDimensionsToOwnerIds,
87836
88176
  generateReportPdf,
@@ -87897,4 +88237,4 @@ three/build/three.module.js:
87897
88237
  * SPDX-License-Identifier: MIT
87898
88238
  *)
87899
88239
  */
87900
- //# sourceMappingURL=chunk-RY43WF46.js.map
88240
+ //# sourceMappingURL=chunk-EXWGNL6K.js.map