@bldrs-ai/conway 1.442.1321 → 1.444.1334
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/compiled/Dist/ConwayGeomWasmNode.js +0 -0
- package/compiled/Dist/ConwayGeomWasmNodeMT.js +0 -0
- package/compiled/Dist/ConwayGeomWasmWeb.js +0 -0
- package/compiled/Dist/ConwayGeomWasmWebMT.wasm +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNode.js +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNodeMT.js +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWeb.js +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.wasm +0 -0
- package/compiled/examples/browser-bundled.cjs +21 -8
- package/compiled/examples/cli-bundled.cjs +22 -9
- package/compiled/examples/cli-step-bundled.cjs +115 -28
- package/compiled/examples/validator-bundled.cjs +21 -8
- package/compiled/src/AP214E3_2010/ap214_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/ap214_geometry_extraction.js +153 -23
- package/compiled/src/AP214E3_2010/ap214_geometry_extraction.test.js +6 -1
- package/compiled/src/step/parsing/decode_utf8.d.ts +15 -0
- package/compiled/src/step/parsing/decode_utf8.d.ts.map +1 -1
- package/compiled/src/step/parsing/decode_utf8.js +28 -0
- package/compiled/src/step/parsing/step_string_parser.js +8 -8
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -944,7 +944,7 @@ var EntityTypesIfcCount = 909;
|
|
|
944
944
|
var entity_types_ifc_gen_default = EntityTypesIfc;
|
|
945
945
|
|
|
946
946
|
// compiled/src/version/version.js
|
|
947
|
-
var versionString = "Conway v1.
|
|
947
|
+
var versionString = "Conway v1.444.1334";
|
|
948
948
|
|
|
949
949
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
950
950
|
var wasmType = "";
|
|
@@ -2041,6 +2041,19 @@ function copyOutOfResizable(view) {
|
|
|
2041
2041
|
function decodeUtf8(view) {
|
|
2042
2042
|
return decoder.decode(decodeNeedsCopy(view.buffer) ? view.slice() : view);
|
|
2043
2043
|
}
|
|
2044
|
+
var strictUtf8Decoder = new TextDecoder("utf-8", { fatal: true });
|
|
2045
|
+
function decodeStepString(view) {
|
|
2046
|
+
const bytes = decodeNeedsCopy(view.buffer) ? view.slice() : view;
|
|
2047
|
+
try {
|
|
2048
|
+
return strictUtf8Decoder.decode(bytes);
|
|
2049
|
+
} catch {
|
|
2050
|
+
let result = "";
|
|
2051
|
+
for (let where = 0; where < bytes.length; ++where) {
|
|
2052
|
+
result += String.fromCharCode(bytes[where]);
|
|
2053
|
+
}
|
|
2054
|
+
return result;
|
|
2055
|
+
}
|
|
2056
|
+
}
|
|
2044
2057
|
var shimInstalled = false;
|
|
2045
2058
|
function installResizableTextDecoderShim() {
|
|
2046
2059
|
if (shimInstalled || typeof TextDecoder === "undefined") {
|
|
@@ -2728,14 +2741,14 @@ var StepStringParser = class extends ParsingDfa16Table {
|
|
|
2728
2741
|
if (nextCursor < endCursor && input[nextCursor] === QUOTE) {
|
|
2729
2742
|
result ??= "";
|
|
2730
2743
|
if (cursor > reificationIndex) {
|
|
2731
|
-
result +=
|
|
2744
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor - 1));
|
|
2732
2745
|
}
|
|
2733
2746
|
result += "'";
|
|
2734
2747
|
cursor = nextCursor + 1;
|
|
2735
2748
|
reificationIndex = cursor;
|
|
2736
2749
|
} else {
|
|
2737
2750
|
result ??= "";
|
|
2738
|
-
result +=
|
|
2751
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
2739
2752
|
return result;
|
|
2740
2753
|
}
|
|
2741
2754
|
}
|
|
@@ -2761,7 +2774,7 @@ var StepStringParser = class extends ParsingDfa16Table {
|
|
|
2761
2774
|
const nextChar2 = input[nextCursor2];
|
|
2762
2775
|
if (nextChar2 !== BSLASH) {
|
|
2763
2776
|
result ??= "";
|
|
2764
|
-
result +=
|
|
2777
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
2765
2778
|
cursor = nextCursor2 + 1;
|
|
2766
2779
|
break;
|
|
2767
2780
|
}
|
|
@@ -2774,7 +2787,7 @@ var StepStringParser = class extends ParsingDfa16Table {
|
|
|
2774
2787
|
return result;
|
|
2775
2788
|
}
|
|
2776
2789
|
result ??= "";
|
|
2777
|
-
result +=
|
|
2790
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
2778
2791
|
codePage = nextChar3 - A2;
|
|
2779
2792
|
cursor = nextCursor3 + 1;
|
|
2780
2793
|
reificationIndex = cursor;
|
|
@@ -2788,7 +2801,7 @@ var StepStringParser = class extends ParsingDfa16Table {
|
|
|
2788
2801
|
const nextChar2 = input[nextCursor2];
|
|
2789
2802
|
if (nextChar2 !== BSLASH) {
|
|
2790
2803
|
result ??= "";
|
|
2791
|
-
result +=
|
|
2804
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
2792
2805
|
cursor = nextCursor2 + 1;
|
|
2793
2806
|
break;
|
|
2794
2807
|
}
|
|
@@ -2798,7 +2811,7 @@ var StepStringParser = class extends ParsingDfa16Table {
|
|
|
2798
2811
|
}
|
|
2799
2812
|
const nextChar3 = input[nextCursor3];
|
|
2800
2813
|
result ??= "";
|
|
2801
|
-
result +=
|
|
2814
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
2802
2815
|
if (nextChar3 < 127) {
|
|
2803
2816
|
result += String.fromCharCode(nextChar3);
|
|
2804
2817
|
} else if (nextChar >= 161 && nextChar <= 255) {
|
|
@@ -2817,7 +2830,7 @@ var StepStringParser = class extends ParsingDfa16Table {
|
|
|
2817
2830
|
}
|
|
2818
2831
|
const nextChar2 = input[nextCursor2];
|
|
2819
2832
|
result ??= "";
|
|
2820
|
-
result +=
|
|
2833
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
2821
2834
|
const hexParserTil0 = (count) => {
|
|
2822
2835
|
if (nextCursor2 + 1 >= endCursor || input[nextCursor2 + 1] !== BSLASH) {
|
|
2823
2836
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ap214_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/AP214E3_2010/ap214_geometry_extraction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ap214_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/AP214E3_2010/ap214_geometry_extraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { ObjectPool } from "../core/native_pool.js";
|
|
|
4
4
|
import { MemoizationCapture, RegressionCaptureState } from "../core/regression_capture_state.js";
|
|
5
5
|
import { ExtractResult } from "../core/shared_constants.js";
|
|
6
6
|
import Logger from "../logging/logger.js";
|
|
7
|
-
import { advanced_brep_shape_representation, advanced_face, annotation_occurrence, axis2_placement_2d, axis2_placement_3d, b_spline_curve, b_spline_curve_with_knots, b_spline_surface, b_spline_surface_with_knots, boolean_result, cartesian_point, cartesian_transformation_operator_3d, circle, colour_rgb, composite_curve, composite_curve_segment, conical_surface, context_dependent_shape_representation, conversion_based_unit, cylindrical_surface, draughting_model, edge_curve, edge_loop, ellipse, extruded_area_solid, face, face_based_surface_model, faceted_brep, fill_area_style_colour, geometric_curve_set, geometrically_bounded_2d_wireframe_representation, geometrically_bounded_wireframe_shape_representation, global_unit_assigned_context, half_space_solid, item_defined_transformation, length_unit, line, manifold_solid_brep, mapped_item, next_assembly_usage_occurrence, over_riding_styled_item, parameter_value, pcurve, placement, plane, poly_loop, polyline, presentation_layer_assignment, product, product_definition, product_definition_shape, property_definition, rational_b_spline_curve, rational_b_spline_surface, representation_item, representation_relationship_with_transformation, seam_curve, shape_definition_representation, shape_representation, shape_representation_relationship, shell_based_surface_model, si_prefix, si_unit, spherical_surface, styled_item, surface_curve, surface_of_linear_extrusion, surface_of_revolution, surface_side, surface_style_fill_area, surface_style_rendering, surface_style_usage, toroidal_surface, trimmed_curve, trimming_preference, vertex_loop, vertex_point, view_volume, } from "./AP214E3_2010_gen/index.js";
|
|
7
|
+
import { advanced_brep_shape_representation, advanced_face, annotation_occurrence, axis2_placement_2d, axis2_placement_3d, b_spline_curve, b_spline_curve_with_knots, b_spline_surface, b_spline_surface_with_knots, boolean_result, cartesian_point, cartesian_transformation_operator_3d, circle, colour_rgb, composite_curve, composite_curve_segment, conical_surface, context_dependent_shape_representation, conversion_based_unit, cylindrical_surface, draughting_model, edge_curve, edge_loop, ellipse, extruded_area_solid, face, face_based_surface_model, faceted_brep, fill_area_style_colour, geometric_curve_set, geometrically_bounded_2d_wireframe_representation, geometrically_bounded_wireframe_shape_representation, global_unit_assigned_context, half_space_solid, item_defined_transformation, length_unit, line, manifold_solid_brep, mapped_item, next_assembly_usage_occurrence, over_riding_styled_item, parameter_value, pcurve, placement, plane, poly_loop, polyline, pre_defined_colour, presentation_layer_assignment, product, product_definition, product_definition_shape, property_definition, rational_b_spline_curve, rational_b_spline_surface, representation_item, representation_relationship_with_transformation, seam_curve, shape_definition_representation, shape_representation, shape_representation_relationship, shell_based_surface_model, si_prefix, si_unit, spherical_surface, styled_item, surface_curve, surface_of_linear_extrusion, surface_of_revolution, surface_side, surface_style_fill_area, surface_style_rendering, surface_style_usage, toroidal_surface, trimmed_curve, trimming_preference, vertex_loop, vertex_point, view_volume, } from "./AP214E3_2010_gen/index.js";
|
|
8
8
|
import EntityTypesAP214 from "./AP214E3_2010_gen/entity_types_ap214.gen.js";
|
|
9
9
|
import { AP214ProductShapeMap } from "./ap214_product_shape_map.js";
|
|
10
10
|
import { AP214SceneBuilder } from "./ap214_scene_builder.js";
|
|
@@ -21,6 +21,19 @@ import { AP214SceneBuilder } from "./ap214_scene_builder.js";
|
|
|
21
21
|
export function extractColorRGBPremultiplied(from, alpha = 1) {
|
|
22
22
|
return [from.red * alpha, from.green * alpha, from.blue * alpha, alpha];
|
|
23
23
|
}
|
|
24
|
+
// RGB values for the ISO 10303-46 pre-defined draughting colour names
|
|
25
|
+
// (draughting_pre_defined_colour / pre_defined_colour), which carry a name
|
|
26
|
+
// instead of components.
|
|
27
|
+
const PRE_DEFINED_COLOUR_RGB = {
|
|
28
|
+
"red": [1, 0, 0],
|
|
29
|
+
"green": [0, 1, 0],
|
|
30
|
+
"blue": [0, 0, 1],
|
|
31
|
+
"yellow": [1, 1, 0],
|
|
32
|
+
"magenta": [1, 0, 1],
|
|
33
|
+
"cyan": [0, 1, 1],
|
|
34
|
+
"black": [0, 0, 0],
|
|
35
|
+
"white": [1, 1, 1],
|
|
36
|
+
};
|
|
24
37
|
/**
|
|
25
38
|
* Extract an AP214 Colour into our RGBA color.
|
|
26
39
|
*
|
|
@@ -783,18 +796,39 @@ export class AP214GeometryExtraction {
|
|
|
783
796
|
const fillAreaColor = fillAreaStyles.find((value => value instanceof fill_area_style_colour));
|
|
784
797
|
if (fillAreaColor !== void 0) {
|
|
785
798
|
try {
|
|
786
|
-
|
|
787
|
-
|
|
799
|
+
// `fill_colour` is the schema's colour select, but AP214
|
|
800
|
+
// gives pre_defined_colour TWO supertypes (colour AND
|
|
801
|
+
// pre_defined_item) and the single-inheritance generator
|
|
802
|
+
// kept only pre_defined_item — so the typed getter throws
|
|
803
|
+
// "incorrectly typed" for e.g.
|
|
804
|
+
// DRAUGHTING_PRE_DEFINED_COLOUR('white') (Onshape exports).
|
|
805
|
+
// Re-extract the same field (offset 1) under the type the
|
|
806
|
+
// generator did keep, and map the name to RGB.
|
|
807
|
+
let surfaceColor;
|
|
808
|
+
let fillColor;
|
|
809
|
+
try {
|
|
810
|
+
fillColor = fillAreaColor.fill_colour;
|
|
811
|
+
}
|
|
812
|
+
catch {
|
|
813
|
+
const preDefined = fillAreaColor.extractElement(1, 0, 0, true, pre_defined_colour);
|
|
814
|
+
const rgb = PRE_DEFINED_COLOUR_RGB[preDefined?.name?.toLowerCase() ?? ""];
|
|
815
|
+
if (rgb !== void 0) {
|
|
816
|
+
surfaceColor = [rgb[0], rgb[1], rgb[2], 1];
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
if (fillColor instanceof colour_rgb) {
|
|
820
|
+
surfaceColor = extractColorRGBPremultiplied(fillColor, 1);
|
|
821
|
+
}
|
|
822
|
+
if (surfaceColor === void 0) {
|
|
788
823
|
continue;
|
|
789
824
|
}
|
|
790
|
-
const surfaceColor = extractColorRGBPremultiplied(fillColor, 1);
|
|
791
825
|
newMaterial.baseColor = surfaceColor;
|
|
792
826
|
newMaterial.legacyColor = surfaceColor;
|
|
793
827
|
newMaterial.roughness = 1;
|
|
794
828
|
}
|
|
795
829
|
catch (error) {
|
|
796
|
-
Logger.warning(`Error extracting fill area style color for expressID:
|
|
797
|
-
#${from.expressID} - type:
|
|
830
|
+
Logger.warning(`Error extracting fill area style color for expressID:
|
|
831
|
+
#${from.expressID} - type:
|
|
798
832
|
${EntityTypesAP214[style.type]} - error: ${error}`);
|
|
799
833
|
}
|
|
800
834
|
}
|
|
@@ -986,9 +1020,18 @@ export class AP214GeometryExtraction {
|
|
|
986
1020
|
*/
|
|
987
1021
|
extractCurve(from, parentSense = true, isEdge = false, trimmingArguments = void 0) {
|
|
988
1022
|
let stepCurve;
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
1023
|
+
// Edge-supplied trims are specific to one EDGE_CURVE, but `from` is the
|
|
1024
|
+
// shared basis curve — memoising a trimmed extraction under the basis
|
|
1025
|
+
// curve's localID would hand the first edge's arc to every other edge
|
|
1026
|
+
// sharing that curve. Trimmed extractions are memoised by the caller
|
|
1027
|
+
// under the EDGE_CURVE's localID instead (see extractAdvancedFace);
|
|
1028
|
+
// untrimmed extractions stay memoised here.
|
|
1029
|
+
const hasEdgeTrims = trimmingArguments?.exist === true;
|
|
1030
|
+
if (!hasEdgeTrims) {
|
|
1031
|
+
stepCurve = this.curves.get(from.localID);
|
|
1032
|
+
if (stepCurve !== void 0) {
|
|
1033
|
+
return stepCurve;
|
|
1034
|
+
}
|
|
992
1035
|
}
|
|
993
1036
|
// console.log("[extractCurve]: curve express ID: "
|
|
994
1037
|
// + from.expressID + " type: " + EntityTypesAP214[from.type])
|
|
@@ -1094,7 +1137,9 @@ export class AP214GeometryExtraction {
|
|
|
1094
1137
|
Logger.warning(`Unsupported Curve! Type: ${EntityTypesAP214[from.type]}`);
|
|
1095
1138
|
return;
|
|
1096
1139
|
}
|
|
1097
|
-
|
|
1140
|
+
if (!hasEdgeTrims) {
|
|
1141
|
+
this.curves.add(from.localID, stepCurve);
|
|
1142
|
+
}
|
|
1098
1143
|
return stepCurve;
|
|
1099
1144
|
}
|
|
1100
1145
|
/**
|
|
@@ -2077,6 +2122,11 @@ export class AP214GeometryExtraction {
|
|
|
2077
2122
|
}
|
|
2078
2123
|
const conwayModel = this.conwayModel;
|
|
2079
2124
|
const bound3DVector = this.nativeBound3DVector();
|
|
2125
|
+
// Loop curves are collected before bound creation so the outer-bound
|
|
2126
|
+
// heuristic below can compare their extents across the whole face.
|
|
2127
|
+
const loopCurves = [];
|
|
2128
|
+
const loopIsOuter = [];
|
|
2129
|
+
const loopOrientations = [];
|
|
2080
2130
|
for (const bound of bounds) {
|
|
2081
2131
|
let vec3Array;
|
|
2082
2132
|
const innerBound = bound.bound;
|
|
@@ -2152,14 +2202,49 @@ export class AP214GeometryExtraction {
|
|
|
2152
2202
|
};
|
|
2153
2203
|
}
|
|
2154
2204
|
}
|
|
2205
|
+
// EDGE_CURVE.same_sense: does the edge's start→end direction agree
|
|
2206
|
+
// with the basis curve's parametrisation? For same_sense=false the
|
|
2207
|
+
// edge sweeps from edge_start to edge_end AGAINST the curve
|
|
2208
|
+
// parameter. The native circle/ellipse trim (getAP214Circle) always
|
|
2209
|
+
// sweeps the positive parametric arc from trim1 to trim2 (its
|
|
2210
|
+
// senseAgreement=false path mis-negates the sweep), so ignoring
|
|
2211
|
+
// same_sense selects the COMPLEMENT arc — e.g. Onshape AP242
|
|
2212
|
+
// exports write near-straight edges as shallow arcs of large
|
|
2213
|
+
// circles, and the complement is a ~340° loop that explodes the
|
|
2214
|
+
// face boundary (Right_Hand.step spikes; the CDT "Intersecting
|
|
2215
|
+
// constraint edges" cascade). Normalise instead of forwarding the
|
|
2216
|
+
// flag: swap the trim ends so the positive sweep is the correct
|
|
2217
|
+
// arc, leaving the extracted (memoised) curve running edge_end →
|
|
2218
|
+
// edge_start; the orientation check below compensates.
|
|
2219
|
+
const sameSense = edgeElement.same_sense;
|
|
2155
2220
|
const trimmingArguments = {
|
|
2156
2221
|
exist: !!((trimmingStart !== void 0 && trimmingEnd !== void 0)),
|
|
2157
|
-
start: trimmingStart,
|
|
2158
|
-
end: trimmingEnd,
|
|
2222
|
+
start: sameSense ? trimmingStart : trimmingEnd,
|
|
2223
|
+
end: sameSense ? trimmingEnd : trimmingStart,
|
|
2159
2224
|
};
|
|
2160
|
-
|
|
2225
|
+
// Trimmed extractions are memoised under THIS edge's localID —
|
|
2226
|
+
// not the basis curve's — so edges sharing one basis curve with
|
|
2227
|
+
// different trims each get their own arc, while the second
|
|
2228
|
+
// ORIENTED_EDGE user of this edge (the adjacent face) still
|
|
2229
|
+
// reuses the extraction. extractCurve skips its basis-curve
|
|
2230
|
+
// memo whenever edge trims exist (see hasEdgeTrims there); the
|
|
2231
|
+
// shared this.curves container keeps ownership either way.
|
|
2232
|
+
let curve = this.curves.get(edgeElement.localID);
|
|
2233
|
+
if (curve === void 0) {
|
|
2234
|
+
curve = this.extractCurve(edgeCurve, true, true, trimmingArguments);
|
|
2235
|
+
if (curve !== void 0 && trimmingArguments.exist) {
|
|
2236
|
+
this.curves.add(edgeElement.localID, curve);
|
|
2237
|
+
}
|
|
2238
|
+
}
|
|
2161
2239
|
if (curve !== void 0) {
|
|
2162
|
-
|
|
2240
|
+
// The memoised curve runs edge_start→edge_end when same_sense
|
|
2241
|
+
// held, edge_end→edge_start when the trims were swapped above
|
|
2242
|
+
// (and, for untrimmed basis curves like full B-splines, native
|
|
2243
|
+
// point order is parametric order — reversed relative to the
|
|
2244
|
+
// edge exactly when same_sense is false). Traversal for this
|
|
2245
|
+
// ORIENTED_EDGE must run with `orientation`, so invert on the
|
|
2246
|
+
// XOR of the two flags rather than orientation alone.
|
|
2247
|
+
if (edge.orientation !== sameSense) {
|
|
2163
2248
|
// reverse curve
|
|
2164
2249
|
// Logger.info("edge orientation == true, inverting curve")
|
|
2165
2250
|
const invertedCurve = curve.clone();
|
|
@@ -2216,9 +2301,13 @@ export class AP214GeometryExtraction {
|
|
|
2216
2301
|
}
|
|
2217
2302
|
else {
|
|
2218
2303
|
Logger.warning(`Unsupported bound ${bound.bound}`);
|
|
2219
|
-
// Free this iteration's edge-curve vector
|
|
2220
|
-
//
|
|
2304
|
+
// Free this iteration's edge-curve vector, previously collected
|
|
2305
|
+
// loop curves and the face's partial bound vector before bailing
|
|
2306
|
+
// out, or they leak per bad face.
|
|
2221
2307
|
nativeEdgeCurves.delete();
|
|
2308
|
+
for (const loopCurve of loopCurves) {
|
|
2309
|
+
loopCurve.delete();
|
|
2310
|
+
}
|
|
2222
2311
|
bound3DVector.delete();
|
|
2223
2312
|
return;
|
|
2224
2313
|
}
|
|
@@ -2228,11 +2317,54 @@ export class AP214GeometryExtraction {
|
|
|
2228
2317
|
};
|
|
2229
2318
|
// Logger.info("isEdgeLoop: " + (isEdgeLoop) ? "TRUE" : "FALSE")
|
|
2230
2319
|
const curve = this.conwayModel.getLoop(parameters);
|
|
2231
|
-
|
|
2320
|
+
loopCurves.push(curve);
|
|
2321
|
+
loopIsOuter.push(bound.type === EntityTypesAP214.FACE_OUTER_BOUND);
|
|
2322
|
+
loopOrientations.push(bound.orientation);
|
|
2323
|
+
vec3Array.delete();
|
|
2324
|
+
nativeEdgeCurves.delete();
|
|
2325
|
+
}
|
|
2326
|
+
// STEP allows a face's loops to all be plain FACE_BOUNDs; without a
|
|
2327
|
+
// FACE_OUTER_BOUND the native triangulators would warn ("Expected outer
|
|
2328
|
+
// bound, using fallback tesselation") and treat loops[0] as outer, which
|
|
2329
|
+
// is only right by luck (Onshape AP242 exports order hole loops first on
|
|
2330
|
+
// some faces). A face's outer loop strictly contains its holes, so tag
|
|
2331
|
+
// the loop with the largest bounding-box diagonal as the outer one.
|
|
2332
|
+
if (loopCurves.length > 1 && !loopIsOuter.includes(true)) {
|
|
2333
|
+
let largestIndex = 0;
|
|
2334
|
+
let largestDiagonal2 = -1;
|
|
2335
|
+
for (let loopIndex = 0; loopIndex < loopCurves.length; ++loopIndex) {
|
|
2336
|
+
const loopCurve = loopCurves[loopIndex];
|
|
2337
|
+
const pointCount = loopCurve.getPointsSize();
|
|
2338
|
+
let minX = Infinity;
|
|
2339
|
+
let minY = Infinity;
|
|
2340
|
+
let minZ = Infinity;
|
|
2341
|
+
let maxX = -Infinity;
|
|
2342
|
+
let maxY = -Infinity;
|
|
2343
|
+
let maxZ = -Infinity;
|
|
2344
|
+
for (let where = 0; where < pointCount; ++where) {
|
|
2345
|
+
const point = loopCurve.get3d(where);
|
|
2346
|
+
minX = Math.min(minX, point.x);
|
|
2347
|
+
minY = Math.min(minY, point.y);
|
|
2348
|
+
minZ = Math.min(minZ, point.z);
|
|
2349
|
+
maxX = Math.max(maxX, point.x);
|
|
2350
|
+
maxY = Math.max(maxY, point.y);
|
|
2351
|
+
maxZ = Math.max(maxZ, point.z);
|
|
2352
|
+
}
|
|
2353
|
+
const diagonal2 = ((maxX - minX) * (maxX - minX)) +
|
|
2354
|
+
((maxY - minY) * (maxY - minY)) +
|
|
2355
|
+
((maxZ - minZ) * (maxZ - minZ));
|
|
2356
|
+
if (pointCount > 0 && diagonal2 > largestDiagonal2) {
|
|
2357
|
+
largestDiagonal2 = diagonal2;
|
|
2358
|
+
largestIndex = loopIndex;
|
|
2359
|
+
}
|
|
2360
|
+
}
|
|
2361
|
+
loopIsOuter[largestIndex] = true;
|
|
2362
|
+
}
|
|
2363
|
+
for (let loopIndex = 0; loopIndex < loopCurves.length; ++loopIndex) {
|
|
2232
2364
|
const parametersCreateBounds3D = {
|
|
2233
|
-
curve:
|
|
2234
|
-
orientation:
|
|
2235
|
-
type:
|
|
2365
|
+
curve: loopCurves[loopIndex],
|
|
2366
|
+
orientation: loopOrientations[loopIndex],
|
|
2367
|
+
type: loopIsOuter[loopIndex] ? 0 : 1,
|
|
2236
2368
|
};
|
|
2237
2369
|
const bound3D = this.conwayModel.createBound3D(parametersCreateBounds3D);
|
|
2238
2370
|
bound3DVector.push_back(bound3D);
|
|
@@ -2240,9 +2372,7 @@ export class AP214GeometryExtraction {
|
|
|
2240
2372
|
// bound wrapper are temporaries that must be freed to avoid leaking
|
|
2241
2373
|
// native memory on every face bound.
|
|
2242
2374
|
bound3D.delete();
|
|
2243
|
-
|
|
2244
|
-
vec3Array.delete();
|
|
2245
|
-
nativeEdgeCurves.delete();
|
|
2375
|
+
loopCurves[loopIndex].delete();
|
|
2246
2376
|
}
|
|
2247
2377
|
const surface = from.face_geometry;
|
|
2248
2378
|
// add face to geometry
|
|
@@ -112,7 +112,12 @@ describe("AP214 Geometry Extraction", () => {
|
|
|
112
112
|
expect(getTubeMeshSize()).toBe(testParameter);
|
|
113
113
|
});
|
|
114
114
|
test("gearGeometryArrayLength()", () => {
|
|
115
|
-
|
|
115
|
+
// Raised from 48108 with the extent-relative deflection thresholds
|
|
116
|
+
// (conway-geom relativeCurveDeflectionSquared): the gear's involute
|
|
117
|
+
// flank splines are a few mm across, so the old absolute 1mm chord
|
|
118
|
+
// tolerance sampled them with ~3 chords per flank; 0.1%-of-extent
|
|
119
|
+
// tolerance resolves the involute curvature the profile actually has.
|
|
120
|
+
const testParameter = 154644;
|
|
116
121
|
expect(getGearMeshSize()).toBe(testParameter);
|
|
117
122
|
});
|
|
118
123
|
test("uniformScaleAffine scales basis AND translation, preserves bottom row", () => {
|
|
@@ -27,6 +27,21 @@
|
|
|
27
27
|
* @return The decoded string.
|
|
28
28
|
*/
|
|
29
29
|
export declare function decodeUtf8(view: Uint8Array): string;
|
|
30
|
+
/**
|
|
31
|
+
* Decode the raw byte run of a STEP string literal.
|
|
32
|
+
*
|
|
33
|
+
* ISO 10303-21 says raw (non-\X\-escaped) bytes are ISO 8859-1, but modern
|
|
34
|
+
* exporters routinely write UTF-8 (and some, like Onshape's ST-Developer,
|
|
35
|
+
* write outright invalid sequences). The lenient default decoder mapped every
|
|
36
|
+
* non-UTF-8 byte to U+FFFD, so a spec-conformant latin-1 'Küche' surfaced as
|
|
37
|
+
* 'K�che' in product names and titles. Decode as strict UTF-8 first (the
|
|
38
|
+
* common modern case, and unambiguous when it validates), and fall back to
|
|
39
|
+
* exact ISO 8859-1 (byte = code point, which cannot fail) when it doesn't.
|
|
40
|
+
*
|
|
41
|
+
* @param view The bytes of the string literal's raw run.
|
|
42
|
+
* @return The decoded string.
|
|
43
|
+
*/
|
|
44
|
+
export declare function decodeStepString(view: Uint8Array): string;
|
|
30
45
|
/**
|
|
31
46
|
* Install a global, idempotent `TextDecoder.prototype.decode` shim that copies a
|
|
32
47
|
* view out of a resizable/growable buffer before decoding. This covers decodes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode_utf8.d.ts","sourceRoot":"","sources":["../../../../src/step/parsing/decode_utf8.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA+BH;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEnD;AAID;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAqBtD"}
|
|
1
|
+
{"version":3,"file":"decode_utf8.d.ts","sourceRoot":"","sources":["../../../../src/step/parsing/decode_utf8.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA+BH;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEnD;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAczD;AAID;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAqBtD"}
|
|
@@ -54,6 +54,34 @@ function copyOutOfResizable(view) {
|
|
|
54
54
|
export function decodeUtf8(view) {
|
|
55
55
|
return decoder.decode(decodeNeedsCopy(view.buffer) ? view.slice() : view);
|
|
56
56
|
}
|
|
57
|
+
const strictUtf8Decoder = new TextDecoder('utf-8', { fatal: true });
|
|
58
|
+
/**
|
|
59
|
+
* Decode the raw byte run of a STEP string literal.
|
|
60
|
+
*
|
|
61
|
+
* ISO 10303-21 says raw (non-\X\-escaped) bytes are ISO 8859-1, but modern
|
|
62
|
+
* exporters routinely write UTF-8 (and some, like Onshape's ST-Developer,
|
|
63
|
+
* write outright invalid sequences). The lenient default decoder mapped every
|
|
64
|
+
* non-UTF-8 byte to U+FFFD, so a spec-conformant latin-1 'Küche' surfaced as
|
|
65
|
+
* 'K�che' in product names and titles. Decode as strict UTF-8 first (the
|
|
66
|
+
* common modern case, and unambiguous when it validates), and fall back to
|
|
67
|
+
* exact ISO 8859-1 (byte = code point, which cannot fail) when it doesn't.
|
|
68
|
+
*
|
|
69
|
+
* @param view The bytes of the string literal's raw run.
|
|
70
|
+
* @return The decoded string.
|
|
71
|
+
*/
|
|
72
|
+
export function decodeStepString(view) {
|
|
73
|
+
const bytes = decodeNeedsCopy(view.buffer) ? view.slice() : view;
|
|
74
|
+
try {
|
|
75
|
+
return strictUtf8Decoder.decode(bytes);
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
let result = '';
|
|
79
|
+
for (let where = 0; where < bytes.length; ++where) {
|
|
80
|
+
result += String.fromCharCode(bytes[where]);
|
|
81
|
+
}
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
57
85
|
let shimInstalled = false;
|
|
58
86
|
/**
|
|
59
87
|
* Install a global, idempotent `TextDecoder.prototype.decode` shim that copies a
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ParsingConstants from "../../parsing/parsing_constants.js";
|
|
2
2
|
import ParsingDfa16Table from "../../parsing/parsing_dfa_16table.js";
|
|
3
|
-
import {
|
|
3
|
+
import { decodeStepString, installResizableTextDecoderShim } from "./decode_utf8.js";
|
|
4
4
|
// Emscripten 6's browser wasm heap is a resizable ArrayBuffer, on which strict
|
|
5
5
|
// browsers' TextDecoder.decode() throws — including the glue's own UTF8ToString
|
|
6
6
|
// during geometry extraction. Install the global copy-first shim as the STEP
|
|
@@ -76,7 +76,7 @@ class StepStringParser extends ParsingDfa16Table {
|
|
|
76
76
|
if (nextCursor < endCursor && input[nextCursor] === QUOTE) {
|
|
77
77
|
result ??= "";
|
|
78
78
|
if (cursor > reificationIndex) {
|
|
79
|
-
result +=
|
|
79
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor - 1));
|
|
80
80
|
}
|
|
81
81
|
result += "'";
|
|
82
82
|
cursor = nextCursor + 1;
|
|
@@ -84,7 +84,7 @@ class StepStringParser extends ParsingDfa16Table {
|
|
|
84
84
|
}
|
|
85
85
|
else {
|
|
86
86
|
result ??= "";
|
|
87
|
-
result +=
|
|
87
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
88
88
|
return result;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
@@ -111,7 +111,7 @@ class StepStringParser extends ParsingDfa16Table {
|
|
|
111
111
|
const nextChar2 = input[nextCursor2];
|
|
112
112
|
if (nextChar2 !== BSLASH) {
|
|
113
113
|
result ??= "";
|
|
114
|
-
result +=
|
|
114
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
115
115
|
cursor = nextCursor2 + 1;
|
|
116
116
|
break;
|
|
117
117
|
}
|
|
@@ -124,7 +124,7 @@ class StepStringParser extends ParsingDfa16Table {
|
|
|
124
124
|
return result;
|
|
125
125
|
}
|
|
126
126
|
result ??= "";
|
|
127
|
-
result +=
|
|
127
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
128
128
|
codePage = nextChar3 - A;
|
|
129
129
|
cursor = nextCursor3 + 1;
|
|
130
130
|
reificationIndex = cursor;
|
|
@@ -138,7 +138,7 @@ class StepStringParser extends ParsingDfa16Table {
|
|
|
138
138
|
const nextChar2 = input[nextCursor2];
|
|
139
139
|
if (nextChar2 !== BSLASH) {
|
|
140
140
|
result ??= "";
|
|
141
|
-
result +=
|
|
141
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
142
142
|
cursor = nextCursor2 + 1;
|
|
143
143
|
break;
|
|
144
144
|
}
|
|
@@ -148,7 +148,7 @@ class StepStringParser extends ParsingDfa16Table {
|
|
|
148
148
|
}
|
|
149
149
|
const nextChar3 = input[nextCursor3];
|
|
150
150
|
result ??= "";
|
|
151
|
-
result +=
|
|
151
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
152
152
|
/* eslint-disable no-magic-numbers */
|
|
153
153
|
if (nextChar3 < 127) {
|
|
154
154
|
result += String.fromCharCode(nextChar3);
|
|
@@ -171,7 +171,7 @@ class StepStringParser extends ParsingDfa16Table {
|
|
|
171
171
|
}
|
|
172
172
|
const nextChar2 = input[nextCursor2];
|
|
173
173
|
result ??= "";
|
|
174
|
-
result +=
|
|
174
|
+
result += decodeStepString(input.subarray(reificationIndex, cursor));
|
|
175
175
|
const hexParserTil0 = (count) => {
|
|
176
176
|
if (nextCursor2 + 1 >= endCursor || input[nextCursor2 + 1] !== BSLASH) {
|
|
177
177
|
return false;
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
// only the first segment (major) is meaningful and is the one CI carries forward.
|
|
6
6
|
// Must stay in `vN.N.N` shape: the CI stamp regex, scripts/updateVersion.mjs, and
|
|
7
7
|
// statistics.ts all match `v\d+\.\d+\.\d+`.
|
|
8
|
-
const versionString = 'Conway v1.
|
|
8
|
+
const versionString = 'Conway v1.444.1334';
|
|
9
9
|
export { versionString };
|