Skip to content

Latest commit

 

History

History
844 lines (830 loc) · 57.5 KB

RELEASE_NOTES.md

File metadata and controls

844 lines (830 loc) · 57.5 KB

kernelCAD v0.17.0

Summary

This release contains the changes merged since v0.16.0, including the agent skill guidance from the MUSE sweep (verify-before-submit, design-intent checks, recurring failure classes).

Highlights

Features

  • feat(skill): recurring failure classes in the troubleshooting section (b938ba57)
  • feat(skill): require verified models and design-intent checks (56e86e0a)
  • feat(scripts): wrapper typechecker for .kcad.ts examples (70dee6a9)
  • feat(cli): heap re-exec for mesh-heavy commands; env fallback (962bb508)
  • feat(scripts,studio): demo capture tuning, cutaway hide and camera refit (8ebf0a5d)
  • feat(scripts): add --fps/--width/--height to captureDemo (ab736d40)
  • feat(kernel): close deferred twist/sweep/revolve gaps on merged tree (a4269fc0)
  • feat(examples): v0.17 single-spool turbojet hero with render evidence (198fe09f)
  • feat(studio): photo attachments in the agent composer (#725) (c8da2fa5)
  • feat(studio): simplify the agent rail to one composer (#721) (66dc5452)
  • feat(modeling): twisted loft sections, NURBS section placement, real extrude twistAngle (b73defaa)
  • feat(direct-edit): drag-to-clearance hero, e2e, demo evidence (ba4084b9)
  • feat(studio): direct-edit translate gizmo with ghost preview (c0f79ffd)
  • feat(studio): drag snap and nudge math (0353868a)
  • feat(studio): staged-edit spec badge, validity delta, gated accept (7c6fb4a1)
  • feat(studio): staged-edit direct fields + candidate review (d0f1a8df)
  • feat(server): dev-only PUT save-back for example sources (01536763)
  • feat(direct-edit): plan atomic drag edits (e64759b2)
  • feat(direct-edit): resolve per-axis motion specs (a402cf03)
  • feat(direct-edit): resolve named entities to AST call sites (ca534153)
  • feat(diagnostics): catalogue direct-edit codes (ee329b8b)
  • feat(sdf): add translate transform to SDF fields (800517f3)

Fixes

  • fix(site): keep the editable-source note on the landing hero (9ee2666e)
  • fix(site): keep the simplified capability names on the landing (98cb8968)
  • fix(site): restore the manufacturable-geometry landing hero (9c991d72)
  • fix(examples): connect the turbojet mechanism; refresh evidence (f84f01e8)
  • fix(capture): refuse local imports loudly; dedupe option guards (8cf71192)
  • fix(mates): count mate-vocabulary joints in validate and MCP (1ff5f2ca)
  • fix(modeling): close twist-feature review gaps and API truth pass (d215cbb2)
  • fix(eval): pass generation events into sweep scoring transcripts (1a94f82f)
  • fix(eval): return judge payload on wrapper stdout so categories are parsed (af1fa9d8)
  • fix(lint): split hasNonemptyGeometry; sync onReady ref in effect (0661fb58)
  • fix(embed): wait for displayed model, not just source download (df3b916f)
  • fix: move OCCT wasm poison detection into shared for layering/CLI (d32607f1)
  • fix: recover from OCCT wasm heap poison in long-lived Node/export (bde00f6b)
  • fix(e2e): use Playwright getByLabel in studio gate spec (c76688a1)
  • fix(scripts): update kinematic facade smoke assertions (6dd0ec1b)
  • fix(occt): drop overly narrow return type on resolvePlaneDirectionsFallback (3555378d)
  • fix(lint): layering regex matched same-directory siblings named like a layer (2a0722ac)
  • fix(assembly): keep name an own property; pin the joint-support hint (732dc630)
  • fix(assembly): restore diagnostic hints and docs after split (2de71746)
  • fix(lint): exempt the two composition roots from one edge only (1e8f0ce6)
  • fix(lint): layering patterns were overridden by the shim block (5b3c0023)
  • fix(studio): restore recompute timing and original effect semantics after hook split (82db8b18)
  • fix(layering): repoint moved imports and restore inspectStep message text (8dddabc3)
  • fix(lint): close layering rule gaps and add kinematic layer (c1d969a5)
  • fix(quality): refuse to launder ratchet regressions, tighten shrink handling (3b5050d9)
  • fix(direct-edit): fail closed on anchor reassignment; user-visible save failures (96cd7594)
  • fix(bom): report flat sheet-metal bbox and split rows on density mismatch (d15bf835)
  • fix(studio): detect mate-driven parts; harden gizmo races; cover gizmo logic (a2bd0897)
  • fix(studio): guard approve re-entrancy and post-await staleness (8da30617)
  • fix(studio): validate review endpoint payload shape (2247c7c9)
  • fix(direct-edit): signal candidate evaluation failure with 422 (3cc06430)
  • fix(direct-edit): separate review success from interference evidence (75dc3ac5)
  • fix(direct-edit): review candidates via source-capable review endpoint (a594903e)
  • fix(server): realpath guard and unique tmp save path (363d3b6a)
  • fix(direct-edit): reject non-finite deltas; dedicated shared-param code (06d34540)
  • fix(direct-edit): dedupe shared params; severity from registry (a8a4a06d)
  • fix(direct-edit): fail closed on reassigned variable anchors (d628435e)
  • fix(direct-edit): treat sdf/lib roots as benign in prefix scan (d3e6e6c7)
  • fix(direct-edit): follow identifier aliases in prefix-transform scan (45e8de73)
  • fix(direct-edit): downgrade drag edits after prefix rotations (7e7f068f)
  • fix(direct-edit): require terminal spine translate; symbol-accurate param resolution (623b7efa)
  • fix(direct-edit): resolve signed and parenthesized numeric literals (e2aefabf)
  • fix(direct-edit): fail closed on shadowed params; read numeric literal values (9152b303)
  • fix(direct-edit): fail closed on ambiguous anchors; cover error branches (fd3f6272)
  • fix(diagnostics): sync catalogue count titles; clarify unresolved hint (f3f5666a)
  • fix(sdf): validate translateField offsets; document translate in fields skill (2439492a)

Quality And Robustness

  • refactor(modeling): rename createApi to createModelingApi (9a981aa5)
  • refactor(occt): break NURBS lowerer cycles via nurbsKnots leaf (35aae2f0)
  • refactor(composition): own kinematic attachment in the script API (8a1378a1)
  • refactor(occt): break occtBackend-sceneToWorldFrame cycle via type-only import (3e0b5344)
  • refactor(occt): break edgeQueries-occtBackend cycle via type-only import (6c06dec6)
  • refactor(naming): break index-queryEvaluator cycle via topoRef import (a371ca65)
  • refactor(kernel): split extrude profiles out; clear ratchet findings (720f6b49)
  • perf(validate,render): prune clash candidates; inspect views + mask cap (5cde391a)
  • refactor(composition): own script entry wiring and thread sweep evaluator (09bb4ded)
  • refactor(funnel): split GallerySection by phase (3f34730f)
  • test(funnel): characterise GallerySection before split (9c3730fe)
  • refactor(studio): split Header by phase (4557d1b4)
  • refactor(studio): split useMarkingCanvas by phase (4554f633)
  • refactor(studio): split ParametricLayer by phase (9f1aa69a)
  • refactor(studio): split Toolbar by phase (21076bab)
  • test(studio): characterise ParametricLayer before split (ae78ec8d)
  • refactor(reconstruct): split buildMeshLedger by phase (49b5caba)
  • refactor(studio): split captureInspectionChannels by channel render (454b358e)
  • refactor(studio): split useRecomputeResult by phase (fcf5aa0a)
  • refactor(occt): split labelToEdgeQuery by phase (d37e1f81)
  • refactor(studio): split ViewerScene by layer phase (fb1b7549)
  • refactor(modeling): split measureJointVisuals by phase (a533ffcf)
  • refactor(studio): split useProjectLiveUpdates by phase (3003be3b)
  • test(studio): characterise ViewerScene before split (9a03f451)
  • refactor(studio): split AIAssistant by phase (c0498bcd)
  • refactor(occt): split renderObliqueSection by phase (7edec2db)
  • refactor(occt): split lowerSheetMetalBend by phase (37fedb6a)
  • test(studio): characterise useProjectLiveUpdates before split (ecaf9cfa)
  • refactor(modeling): split meshFeaturesPerFeature by phase (444cb54b)
  • refactor(modeling): split fetchPartFromUrlHost by phase (b9f3cc51)
  • refactor(studio): split useRelowerSubscription by phase (12fdff2f)
  • refactor(occt): split renderSections by phase (0567b122)
  • refactor(studio): split ViewGizmo by phase (c8730e2b)
  • refactor(studio): split MePage by phase (53811e41)
  • refactor(studio): split ServerRevisionHistory by phase (cac5f700)
  • refactor(render): split runFrameLoopPhase by phase (a4348781)
  • refactor(reconstruct): split buildBody by phase (39ef0465)
  • refactor(studio): split NumericScrubInput by phase (7cd7a9d1)
  • test(studio): characterise MePage before split (2c7ed6fb)
  • refactor(kernel): split resolveTopoRef by phase (b075b2ad)
  • refactor(studio): split enqueue by transition kind (3325a41f)
  • refactor(modeling): split makeCaptureMethods by phase (10b1b49c)
  • refactor(kernel): split makeQuery by phase (7f1ff529)
  • refactor(studio): split UserMenuInner by phase (10138ec9)
  • refactor(kinematic): split analyzeLoadedPart by phase (fd73d7a6)
  • refactor(modeling): split convertSketchEntitiesToConstraints by phase (8a1e7ee4)
  • refactor(studio): split Viewer by phase (331f4158)
  • test(studio): characterise Viewer before split (3ae5596a)
  • refactor(studio): split useAIAssistantChat by phase (6574355f)
  • refactor(mcp): split listFacesTool by phase (b9c15635)
  • test(studio): characterise useAIAssistantChat before split (ff0f8d68)
  • refactor(capture): split makePartRef by chain method (95b3a781)
  • refactor(reconstruct): split adoptFragments by phase (7b142832)
  • refactor(mcp): split summarizeLineage by phase (b9ee3c10)
  • test(reconstruct): characterise adoptFragments before split (39ffbfa0)
  • refactor(studio): split CodeProvider by phase (e2a41f0e)
  • refactor(occt): split tryExtractPlaneFromPlaneRecord by phase (0acce979)
  • refactor(drawing): split applyRadialCallouts by phase (40e7c199)
  • refactor(agent): split exportSvgDrawing by phase (8b2cfc5e)
  • refactor(studio): split useDemoAutoLoad by phase (a24de77c)
  • refactor(mcp): split reviewPaintPeekLatestTool by phase (a459d478)
  • refactor(drawing): split collectDimensionEdges by phase (6369998d)
  • refactor(occt): split tryExtractPlaneViaReplicadHelper by phase (c000d59c)
  • refactor(occt): split tryGetVolume by phase (a47269fc)
  • refactor(agent): split runAnimate by phase (cbd11b62)
  • refactor(mcp): split diffGeometryTool by phase (dca19f79)
  • refactor(studio): split SceneBrowser by phase (a1179f2e)
  • refactor(vision): split extractSilhouettePolyline by phase (557e6584)
  • test(mcp): characterise reviewPaintPeekLatestTool before split (ad1362b3)
  • refactor(reconstruct): split classifyRegions by phase (1629034f)
  • refactor(occt): split drawingForLoop by phase (546cce7d)
  • refactor(mcp): split drawingToCadTool by phase (86d686a5)
  • refactor(occt): split placeRadiusAndChamferNotes by phase (9f802902)
  • refactor(cli): split evaluate action by phase (8cb397c8)
  • refactor(reconstruct): split emitCutoutOps by phase (93fc5c95)
  • refactor(cli): split renderCommand by phase (7d968f04)
  • refactor(import): split chainLoops by phase (933f123a)
  • refactor(mcp): split summarizeAssemblies by phase (f02b3dfb)
  • refactor(cli): split evaluateAndBuildScript by phase (cfcebecb)
  • refactor(occt): split resolveEdgesRef by phase (0987b53e)
  • test(reconstruct): characterise emitCutoutOps before split (8ed1e0b7)
  • test(occt): characterise resolveEdgesRef before split (f6363fc7)
  • refactor(studio): split EmbedPage by phase (593ca2b1)
  • test(studio): characterise EmbedPage before split (8dfc3400)
  • refactor(studio): split StudioShell by phase (ac4a26ab)
  • refactor(mates): split resolveStaticLoads by phase (ef52d5ce)
  • refactor(studio): split ProjectProvider by phase (3100c697)
  • refactor(dfm): split checkMinWall by sample and hit phases (78c1a959)
  • refactor(usd): split buildLinkBlocks by phase (14835e56)
  • refactor(capture): split computeConstructionClosure by phase (61ff7765)
  • refactor(mates): split validateActuatorLimit by phase (4a0eb822)
  • refactor(capture): split detectAttributeShadowing by phase (1c50d4ff)
  • refactor(explode): split mateAxisOffsets by edge-select and step phases (cc9b8347)
  • refactor(studio): split SceneTab by phase (42c29f31)
  • refactor(mates): split validateMatePhysicalRealization by phase (241ecac5)
  • refactor(modeling): split lowerProjectCurve by phase (93162baf)
  • refactor(capture): split buildHelixTubeMesh by phase (f9896a59)
  • refactor(mechanism-truth): split buildPartAdjacency by edge source (db9cef5a)
  • test(studio): characterise SceneTab before split (a87fec0d)
  • refactor(mates): split buildPoseEnvelopeSamples by phase (c34ec4de)
  • refactor(mates): split pointTriangleDistanceSquared by phase (9a670d0b)
  • refactor(assembly): split checkPoseLimits by phase (485917e3)
  • refactor(capture): split forwardKinematics by phase (4a4fd6c2)
  • refactor(mates): split jointTransformForMate by phase (646949de)
  • refactor(dfm): split analyzeBuildDirection by phase (4be847f1)
  • refactor(modeling): split pointTriangleDistanceSq by region cascade (4c3070ba)
  • refactor(mates): split resolveSolvedLoads by phase (e07ff3dd)
  • refactor(capture): split buildEmbossTextFeatureSpec by phase (a202074c)
  • refactor(compute): split lowerAndEmit by phase (d194e8fa)
  • refactor(mates): split mateFk by phase (87f0896c)
  • refactor(capture): split validateDfmSpecCheckFields by phase (b6b51daa)
  • refactor(mates): split validateSolvedContact by phase (3d228c7c)
  • refactor(occt): split buildNurbsSketchOnPlane by phase (c709298a)
  • refactor(server): split sourceHandler by phase (d2e204f4)
  • refactor(studio): split useAnimationPlayback by phase (9de9afde)
  • refactor(reconstruct): split decomposeRun by phase (5a65319b)
  • refactor(mcp): split shapeDraftEdit by phase (4d614ce9)
  • refactor(mcp): preserve addTransmissionSource emit bytes (0fb6b6c8)
  • refactor(reconstruct): split fitGuidedLoop by phase (e9c5f418)
  • test(mcp): characterise shapeDraftEdit before split (5df04784)
  • refactor(studio): split BillingPage by phase (7a000edc)
  • refactor(mcp): split evaluateSide by phase (516c869e)
  • refactor(studio): split ProjectManagerDialog by phase (d0420abd)
  • refactor(cli): split trustedManifestPath by phase (b73582bb)
  • refactor(studio): split useNumericScrub by phase (9b13380f)
  • test(reconstruct): characterise fitGuidedLoop before split (f4824a1b)
  • test(studio): characterise BillingPage before split (7aa5bf3b)
  • refactor(reconstruct): split rectilinearCorners by phase (349a86d5)
  • refactor(studio): split SelectionProvider by phase (b849609c)
  • refactor(mcp): split repairScriptTool by phase (2694386b)
  • refactor(studio): split StatusBar by phase (7e8581e4)
  • refactor(codegeneration): split stepPunct by phase (3352c5df)
  • refactor(drawing): split readTitleBlock by phase (be9cc2a2)
  • refactor(reconstruct): split reconstructFromSoup by phase (6678bad4)
  • refactor(codegeneration): split handleTypeKeyword by phase (f71b0277)
  • test(studio): characterise SelectionProvider before split (d3a2b7a3)
  • refactor(mcp): split solveMatesTool by phase (500eeb25)
  • refactor(studio): split direct-edit drag planning by phase (63c00245)
  • test(drawing): characterise readTitleBlock before split (49f12686)
  • refactor(server): split createSessionPool by phase (684dd891)
  • test(codegeneration): characterise handleTypeKeyword before split (0afc2433)
  • refactor(mcp): split consumeLexicalContext by phase (06b0d152)
  • refactor(codegeneration): split skipTemplate by phase (fb225b30)
  • test(codegeneration): characterise skipTemplate before split (945cdbbe)
  • test(reconstruct): characterise reconstructFromSoup before split (8e8ba7ea)
  • refactor(runtime): split walkResolve by phase (af265dde)
  • refactor(studio): split CameraHandler by phase (760c2b66)
  • refactor(studio): split GenerateHero by phase (76e0f02c)
  • refactor(mcp): split addTransmissionSource by phase (e2bb1f74)
  • refactor(reconstruct): split emitOp by phase (df6679aa)
  • refactor(repair): split recentreEmbossAnchor by phase (9cd07159)
  • refactor(studio): split StagedEditContextDetails by phase (b007e568)
  • test(reconstruct): characterise emitOp before split (270c56ae)
  • refactor(mcp): split scanArgEnd by phase (7ba4be18)
  • test(repair): characterise recentreEmbossAnchor before split (0d5357c5)
  • refactor(modeling): split variableSweep by phase (c3c2a8ee)
  • refactor(capture): split recordSubAssembly by phase (b3e4c24b)
  • refactor(cli): split evaluateWithEnvelope by envelope phase (62906535)
  • refactor(occt): split renderAnnotations dispatch by phase (cca6bd6a)
  • refactor(occt): split lowerAssemblyModel by phase (b769c648)
  • refactor(mates): split validateJointVisualExposure by phase (1daa851c)
  • refactor(capture): split buildRenderEnvironmentFeatureSpec by phase (0c195162)
  • refactor(drawing): split splitAtJunctions by junction phase (ef5f52ba)
  • refactor(occt): split recogniseChamfers by phase (a854d922)
  • refactor(occt): split applyVariableEdgeFeature by phase (8b48e0b8)
  • refactor(export): split urdfInertialToSdf by phase (2bb8b9c8)
  • refactor(mates): split analyzeMate by phase (8de2ba13)
  • refactor(modeling): split nearestSq by phase (7d89c752)
  • refactor(drawing): split levelNamer by naming phase (caa375f9)
  • refactor(occt): split lowerVariableSweep by phase (93b47b50)
  • refactor(occt): split meshFaceToGeometry by phase (0cebb0c4)
  • refactor(mates): split validateJointAxisBindingWithCache by phase (5cf0e9d9)
  • refactor(codegeneration): split looksLikeGeneric by phase (b6ac7bb4)
  • refactor(mcp): split addPathSpline by validation phase (0351d941)
  • refactor(mates): split reviewPhysicalUseCaseStatics by phase (cae7606a)
  • refactor(intent): split isEmbossTextMetadata by phase (bc05a4e3)
  • refactor(import): split parseTransform by phase (dc60caa1)
  • refactor(mates): split reviewJointTopology by phase (650e269f)
  • refactor(mcp): split captureAnimationTool by phase (82037e7a)
  • refactor(mates): split reviewPoseEnvelope by phase (3806df09)
  • refactor(worker): split extrude by phase (921f2246)
  • test(import): characterise parseTransform before split (d04c66f2)
  • refactor(naming): split evalAst by phase (5e558a85)
  • test(worker): characterise extrude before split (be518cd6)
  • refactor(dfm): split anchoredChord by phase (ec481d80)
  • refactor(capture): split validateMateCapacityOptions by phase (dca1eaf3)
  • refactor(studio): split mateGraphDrivesPart by phase (3757c056)
  • refactor(occt): split meshShapeForExport by phase (cec8d554)
  • test(examples): twisted-blade loft fixture with geometry assertions (03992270)
  • refactor(occt): split findCanonicalFaceHash by phase (84050831)
  • refactor(occt): split processCommand by phase (e601c249)
  • refactor(mcp): split visualReviewFacts by phase (aa029747)
  • refactor(modeling): split raycast by leaf scan and child push (3c99adb0)
  • refactor(agent): split computeRepairRegion by phase (52802487)
  • refactor(occt): split warnPlacementIgnoredByMateFk by phase (50daa8cc)
  • refactor(capture): split generatePlanarUVs by phase (09f8c4f0)
  • refactor(import): split number by phase (84bf8c18)
  • refactor(modeling): split collectMateRows by resolve/build/tolerance phase (d7c12796)
  • refactor(capture): split validateAnimationTracks by phase (b3dd56ba)
  • refactor(mcp): split evaluateQueryTool by phase (941fc055)
  • refactor(occt): split resolveVariableSweepSpine by phase (90a186e2)
  • refactor(agent): split buildSuggestedRepairPrompt by phase (e9aef7d0)
  • refactor(modeling): split checkTendonBodyIntersectAtPose by phase (d628714c)
  • refactor(export): split emitJoint by phase (3dee0a2f)
  • refactor(mcp): split evaluateScriptTool by phase (95bba308)
  • refactor(occt): split lowerPattern by phase (5eb124c6)
  • refactor(agent): split sceneToConnectorManifest by phase (cc4547fb)
  • refactor(shared): split classifyVariable by shape marker table (c5f5596c)
  • refactor(mates): split inferPinRadius by phase (9fe9d5f1)
  • refactor(reconstruct): split fitCircle2D by phase (c2372e33)
  • refactor(capture): split validateSolvedAssemblyPoses by phase (470b72f4)
  • refactor(funnel): split useGeneration submit by phase (04bf1c95)
  • refactor(studio): split ProjectClaimControl by claim state (c56aa848)
  • refactor(naming): split resolveCreated by phase (59dcba4c)
  • refactor(mates): split inferPinRadius by phase (ae2106c2)
  • refactor(reconstruct): split buildFaceBook by phase (6dd4f2e5)
  • refactor(capture): split validateDfmSpecChannelEntries by phase (3975baa8)
  • refactor(funnel): split parseBlock by phase (2473f4fb)
  • test(studio): characterise ProjectClaimControl before split (a140bd5c)
  • test(reconstruct): characterise buildFaceBook before split (6c703f76)
  • refactor(capture): split reflectSketchCommands arrow by phase (79c0f1fe)
  • test(capture): characterise reflectSketchCommands before split (cd37d24d)
  • refactor(capture): split loft by phase (fe889f58)
  • refactor(modeling): split countMouths by phase (9f48d7a9)
  • refactor(cli): split exportPartsScript by phase (51c9065b)
  • refactor(mcp): split getFaceLineageTool by phase (76510eb3)
  • refactor(occt): split lowerHoles by phase (f6472a37)
  • refactor(studio): split SectionPanel by phase (cba09fc8)
  • refactor(drawing): split resolveHoleExtent by phase (18b64198)
  • refactor(reconstruct): split buildBody block mapping by phase (252ad94f)
  • refactor(occt): split tryExtractCylinderFromFace by phase (8f936d1a)
  • refactor(drawing): split recoverArcs by phase (6516ed98)
  • refactor(worker): split bboxOf by phase (fccc72dd)
  • refactor(sdformat): split sdfSerialize by phase (8dbb4415)
  • test(occt): characterise tryExtractCylinderFromFace before split (2cdc3f2c)
  • refactor(mcp): split scanLineForTopLevelReturn by phase (7d673d9c)
  • refactor(fea): split computeFeaSummary by phase (d1d9229e)
  • refactor(drawing): split buildLinearDimensions by phase (b18c721f)
  • refactor(studio): split SidePanel by phase (68b2e070)
  • refactor(reconstruct): split paramProfile by phase (d6bf0687)
  • refactor(mates): split analyzeDisconnectedMesh by phase (0d1cd2e4)
  • refactor(mcp): split dfmPreflightTool by phase (1f3a2ca6)
  • test(fea): characterise computeFeaSummary before split (44e30f5d)
  • test(drawing): characterise buildLinearDimensions before split (20e5e291)
  • refactor(studio): split mergePhysicalUseCaseReview by phase (a6332c45)
  • refactor(mcp): split weakVisualCheckEvidence by phase (ebf98260)
  • refactor(reconstruct): split growPlanes by phase (36481f64)
  • test(mates): characterise analyzeDisconnectedMesh before split (87190ff2)
  • refactor(import): split emitPath by phase (82da1f3b)
  • refactor(mcp): split findPartTool by phase (0ed86e4d)
  • refactor(parts): split fetchPartHost by phase (74f69fa1)
  • refactor(studio): split workbenchReducer by phase (fab6ffaa)
  • refactor(render): split captureAnimation by phase (e8ce465a)
  • refactor(import): split importSvgText by phase (63ef04c4)
  • refactor(mcp): split inspectRobotTool by phase (8f335f85)
  • refactor(occt): split flattenPattern by phase (32444da2)
  • refactor(occt): split loftSketchSections by phase (040c7ecf)
  • refactor(occt): split inspectContinuity by phase (f0c2e2b6)
  • refactor(mcp): split resolveTopoRefTool by phase (0dad122c)
  • refactor(modeling): split spring by phase (0b0f5a33)
  • refactor(capture): split recordMate by phase (6a991346)
  • refactor(reconstruct): split fitCylinder by phase (445bc388)
  • test(capture): characterise recordMate before split (8cd8d712)
  • refactor(capture): split spline by phase (7dc94763)
  • refactor(capture): split normalizeFdmSettings by phase (7e77abdb)
  • refactor(joints): split preflightSupportedServoRevolute by phase (b6b4c1c1)
  • refactor(modeling): split voxelize by phase (22f7ee08)
  • refactor(studio): split addRecordKeys by phase (d67bff4a)
  • refactor(studio): split jointPrimitiveToSnapshot by phase (027394a6)
  • refactor(compute): split processRecord by phase (7a3959e8)
  • refactor(reconstruct): split segmentMesh by phase (11a1cb7d)
  • refactor(mates): split checkRequiredSupport by phase (7446e16f)
  • test(compute): characterise processRecord before split (b6f0fdbc)
  • refactor(direct-edit): split planDrag by phase (06708513)
  • refactor(repair): split recentreHoleOnFace by phase (484d06df)
  • refactor(mates): split reviewMechanicalTransmission by phase (dfff69de)
  • refactor(studio): split AgentComposer by phase (2a93407a)
  • refactor(export): split urdfSerialize by phase (f57cd81c)
  • refactor(occt): split findEdgeByName by name form (1394f121)
  • refactor(capture): split emitSceneBackendFanout by phase (68ecf7b7)
  • refactor(mates): split reviewCertifiedJointLoads by phase (5fd1f904)
  • refactor(drawing): split collectHolePositionDimensions by phase (ce994c78)
  • test(occt): characterise findEdgeByName before split (347f2541)
  • refactor(occt): split lowerFillet by phase (f46c24b6)
  • refactor(export): split materialBlock by phase (774ca36a)
  • refactor(studio): split setSelectedFace by phase (7d7f021a)
  • refactor(dfm): split checkClearance by phase (429fdd10)
  • refactor(capture): split parseJpeg by phase (1dcd290b)
  • test(studio): characterise useFaceSelection before split (b42d1908)
  • refactor(cli): split renderHuman by phase (ca544815)
  • refactor(funnel): split PricingTiers tier render by phase (294cb553)
  • refactor(modeling): split createApi into namespace modules (45abc80c)
  • refactor(dfm): split buildNode by phase (bd275764)
  • refactor(drawing): split projectionSymbol by phase (e33875be)
  • refactor(naming): split formatAst by phase (5d4933d2)
  • test(cli): characterise renderHuman before split (8714cdaa)
  • refactor(animation): split verifyAnimation by phase (8b1b11d2)
  • refactor(occt): split buildMaterial by phase (fd992762)
  • refactor(intent): split isCurve3DMetadata by phase (cf2e5f3c)
  • refactor(mcp): split addPatternFeatureTool by phase (77cfde5c)
  • refactor(mcp): split drawingToCadTool by phase (ee65f4d2)
  • refactor(capture): split bridgeCurves by phase (4d06a353)
  • refactor(occt): split classifyHoleFace by phase (20d7b83d)
  • refactor(intent): split isVariableSweepMetadata by phase (9b102867)
  • refactor(mcp): split fetchPartTool by phase (4611e833)
  • refactor(occt): split resolveBendAxis by phase (d1b768f2)
  • refactor(mcp): split exportModelTool by phase (49782477)
  • refactor(mcp): split getMassPropertiesTool by phase (d272633e)
  • refactor(capture): split buildReferenceImageFeatureSpec by phase (4d602ec5)
  • refactor(occt): split buildNurbsFace by phase (c78b7c21)
  • refactor(mcp): split runFeaTool by phase (344f7424)
  • test(occt): characterise resolveBendAxis before split (510700d2)
  • refactor(mates): split measureBearingCoplanarity by phase (ca2a0c77)
  • refactor(mcp): split exportPartTool by phase (5e4b4eb2)
  • refactor(mates): split expandCertificatePoses by phase (eb0d9ed4)
  • refactor(occt): split lowerCutout by phase (7bd74ef6)
  • refactor(naming): split parseTopoRef by phase (4d1bdb12)
  • test(mcp): characterise runFeaTool before split (38ed7f98)
  • refactor(parts): split findPartHost by phase (cf17969c)
  • refactor(occt): split getWire by phase (5e3f0729)
  • refactor(capture): split imageDimensions by phase (2430812d)
  • refactor(shared): split computeProjectedUVs by phase (621af9d9)
  • test(occt): characterise getWire before split (7377a363)
  • refactor(capture): split buildEdgeFeatureRef by phase (d29870d6)
  • refactor(reconstruct): split planPhases.ts into focused modules (b56e6ae3)
  • refactor(mates): split suggestLimitFix by phase (ec1d5b01)
  • refactor(occt): split tryVec3 by phase (54ae4cd0)
  • refactor(mates): split validateAssemblyWithMates by phase (f7c94f88)
  • refactor(mcp): split addVariableSweep by phase (b27ab53f)
  • refactor(kinematic): split solveAnalytical by phase (21c3ee99)
  • refactor(kinematic): split runBeamMode by phase (9b2e85df)
  • refactor(mcp): split inspectTool by phase (cc46c1ce)
  • test(kinematic): characterise solveAnalytical before split (57b3a549)
  • refactor(kernel): split occtBackend.ts into focused modules (aac28831)
  • refactor(occt): split lowerSheetMetalBend by phase (24e7b98f)
  • refactor(server): split paramsHandler by phase (8570b7a7)
  • refactor(mcp): split whyDidThisFailTool by phase (168def49)
  • refactor(modeling): split proxy.ts into focused modules (6e60dc20)
  • refactor(occt): split onmessage arrow by phase (804645d2)
  • refactor(agent): split runAnimate by phase (4c724469)
  • refactor(modeling): split sketch.ts into focused modules (d62b810d)
  • refactor(reconstruct): split fitPlane by phase (ccc67bfb)
  • refactor(occt): split worker message handler by phase (45d0e1f4)
  • refactor(runtime): split checkOrphanParts by phase (0d30bd3d)
  • refactor(occt): split normaliseAutoAnnotate by phase (382778a8)
  • refactor(vision): split traceFromImage by phase (1c5f1068)
  • test(occt): characterise worker message handler before split (80836c4d)
  • refactor(parts): split validateConnectorManifest by phase (28b2b6a0)
  • refactor(occt): split normaliseAutoAnnotate by phase (012835b8)
  • refactor(mates): split reviewPhysicalUseCasesWithReachability by phase (8e9be909)
  • refactor(drawing): split verifyReconstruction by phase (a95a8bbd)
  • refactor(kinematic): split solveNumeric by phase (27ccb4a8)
  • refactor(loop): split runClosedLoop by phase (d6b05075)
  • refactor(capture): split buildDrawingToleranceFeatureSpec by phase (024e1e74)
  • refactor(dfm): split runDfmChecksOnModel by phase (76f9c8f2)
  • refactor(kinematic): inject sweep evaluator into sweepTolerance (4f3ffa54)
  • refactor(mates): split reviewMechanicalIntent by phase (802ce386)
  • refactor(mcp): split addPathNurbsSegment by phase (345b87f3)
  • test(mates): characterise reviewMechanicalIntent before split (606e24a2)
  • refactor(occt): split drawingAuto helpers into focused modules (43ff0771)
  • refactor(mcp): split inspectSectionTool by phase (b1a45da5)
  • refactor(mates): split resolveActuators by phase (7f168e3d)
  • refactor(parts): split isPartRecord by phase (402243f3)
  • refactor(mates): split requiredContactPathActuatorSources by phase (ef15e9fa)
  • refactor(script-runtime): split computeBom by phase (a00a8826)
  • refactor(cli): split renderScript by phase (c34deb5f)
  • refactor(mcp): split findLastTopLevelReturnLine by phase (12298113)
  • refactor(reconstruct): split sliceAtZ by phase (129e2db3)
  • refactor(mates): split makePhysicalUseCaseRecord by phase (950bdb60)
  • refactor(mcp): split addSurfaceFromBoundary by phase (444971db)
  • refactor(cli): split export action by phase (ae9c223c)
  • test(mcp): characterise addSurfaceFromBoundary before split (ad33784e)
  • refactor(mcp): split findLastTopLevelReturnLine by phase (01ee3dba)
  • refactor(drawing): split parseDimensionText by phase (169de172)
  • refactor(runtime): split checkJointMeshContinuity by phase (d5e637fe)
  • test(mcp): characterise sourceEditUtils before split (d50d8f52)
  • refactor(reconstruct): split fitLoop by phase (b329b241)
  • refactor(reconstruct): split analyseMesh by phase (473754ae)
  • refactor(modeling): break the captureSession-buildModel import cycle (051277aa)
  • refactor(occt): split pickFace by phase (58d9c6bb)
  • refactor(validation): split validateCommonHoleFields by phase (ec7b90c0)
  • test(reconstruct): characterise analyseMesh before split (ae21b66b)
  • refactor(mcp): split lineContainsTopLevelReturn by phase (62ad809a)
  • refactor(reconstruct): split growPlanes by phase (7213e4c1)
  • refactor(mcp): split listFaceLabelsTool by phase (d8fdd834)
  • refactor(server): split animationBakeHandler by phase (13daaaa5)
  • refactor(mcp): split designLoopTool by phase (f4179db4)
  • refactor(drawing): split identifyViews by phase (c4c607e3)
  • refactor(mates): split assessPhysicalUseCaseReachability by phase (a3d1efd4)
  • refactor(occt): split inspectCurvature by phase (a20143ad)
  • refactor(mates): split validateAssembly by phase (bf3f834a)
  • refactor(occt): split fromTriangleMesh by phase (276cd622)
  • refactor(mcp): split buildSurfaceQualityOverlay by phase (5b81ffa5)
  • refactor(kernel): split stitchCracks by phase (3bf67771)
  • refactor(capture): split collectTendonMeshes by phase (a348d17c)
  • test(mcp): characterise buildSurfaceQualityOverlay before split (3f76c331)
  • refactor(occt): split buildNurbsSketchOnPlane by phase (4d01c3c4)
  • test(capture): characterise collectTendonMeshes before split (6a7cec38)
  • refactor(mcp): split injectIntoChain by phase (1351a43d)
  • refactor(joints): split withDefaults by phase (6efa8aef)
  • refactor(mcp): split findCloseCall by phase (186b7e9b)
  • refactor(naming): split parseExpr by phase (8fc2e327)
  • refactor(studio): drop the set-state-in-effect disable in src/studio/App.tsx (935a75b8)
  • refactor(studio): drop the set-state-in-effect disable in src/studio/components/demoPlayer/useDemoPlayerApi.ts (2420160a)
  • refactor(studio): drop the set-state-in-effect disable in src/studio/components/demoPlayer/useDemoAutoLoad.ts (ce8d2696)
  • refactor(studio): drop the set-state-in-effect disable in src/studio/context/geometry/usePreviewExecution.ts (4c00e6e1)
  • refactor(studio): drop the set-state-in-effect disable in src/studio/context/geometry/useSessionToken.ts (146a23ef)
  • test(studio): follow the agentEnabled derivation into its helper (10bc5cb0)
  • refactor(studio): replace AnimationEngine classify switch with lookup sets (44d88e7b)
  • refactor(studio): extract GenerateHero from GeneratePage (d3747bcd)
  • refactor(studio): hoist StudioShell flag and count derivations (eb254edb)
  • refactor(studio): extract useViewportToggles from StudioShell (f28d706e)
  • refactor(studio): extract SceneFeatureRow from SceneBrowser (7c76dae2)
  • refactor(studio): extract SceneContextMenu from SceneBrowser (f66eb961)
  • refactor(studio): extract ScenePanel from SidePanel (b34826e2)
  • refactor(studio): extract BuildLoopPanel from SidePanel (1dea8571)
  • refactor(studio): extract AnimationTab view parts (3c9c74c0)
  • refactor(studio): extract useStagedEditActions from StagedEditSlot (1db943fc)
  • refactor(studio): extract useNumericScrub and ScrubRange from NumericScrubInput (48e75d9a)
  • refactor(vision): split parseAndValidate by phase (1561b703)
  • refactor(import): split importDxfText by entity kind (c2333f67)
  • refactor(drawing): split hole candidate loop by phase (13734169)
  • refactor(occt): split classifyChain by phase (25c97c8f)
  • refactor(modeling): split Shape.material by phase (7c2c0730)
  • test(studio): follow the LLMService dynamic import into the extracted hook (299704ca)
  • refactor(studio): extract drag hooks and controls from DirectEditGizmo (87da0637)
  • refactor(studio): extract PlanSummaryCard from MePage (a5be574f)
  • refactor(modeling): split buildFeaStudyFeatureSpec by phase (88f7e051)
  • refactor(kinematic): split evaluateCombo by phase (f882297b)
  • refactor(studio): extract magic comment and safe-apply hooks from CodeContext (0ca70a82)
  • refactor(studio): extract useMePageData from MePage (bfb50234)
  • refactor(mcp): split listFaces face summariser by phase (a660169f)
  • refactor(modeling): split assemblyToMjcf by phase (b6f8d842)
  • refactor(occt): split lowerEmbossText by phase (914a268e)
  • refactor(studio): extract ProjectClaimControl from ProjectPage (f7073007)
  • refactor(capture): split nurbsSegment by phase (6f619b74)
  • refactor(mcp): split renderPreviewWork by phase (746b46ae)
  • refactor(studio): extract useProjectLiveUpdates from ProjectPage (a5c677dd)
  • refactor(studio): extract ViewerScene and viewer hooks from Viewer (e2b5491b)
  • refactor(studio): extract useWorkbenchValue from WorkbenchContext (e4d8b928)
  • refactor(reconstruct): split decomposeRun by phase (6446e97e)
  • refactor(dfm): split analyzeBuildDirection by phase (ee613e24)
  • refactor(agent): split edgeMatchesQuery by phase (644c58f5)
  • refactor(studio): extract phase helpers from buildMaterialFromPBR (d9a7b69a)
  • refactor(studio): extract sendMessage phases from LLMService (7458dafe)
  • refactor(studio): split isMatedAnchor into named phase helpers (9dce6a4e)
  • test(animation): widen bake timeline budget for slow hosts (6eeb9ec3)
  • test(scripts): widen ratchet scan timeouts for slow hosts (45079f95)
  • refactor(mates): split contact reachability out of reviewUseCases phase (d1da437d)
  • refactor(joints): split validatePreflight by phase (8d7ddefd)
  • refactor(mates): split reviewPoseEnvelope by phase (2fb6194e)
  • refactor(render): split headlessRender by phase (0c7e6122)
  • refactor(mates): split reviewPhysicalUseCases by phase (19e898df)
  • refactor(drawing): split annotation arrow by phase (c3549f39)
  • refactor(reconstruct): split reconstructFromSoup by phase (5366e08f)
  • refactor(fea): split runFeaStudy by phase (d1adf8ae)
  • refactor(capture): split meshFeaturesPerFeature by phase (184db523)
  • refactor(mcp): split renderPreviewTool by phase (c77d09e3)
  • refactor(reconstruct): split detectEdgeBlends by phase (9c1b03a1)
  • refactor(export): split usdIsaacSerialize by phase (bc01762f)
  • refactor(render): split renderInspectBundle by phase (af25a91b)
  • refactor(mates): split resolveStaticSample by phase (d78232c2)
  • refactor(dfm): split components by phase (cc1138b8)
  • refactor(export): split exportScript by phase (d5bec54f)
  • refactor(studio): extract GenerationStatus from StudioGenerate (3fc2a722)
  • refactor(studio): extract GenerationReviewPanel from StudioGenerate (4d6d63d1)
  • refactor(studio): extract GenerateForm from StudioGenerate (4ebca1af)
  • refactor(studio): extract ReferencePhotoPanel from StudioGenerate (3c946067)
  • refactor(studio): extract useConceptWorkflow from StudioGenerate (6b8a00df)
  • refactor(studio): extract MarkingIntentPanel from MarkingOverlay (958709de)
  • refactor(studio): extract useGenerationReview from StudioGenerate (a7c04f16)
  • refactor(studio): extract marking intent hook from MarkingOverlay (54437d69)
  • refactor(studio): extract useAgentGeneration from StudioGenerate (eb6f03c8)
  • refactor(studio): extract marking canvas hook from MarkingOverlay (4ff54f4b)
  • refactor(studio): extract playback tick and transport helpers from useAnimationPlayback (d3de9c6e)
  • refactor(studio): extract review-paint persistence from MarkingOverlay (64fbfbc4)
  • refactor(studio): extract bake cache and sampling helpers from useAnimationPlayback (17dedb87)
  • refactor(studio): extract usePromptDraft from StudioGenerate (31724a03)
  • refactor(studio): extract useReferencePhoto from StudioGenerate (322cbb71)
  • refactor(studio): extract mark raycast helpers from MarkingOverlay (ecaa0d6d)
  • refactor(codegen): split skipType by phase (84ff836e)
  • refactor(codegen): split stripTypeScriptSyntax by phase (b364c0b5)
  • refactor(reconstruct): split cleanMesh by phase (037d1d12)
  • refactor(modeling): split reviewMechanicalPlausibility by phase (6493b7c5)
  • refactor(import): split importSvgText by phase (3ec5eb38)
  • refactor(drawing): split readPdfPageVectors by phase (5dcc4bb3)
  • refactor(import): split emitPath by phase (a5908af3)
  • test(drawing): characterise readPdfPageVectors before split (d7a4b18a)
  • refactor(render): split captureAnimation by phase (8e569e99)
  • refactor(modeling): split validateCertificateAtSolvedPose by phase (d90ff6dd)
  • refactor(occt): split renderSvgDrawing by phase (5b22ac21)
  • refactor(modeling): split validateCertificateInput by phase (861c35c8)
  • refactor(drawing): split runPipeline by phase (dce6f7f5)
  • refactor(occt): split pickEdges by phase (f93e34ea)
  • refactor(mcp): split findParamCall by phase (d74be8fc)
  • refactor(kinematic): split checkStaticHold by phase (8ea6dada)
  • refactor(drawing): split analyseSheet by phase (8ee28849)
  • refactor(reconstruct): split buildPlan by phase (c2bc806a)
  • refactor(modeling): import PerFaceMaterialWarning instead of duplicating it (cf38981a)
  • refactor(mates): extract mechanismSummary builder to clear complexity gate (1762df2c)
  • refactor(compute): split run by phase (1c5eb3a8)
  • refactor(capture): split buildDfmSpecFeatureSpec by phase (c882594c)
  • refactor(modeling): split onEvent by phase (60871be8)
  • refactor(mates): split summarizeMechanismFitness by phase (f076e37d)
  • refactor(occt): split tryExtractPlaneFromFace by phase (718f5fbc)
  • test(occt): characterise tryExtractPlaneFromFace before refactor (296e2ed2)
  • refactor(drawing): split renderAutoDrawing by placement phase (5f8593a2)
  • refactor(script-runtime): split runAndExport by export phase (0440d64b)
  • refactor(drawing): split reconstructPart into solver and phase modules (159ee902)
  • refactor(assembly): pass a typed state object instead of casting (8498d974)
  • refactor(occt): address review minors on the lowerers split (4ad29faa)
  • test(diagnostics): scan occt lowerers for emitted codes (b4cc54e0)
  • refactor(assembly): move part and subAssembly recording into assemblyParts.ts (f61aa406)
  • refactor(assembly): move solve, solvedModel and SolvedKinematics out of assembly.ts (ef58aab1)
  • refactor(modeling): inject kinematic facade instead of importing it (ffe107f1)
  • refactor(assembly): move mechanical-intent recording into assemblyIntents.ts (34e02a1f)
  • refactor(assembly): move joint, mate and tendon recording into assemblyJoints.ts (a4c3db72)
  • refactor(assembly): move assembly DSL types to assemblyTypes.ts (56d7ec41)
  • refactor(occt): replace lower() switch with a per-kind dispatch table (aec67f9e)
  • refactor(kinematic): move sweepTolerance orchestration to agent layer (8fe3237a)
  • refactor(materials): move engineering material data to shared/materials (656028a7)
  • refactor(occt): move hole, pattern, sheet-metal, surface and curve lowering into lowerers/ (090eecb8)
  • refactor(diagnostics): exhaustive legacy code order and truthful header (d3518a4d)
  • refactor(occt): move sweep, loft, boolean and edge-feature lowering into lowerers/ (2047c79d)
  • refactor(studio): split useScriptExecution into mesh-fetch, session, relower, and param-update hooks (0e04fe31)
  • refactor(occt): move primitive, import, sketch, extrude and revolve lowering into lowerers/ (cff57d33)
  • refactor(occt): thread a LowerContext through lower() (6a4afce6)
  • refactor(studio): extract Toolbar buttons and publish hook (c82ba43c)
  • refactor(studio): extract Header clusters and history hook (dd0808d2)
  • refactor(studio): extract AIAssistant chat state and message rendering (a462d061)
  • refactor(studio): split DemoPlayerPage into playback hook and view components (d1be89a6)
  • refactor(studio): split GeometryProvider into concern hooks (1cb613b3)
  • refactor(diagnostics): split the diagnostic registry per domain (3c4a34be)
  • refactor(diagnostics): registry.ts becomes registry/index.ts (0ee1e7bd)
  • test(diagnostics): snapshot registry projections and code order (e02c0029)
  • refactor: move animation sampling to modeling and headless player entry to studio (9d41ddf1)
  • refactor(kernel): move surface sew lowering and STEP inspection out of modeling/agent (8625cd36)
  • refactor(kernel): decouple verb curve bridge from modeling proxies via carrier interfaces (9ae291e9)
  • refactor(kernel): move hermiteG2 solver to kernel/geometry (00a42321)
  • refactor(kernel): move massProperties below the backend interface (3febe290)

Documentation And Demos

  • docs(demos): re-capture turbojet demo for the connected mechanism (f002165d)
  • docs(examples): demo no longer blocked; record capture settings (63fd03c4)
  • docs(demos): capture v0.17 turbojet cutaway demo (b98811ba)
  • docs(plan): mark easy-start plan complete after deployment verification (#750) (c10bf7d6)
  • docs(examples): post-merge status and gap-log closure (6f5af45e)
  • docs(demos): v0.17 turbojet whats-new, meta and capture prompt (cf388c5c)
  • docs(superpowers): mark v0.17 turbojet plan executed with measured results (850c0e69)
  • docs: mark MUSE sweep spec implemented after first full run (a345a79a)
  • docs: add MUSE 106-case sweep spec and implementation plan (351d0c6c)
  • docs(superpowers): v0.17 turbojet hero spec and implementation plan (dd189b4d)
  • docs(studio): cite the real test in usePreviewExecution comment (417df57a)
  • docs(diagnostics): correct registry index header comments (db95d333)
  • docs(demo): show the drawing before the 3D rebuild (8b6324eb)

Other Changes

  • Merge pull request #756 from w1ne/feat/agent-verify-intent (aee733cc)
  • Merge pull request #755 from w1ne/fix/landing-restore-hero (4dedb56c)
  • Merge pull request #754 from w1ne/feat/v0.17-turbojet-engine (2062e3e2)
  • Merge remote-tracking branch 'origin/develop' into feat/v0.17-turbojet-engine (1fe0d33f)
  • Merge remote-tracking branch 'origin/develop' into feat/v0.17-turbojet-engine (bd4c2f55)
  • Merge pull request #752 from w1ne/refactor/slice8-ownership (5b523000)
  • Merge pull request #753 from w1ne/refactor/cycle-clear (c7194810)
  • chore(quality): clear cycleBaseline after breaking the five remaining cycles (c38c9eba)
  • chore(lint): drop the modeling->kinematic layering exception (8a775cd8)
  • Merge pull request #735 from w1ne/refactor/slice8-sweeptolerance (54bda5ae)
  • Merge pull request #727 from w1ne/fix/occt-wasm-poison-recovery (1cd0961d)
  • Merge branch 'develop' into fix/occt-wasm-poison-recovery (610fb3f7)
  • Merge branch 'develop' into refactor/slice8-sweeptolerance (34edfc2f)
  • Merge pull request #751 from w1ne/refactor/ratchet-22 (9d6b8b96)
  • chore(quality): regenerate baseline — lowered-threshold pass complete (a1b7576f)
  • Merge branch 'refactor/ratchet-22-f' into refactor/ratchet-22 (e8debd8e)
  • Merge branch 'refactor/ratchet-22-e' into refactor/ratchet-22 (2781d556)
  • Merge branch 'refactor/ratchet-22-d' into refactor/ratchet-22 (866ffcc5)
  • Merge branch 'refactor/ratchet-22-c' into refactor/ratchet-22 (f6c16358)
  • Merge branch 'refactor/ratchet-22-b' into refactor/ratchet-22 (81c584f5)
  • Merge pull request #749 from w1ne/refactor/ratchet-21 (3d07e009)
  • Restore Studio homepage and move examples into Quick start (#748) (7af187ed)
  • chore(quality): regenerate baseline after ratchet-21 wave (41c6a674)
  • Merge branch 'refactor/ratchet-21-f' into refactor/ratchet-21 (f278cac9)
  • Merge branch 'refactor/ratchet-21-e' into refactor/ratchet-21 (77ff2ac7)
  • Merge branch 'refactor/ratchet-21-d' into refactor/ratchet-21 (5a78904b)
  • Merge branch 'refactor/ratchet-21-c' into refactor/ratchet-21 (d78802e6)
  • Merge branch 'refactor/ratchet-21-b' into refactor/ratchet-21 (382847e7)
  • Merge pull request #747 from w1ne/refactor/ratchet-20 (2a122325)
  • Make KernelCAD easy to try with free editable examples (#746) (d78a39b6)
  • chore(quality): regenerate baseline after ratchet-20 wave (86ff1ac7)
  • Merge branch 'refactor/ratchet-20-f' into refactor/ratchet-20 (405aac70)
  • Merge branch 'refactor/ratchet-20-e' into refactor/ratchet-20 (35879bb6)
  • Merge branch 'refactor/ratchet-20-d' into refactor/ratchet-20 (e86bf62d)
  • Merge branch 'refactor/ratchet-20-c' into refactor/ratchet-20 (ab6406d5)
  • Merge branch 'refactor/ratchet-20-b' into refactor/ratchet-20 (e987ddde)
  • Merge pull request #745 from w1ne/refactor/ratchet-19 (fcb5a7b4)
  • chore(quality): regenerate baseline after ratchet-19 wave (8d96c9d5)
  • Merge branch 'refactor/ratchet-19-f' into refactor/ratchet-19 (5c39ea8d)
  • Merge branch 'refactor/ratchet-19-e' into refactor/ratchet-19 (5fcd1435)
  • Merge branch 'refactor/ratchet-19-d' into refactor/ratchet-19 (0ec34d39)
  • Merge branch 'refactor/ratchet-19-c' into refactor/ratchet-19 (727f3180)
  • Merge branch 'refactor/ratchet-19-b' into refactor/ratchet-19 (7fa7a36a)
  • Merge pull request #744 from w1ne/refactor/ratchet-18 (d6296e55)
  • chore(quality): regenerate baseline after ratchet-18 wave (48a1cc92)
  • Merge branch 'refactor/ratchet-18-f' into refactor/ratchet-18 (a00a874b)
  • Merge branch 'refactor/ratchet-18-e' into refactor/ratchet-18 (6cd60149)
  • Merge branch 'refactor/ratchet-18-d' into refactor/ratchet-18 (4f354352)
  • Merge branch 'refactor/ratchet-18-c' into refactor/ratchet-18 (a1326c24)
  • Merge branch 'refactor/ratchet-18-b' into refactor/ratchet-18 (e8eb649d)
  • Merge remote-tracking branch 'origin/develop' into feat/v0.17-turbojet-engine (1537f208)
  • Merge pull request #743 from w1ne/refactor/ratchet-17 (a1628d87)
  • chore(quality): regenerate baseline after ratchet-17 wave (6ca1fdcf)
  • Merge branch 'refactor/ratchet-17-f' into refactor/ratchet-17 (d8994c37)
  • Merge branch 'refactor/ratchet-17-e' into refactor/ratchet-17 (14350f5e)
  • Merge branch 'refactor/ratchet-17-d' into refactor/ratchet-17 (65835034)
  • Merge branch 'refactor/ratchet-17-c' into refactor/ratchet-17 (eeed7fcc)
  • Merge branch 'refactor/ratchet-17-b' into refactor/ratchet-17 (d26fe32a)
  • chore(release): bump version to 0.17.0 (25f02404)
  • Merge pull request #741 from w1ne/feat/muse-106-sweep (2d8cd250)
  • Merge pull request #742 from w1ne/refactor/ratchet-16 (4fd64242)
  • chore(quality): regenerate baseline after ratchet-16 wave (66db59dc)
  • Merge branch 'refactor/ratchet-16-f' into refactor/ratchet-16 (bf95a546)
  • Merge branch 'refactor/ratchet-16-e' into refactor/ratchet-16 (3d18857f)
  • Merge branch 'refactor/ratchet-16-d' into refactor/ratchet-16 (de395ab2)
  • Merge branch 'refactor/ratchet-16-c' into refactor/ratchet-16 (1f9d066e)
  • Merge branch 'refactor/ratchet-16-b' into refactor/ratchet-16 (382f5056)
  • eval: record kernelCAD git provenance in sweep envelope and protocol (52591227)
  • eval: cap oracle CLI and judge spawns with timeouts (030da685)
  • Merge pull request #740 from w1ne/refactor/ratchet-15 (8b7fd9f9)
  • chore(quality): regenerate baseline after ratchet-15 wave (5dcb8a17)
  • Merge branch 'refactor/ratchet-15-f' into refactor/ratchet-15 (fa57acd4)
  • Merge branch 'refactor/ratchet-15-e' into refactor/ratchet-15 (a2115c1d)
  • Merge branch 'refactor/ratchet-15-d' into refactor/ratchet-15 (d8a620e9)
  • Merge branch 'refactor/ratchet-15-c' into refactor/ratchet-15 (8847d28d)
  • Merge branch 'refactor/ratchet-15-b' into refactor/ratchet-15 (75173c68)
  • eval: ignore Python bytecode from oracle wrappers (d8f03a40)
  • eval: add mock fixture for MUSE sweep integration test (54ca4411)
  • eval: add resumable parallel MUSE sweep CLI (ab1a660a)
  • eval: add MUSE leaderboard/summary/protocol report generator (8e3b11d9)
  • eval: add MUSE sweep preflight checks (a7cd4997)
  • eval: add MUSE alignment-judge wrapper and TS judge module (2680bebd)
  • eval: split runTask into generateCase and scoreCase for sweep resume (12112c5d)
  • eval: exclude infra cases from MUSE aggregate denominators (9818c8f8)
  • eval: add MUSE pillar aggregation with forced-zero semantics (cb665a90)
  • eval: harden sweep state reads and boundary tests (816e768a)
  • Merge pull request #739 from w1ne/chore/ratchet-thresholds-15 (b820eab1)
  • eval: add per-case sweep state machine (b347c023)
  • eval: validate mapPool limit and document rejection semantics (dee638ef)
  • eval: add bounded-concurrency map helper (306f3fcb)
  • chore(quality): lower ratchet thresholds to complexity 15 and 100 function lines (fa69261f)
  • eval: add selectable system-prompt builder for sweep runs (63da3a39)
  • eval: harden OpenAI-compat client retries and tests (30d48ebd)
  • eval: add OpenAI-compatible agent client for DeepInfra sweep runs (a3012a25)
  • eval(muse): import all 106 MUSE cases as tasks (a2ad2bdf)
  • Merge pull request #738 from w1ne/refactor/complexity-tail-9 (6ec97c16)
  • chore(quality): regenerate baseline — all findings cleared (80837f4e)
  • Merge branch 'refactor/complexity-tail-9-f' into refactor/complexity-tail-9 (40d7df79)
  • Merge branch 'refactor/complexity-tail-9-e' into refactor/complexity-tail-9 (8aa00506)
  • Merge branch 'refactor/complexity-tail-9-d' into refactor/complexity-tail-9 (b1e3532d)
  • Merge branch 'refactor/complexity-tail-9-c' into refactor/complexity-tail-9 (397ca8f4)
  • Merge branch 'refactor/complexity-tail-9-b' into refactor/complexity-tail-9 (0ec20c87)
  • Merge branch 'refactor/complexity-tail-9-a' into refactor/complexity-tail-9 (b4b18a29)
  • Merge pull request #737 from w1ne/refactor/complexity-tail-8 (7e7440cd)
  • Merge pull request #736 from w1ne/fix/embed-loading-states (2dddc389)
  • chore(quality): regenerate baseline after the combined tail batch (818fe523)
  • Merge branch 'refactor/filelen-sketch' into refactor/complexity-tail-8 (fd0a5210)
  • Merge branch 'refactor/filelen-proxy' into refactor/complexity-tail-8 (06cb15f9)
  • Merge branch 'refactor/function-length-a' into refactor/complexity-tail-8 (40954771)
  • chore(quality): regenerate baseline after tail batch 8 merges (c55b62bb)
  • Merge branch 'refactor/complexity-tail-8-c' into refactor/complexity-tail-8 (88161132)
  • Merge branch 'refactor/complexity-tail-8-b' into refactor/complexity-tail-8 (9cee6ce4)
  • Merge pull request #733 from w1ne/refactor/complexity-tail-7 (89e425ff)
  • Merge branch 'develop' into refactor/complexity-tail-7 (80361151)
  • Revert "refactor(occt): split normaliseAutoAnnotate by phase" (2bbed763)
  • Merge pull request #734 from w1ne/refactor/filelen-drawing-auto (12731cb8)
  • chore(quality): regenerate baseline after tail batch 7 merges (520c8f12)
  • Merge branch 'refactor/complexity-tail-7-c' into refactor/complexity-tail-7 (5ecff4ed)
  • Merge branch 'refactor/complexity-tail-7-b' into refactor/complexity-tail-7 (4b75274a)
  • Merge pull request #732 from w1ne/refactor/complexity-tail-6 (882bb80c)
  • Merge pull request #731 from w1ne/chore/masked-cycle-fix (b99b248e)
  • chore(quality): regenerate baseline after tail batch 6 merges (39a3d989)
  • Merge branch 'refactor/complexity-tail-6-c' into refactor/complexity-tail-6 (13c0be1c)
  • Merge branch 'refactor/complexity-tail-6-b' into refactor/complexity-tail-6 (6e593e75)
  • Merge pull request #730 from w1ne/refactor/complexity-tail-5 (39d19c53)
  • Merge branch 'develop' into refactor/complexity-tail-5 (8ad98485)
  • Merge pull request #729 from w1ne/chore/remove-set-state-disables (0f853f69)
  • chore(quality): regenerate baseline after tail batch 5 merges (ed687ed5)
  • Merge branch 'refactor/complexity-tail-5-c' into refactor/complexity-tail-5 (b65c68a9)
  • Merge branch 'refactor/complexity-tail-5-b' into refactor/complexity-tail-5 (8be1a17b)
  • Merge pull request #728 from w1ne/refactor/studio-length (80bdb6ad)
  • Merge branch 'develop' into refactor/studio-length (200caf4b)
  • Merge pull request #726 from w1ne/refactor/complexity-tail-4 (bd7a2bc5)
  • chore(quality): regenerate baseline after tail batch 4 merges (d46a67f0)
  • Merge branch 'refactor/studio-length-c' into refactor/studio-length (7b3151bd)
  • Merge branch 'refactor/studio-length-b' into refactor/studio-length (451801ab)
  • Merge branch 'refactor/complexity-tail-4-c' into refactor/complexity-tail-4 (caeac13f)
  • Merge branch 'refactor/complexity-tail-4-b' into refactor/complexity-tail-4 (25df445d)
  • Merge pull request #723 from w1ne/refactor/studio-tail (405757a1)
  • Merge branch 'develop' into refactor/studio-tail (da200426)
  • Merge pull request #722 from w1ne/chore/quality-followups (469a9a1e)
  • Merge pull request #724 from w1ne/refactor/complexity-tail-3 (34156230)
  • chore(quality): regenerate baseline after studio tail merges (3df29c50)
  • chore(quality): regenerate baseline after tail batch 3 merges (45244481)
  • Merge branch 'refactor/studio-tail-llm' into refactor/studio-tail (fc7b30ba)
  • Merge branch 'refactor/complexity-tail-3-c' into refactor/complexity-tail-3 (d8c117f4)
  • Merge branch 'refactor/complexity-tail-3-b' into refactor/complexity-tail-3 (c8698471)
  • Merge branch 'refactor/studio-tail-target' into refactor/studio-tail (cd9149c2)
  • Merge pull request #720 from w1ne/refactor/studio-second-tier (fccc0a28)
  • Merge branch 'develop' into refactor/studio-second-tier (835ceb16)
  • Merge pull request #719 from w1ne/refactor/complexity-tail-2 (7c657fdf)
  • Merge branch 'refactor/studio-second-tier-anim' into refactor/studio-second-tier (bc68a7e7)
  • Merge branch 'refactor/studio-second-tier-gen' into refactor/studio-second-tier (d8387142)
  • Merge branch 'refactor/complexity-tail-2-c' into refactor/complexity-tail-2 (35f9713d)
  • Merge branch 'refactor/complexity-tail-2-b' into refactor/complexity-tail-2 (ec097168)
  • Merge pull request #718 from w1ne/refactor/complexity-tail-1 (104a481a)
  • Merge branch 'refactor/complexity-tail-1-c' into refactor/complexity-tail-1 (4e6c3b76)
  • Merge branch 'refactor/complexity-tail-1-b' into refactor/complexity-tail-1 (16d95646)
  • Merge pull request #707 from w1ne/fix/engineer-stack-sister-links (d361ac62)
  • Merge pull request #717 from w1ne/integration/quality-ratchet-trial (827ccb72)
  • Merge pull request #711 from w1ne/refactor/import-layering (c043e2af)
  • Merge pull request #710 from w1ne/chore/quality-ratchet (5f22d527)
  • Merge branch 'refactor/studio-hotspots' into integration/quality-ratchet-trial (0b052e74)
  • Merge branch 'refactor/assembly-split' into integration/quality-ratchet-trial (f5b3b089)
  • Merge branch 'refactor/occt-lowerer-split' into integration/quality-ratchet-trial (c2703841)
  • Merge branch 'refactor/kinematic-layering-2b' into integration/quality-ratchet-trial (25fc2e26)
  • Merge branch 'refactor/diagnostics-registry-split' into integration/quality-ratchet-trial (eb51f6e0)
  • Merge branch 'refactor/import-layering' into integration/quality-ratchet-trial (07765993)
  • Merge branch 'refactor/import-layering' into refactor/kinematic-layering-2b (58295ed1)
  • Merge branch 'refactor/import-layering' into refactor/studio-hotspots (d343480a)
  • Merge branch 'refactor/import-layering' into refactor/assembly-split (de6f36d6)
  • Merge branch 'refactor/import-layering' into refactor/occt-lowerer-split (9cb7f6ce)
  • Merge branch 'refactor/import-layering' into refactor/diagnostics-registry-split (a88e04f1)
  • chore(quality): regenerate baseline on the combined slices (23e65963)
  • Merge branch 'refactor/studio-hotspots' into integration/quality-ratchet-trial (07bac5ba)
  • Merge branch 'refactor/assembly-split' into integration/quality-ratchet-trial (6acc1a2c)
  • Merge branch 'refactor/occt-lowerer-split' into integration/quality-ratchet-trial (9590ea2e)
  • Merge branch 'refactor/kinematic-layering-2b' into integration/quality-ratchet-trial (aab0fafd)
  • Merge branch 'refactor/diagnostics-registry-split' into integration/quality-ratchet-trial (15d31adc)
  • chore: drop merged shim plumbing after the shim deletion (f8ed0e8f)
  • Merge branch 'refactor/import-layering' into refactor/kinematic-layering-2b (e1623ef2)
  • revert: kinematic facade injection and sweepTolerance move (8ccca506)
  • chore: fix stale path comment in moved sweepTolerance.ts (ab6dba70)
  • chore: remove deprecated re-export shims from slice 2 (4ae3da5a)
  • chore(quality): regen ratchet baseline after Studio hotspot splits (27f81297)
  • chore(quality): regen ratchet baseline after diagnostics registry split (f8ddbf05)
  • lint: block direct imports of the deprecated re-export shims (0dc78d0c)
  • Merge branch 'chore/quality-ratchet' into refactor/import-layering (f99d6f66)
  • chore(quality): add SPDX headers to ratchet scripts (db4202f9)
  • chore(lint): exempt test files from the layering rule (d752f54d)
  • chore(lint): enforce shared->kernel->modeling->agent->studio import direction (b746d25d)
  • chore(quality): baseline import cycles and gate src against new ones (8d245313)
  • chore(quality): baseline complexity/size findings and gate src against growth (64fc499b)
  • chore(quality): add eslint complexity/size finding collector with baseline diff (ed35653d)
  • Merge pull request #709 from w1ne/feat/direct-edit-drag (ef78251a)
  • Merge pull request #708 from w1ne/fix/bom-drifts (0ace26d7)
  • Replace proto.cat with live sister-site links in the engineer stack footer. (7b270db9)
  • Merge pull request #706 from w1ne/docs/v016-demo-shows-drawing (40f68c5e)
  • Merge pull request #705 from w1ne/chore/release-v0.16.0 (7000942b)
  • ci: stop Pages unsharded test colliding with required check; load gmsh libs (a06cdbbe)