diff --git a/Makefile b/Makefile index 4cc05b788..2f7788cee 100644 --- a/Makefile +++ b/Makefile @@ -5,33 +5,40 @@ all: install build check # INSTALL ifeq ($(OS),Windows_NT) - CARGO ?= ~/.cargo/bin/cargo.exe - WASM_PACK ?= ~/.cargo/bin/wasm-pack.exe -else - CARGO ?= ~/.cargo/bin/cargo - WASM_PACK ?= ~/.cargo/bin/wasm-pack +export WINDOWS := true +ifndef MSYSTEM +export POWERSHELL := true endif +endif + +ifdef WINDOWS +CARGO ?= $(USERPROFILE)/.cargo/bin/cargo.exe +WASM_PACK ?= $(USERPROFILE)/.cargo/bin/wasm-pack.exe +else +CARGO ?= ~/.cargo/bin/cargo +WASM_PACK ?= ~/.cargo/bin/wasm-pack +endif .PHONY: install install: node_modules/.yarn-integrity $(CARGO) $(WASM_PACK) ## Install dependencies node_modules/.yarn-integrity: package.json yarn.lock yarn install -ifeq ($(OS),Windows_NT) +ifdef POWERSHELL @ type nul > $@ else @ touch $@ endif $(CARGO): -ifeq ($(OS),Windows_NT) +ifdef WINDOWS yarn install:rust:windows else yarn install:rust endif $(WASM_PACK): -ifeq ($(OS),Windows_NT) +ifdef WINDOWS yarn install:wasm-pack:cargo else yarn install:wasm-pack:sh @@ -57,7 +64,7 @@ build-web: install public/kcl_wasm_lib_bg.wasm build/index.html build-desktop: install public/kcl_wasm_lib_bg.wasm .vite/build/main.js public/kcl_wasm_lib_bg.wasm: $(CARGO_SOURCES) $(RUST_SOURCES) -ifeq ($(OS),Windows_NT) +ifdef WINDOWS yarn build:wasm:dev:windows else yarn build:wasm:dev @@ -140,8 +147,8 @@ endif .PHONY: clean clean: ## Delete all artifacts -ifeq ($(OS),Windows_NT) - git clean --force -d -X +ifdef POWERSHELL + git clean --force -d -x --exclude=.env* --exclude=**/*.env else rm -rf .vite/ build/ rm -rf trace.zip playwright-report/ test-results/ @@ -152,7 +159,7 @@ endif .PHONY: help help: install -ifeq ($(OS),Windows_NT) +ifdef POWERSHELL @ powershell -Command "Get-Content $(MAKEFILE_LIST) | Select-String -Pattern '^[^\s]+:.*##\s.*$$' | ForEach-Object { $$line = $$_.Line -split ':.*?##\s+'; Write-Host -NoNewline $$line[0].PadRight(30) -ForegroundColor Cyan; Write-Host $$line[1] }" else @ grep -E '^[^[:space:]]+:.*## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' diff --git a/docs/kcl/reduce.md b/docs/kcl/reduce.md index 7a371710f..da46f47a0 100644 --- a/docs/kcl/reduce.md +++ b/docs/kcl/reduce.md @@ -78,7 +78,7 @@ assertEqual(sum, 6, 0.00001, "1 + 2 + 3 summed is 6") ```js // Declare a function that sketches a decagon. fn decagon(radius) { - // Each side of the decagon is turned this many degrees from the previous angle. + // Each side of the decagon is turned this many radians from the previous angle. stepAngle = 1 / 10 * TAU // Start the decagon sketch at this point. diff --git a/docs/kcl/std-helix.md b/docs/kcl/std-helix.md index 490ae9223..8861ee450 100644 --- a/docs/kcl/std-helix.md +++ b/docs/kcl/std-helix.md @@ -9,7 +9,15 @@ Create a helix. ```js -helix(revolutions: number(_), angleStart: number(deg), ccw?: bool, radius?: number(mm), axis?: Axis3d | Edge, length?: number(mm), cylinder?: Solid): Helix +helix( + revolutions: number(_), + angleStart: number(deg), + ccw?: bool, + radius?: number(mm), + axis?: Axis3d | Edge, + length?: number(mm), + cylinder?: Solid, +): Helix ``` diff --git a/docs/kcl/std-math-polar.md b/docs/kcl/std-math-polar.md index 935149324..bac891600 100644 --- a/docs/kcl/std-math-polar.md +++ b/docs/kcl/std-math-polar.md @@ -6,10 +6,14 @@ layout: manual -Convert polar/sphere (azimuth, elevation, distance) coordinates tocartesian (x/y/z grid) coordinates. +Convert polar/sphere (azimuth, elevation, distance) coordinates to +cartesian (x/y/z grid) coordinates. ```js -polar(angle: number(deg), length: number(mm)): [number(mm); 2] +polar( + angle: number(deg), + length: number(mm), +): [number(mm); 2] ``` diff --git a/docs/kcl/std-math-sin.md b/docs/kcl/std-math-sin.md index b17f4d4df..0e1927fd2 100644 --- a/docs/kcl/std-math-sin.md +++ b/docs/kcl/std-math-sin.md @@ -31,7 +31,7 @@ exampleSketch = startSketchOn(XZ) |> startProfileAt([0, 0], %) |> angledLine({ angle = 50, - length = 15 / sin(toDegrees(135)), + length = 15 / sin(toRadians(135)), }, %) |> yLine(endAbsolute = 0) |> close() @@ -39,6 +39,6 @@ exampleSketch = startSketchOn(XZ) example = extrude(exampleSketch, length = 5) ``` -![Rendered example of std::math::sin 0](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAAD8HElEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVdd9X/Mi73Yi732i73Yi73WNddc8+Af/dEf/Zz77rvvVq666qqrrrrq/yf0oAc9iKuuuuqqq6666qqrrrrqqv8rXuzFXuy1P/dzP/e3eKb77rvv1s/6rM96nfvuu+9Wrrrqqquuuur/H8rx48e56qqrrrrqqquuuuqqq676v+DFXuzFXvtzP/dzf+tv/uZv+PEf/3GuvfZabrzxxuOv+Iqv+NZ/9md/9jOHh4e7XHXVVVddddX/L5Tjx49z1VVXXXXVVVddddVVV131v90111zz4K/4iq/4q2c84xn82I/9GKvVittuu41rr72WG2+88fgrvuIrvvWf/dmf/czh4eEuV1111VVXXfX/B+X48eNcddVVV1111VVXXXXVVVf9b3bNNdc8+Ju+6Zue/oxnPIPv+77v436r1YrbbruNa6+9lhtvvPH4K77iK771n/3Zn/3M4eHhLlddddVVV131/wPl+PHjXHXVVVddddVVV1111VVX/W91zTXXPPjDP/zDv2u5XD74+77v+3hu6/WaZzzjGVx77bXceOONx1/xFV/xrf/sz/7sZw4PD3e56qqrrrrqqv/7KMePH+eqq6666qqrrrrqqquuuup/q0/6pE/6qRtvvPG1v/3bv53nJgmA9XrNM57xDK699lpuvPHG46/4iq/41n/2Z3/2M4eHh7tcddVVV1111f9tlOPHj3PVVVddddVVV1111VVXXfW/0ed+7uf+1o033vjaX//1X89zk8QDDcPAbbfdxrXXXsuNN954/BVf8RXf+s/+7M9+5vDwcJerrrrqqquu+r+Lcvz4ca666qqrrrrqqquuuuqqq/63+dzP/dzfuvHGG1/7537u57h06RIPJIkHkgTAer3mtttu47rrruOGG244/oqv+Ipv/Wd/9mc/c3h4uMtVV1111VVX/d9EOX78OFddddVVV1111VVXXXXVVf+bfO7nfu5vvdiLvdhr/9iP/RjPeMYzeCBJPJAkHmgYBm677TauvfZabrjhhuOv+Iqv+NZ/9md/9jOHh4e7XHXVVVddddX/PZTjx49z1VVXXXXVVVddddVVV131v8WHf/iHf9crvuIrvvX3fd/38YxnPIMHksQDSeKBJAGwXq+57bbbuPbaa7nhhhuOv+IrvuJb/9mf/dnPHB4e7nLVVVddddVV/7dQjh8/zlVXXXXVVVddddVVV1111f8Gr/M6r/Pe7/RO7/TZ3/d938cznvEMHkgSDySJB5LEAw3DwG233ca1117LDTfccPwVX/EV3/rP/uzPfubw8HCXq6666qqrrvq/g3L8+HGuuuqqq6666qqrrrrqqqv+p3uxF3ux1/6kT/qkn/q+7/s+nvGMZ/BAknggSTyQJB5IEgDr9ZrbbruNa6+9lhtuuOH4K77iK771n/3Zn/3M4eHhLlddddVVV131fwPl+PHjXHXVVVddddVVV1111VVX/U/2Yi/2Yq/9uZ/7ub/1sz/7szzpSU/igSTxQJJ4IEk8kCQeaL1ec/vtt3PNNddwww03HL/11lv/5tZbb/1rrrrqqquuuur/BoKrrrrqqquuuuqqq6666qr/wV7sxV7stT/3cz/3t/7mb/6Gv/3bv+WBJPFAknggSTyQJJ6bJB7owz/8w7+Lq6666qqrrvq/g8pVV1111VVXXXXVVVddddX/UC/2Yi/22p/7uZ/7W894xjP4uZ/7OR5IEg8kiQeSxANJ4rlJAuBN3/RNueWWWwC47777buWqq6666qqr/u8guOqqq6666qqrrrrqqquu+h/ommuuefDnfu7n/tYznvEMvu/7vo8HksQDSeKBJPFAknhukgB4l3d5F2655RaOjo4AOHv27K1cddVVV1111f8dBFddddVVV1111VVXXXXVVf/DXHPNNQ/+8A//8O96xjOewfd93/fxQJJ4IEk8kCQeSBIPJAlJALzLu7wLt9xyC0dHRzzpSU8C4L777ruVq6666qqrrvq/g+Cqq6666qqrrrrqqquuuup/mA//8A//rhtvvPG1v+/7vo8HksQDSeKBJPFAknggSdzvXd7lXbjllls4Ojrib/7mb7jqqquuuuqq/6MIrrrqqquuuuqqq6666qqr/gf53M/93N+68cYbX/vrv/7reSBJPJAkHkgSDySJB5LE/d70Td+UW265BYC/+Zu/4fz585w6dQqA++6771auuuqqq6666v8OKlddddVVV1111VVXXXXVVf9DfO7nfu5v3Xjjja/9cz/3czyQJB5IEg8kiQeSxANJ4n5v+qZvyku8xEsA8Ed/9EecP3+eBzp79uwzuOqqq6666qr/Owiuuuqqq6666qqrrrrqqqv+B/jcz/3c33qxF3ux1/65n/s5nvGMZ3A/STyQJB5IEg8kiQeSxP1e4iVegpd4iZcA4I/+6I84f/48ALbZ2NgA4L777ruVq6666qqrrvq/g8pVV1111VVXXXXVVVddddV/sw//8A//rhd7sRd77e/7vu/jGc94BveTxANJ4oEk8UCSeCBJ3O8lXuIleNM3fVMA/uiP/ojz588DYBuAxWIBwNmzZ2/lqquuuuqqq/7voHLVVVddddVVV1111VVXXfXf6B3f8R0/63Ve53Xe+/u+7/t4xjOewf0k8UCSeCBJPJAkHkgS97vlllt40zd9UwD++q//mvPnzwNgm6uuuuqqq676P47KVVddddVVV1111VVXXXXVf5PXeZ3Xee93eqd3+uzv+77v4xnPeAb3k8QDSeKBJPFAknggSdzvlltu4V3e5V0AeNKTnsQdd9wBgG0eaGNjA4D77rvvVq666qqrrrrq/w4qV1111VVXXXXVVVddddVV/w1e7MVe7LU//MM//Lt+9md/lmc84xncTxIPJIkHksQDSeKBJHG/W265hXd5l3cB4Pbbb+dJT3oSALZ5oI2NDQDuu+++W7nqqquuuuqq/1uoXHXVVVddddVVV1111VVX/Rd7sRd7sdf+3M/93N/63d/9Xf72b/+W+0nigSTxQJJ4IEk8kCTud+zYMd7lXd4FgPPnz/M3f/M3ANjmuc3ncwDOnj17K1ddddVVV131fwuVq6666qqrrrrq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s81VV1111VVX/T9DcNVVV1111VVXXXXVVVdd9SL63M/93N96sRd7sdf+uZ/7OZ7xjGcAIIkXRBIPJIl/ybu8y7twyy23cHR0xG/8xm/wQLZ5brZ5brZ5brZ5bovFAoD77rvvVq666qqrrrrq/yYqV1111VVXXXXVVVddddVVL4IP//AP/64Xe7EXe+3v+77v4xnPeAYAknggSbwgknhuknigd3mXd+GWW27h6OiIv/7rv+aBbPPcbPPcbPPcbPPcbLOxsQHA2bNnb+Wqq6666qqr/m+ictVVV1111VVXXXXVVVdd9S94x3d8x896ndd5nff+vu/7Pp7xjGcAIIkHksQDSeKFkcQDvdmbvRm33HILAH/913/N+fPnAbDN82Ob52ab52ab52YbgM3NTQDuu+++W7nqqquuuuqq/5uoXHXVVVddddVVV1111VVXvRAv9mIv9trv9E7v9Nnf933fxzOe8QwAJPFAknggSTyQJB5IEg/0Zm/2Zrz4i784AH/4h3/I+fPnAbDNc7PNc7PN82Ob52ab+21sbHDVVVddddVV/8dRueqqq6666qqrrrrqqquuegFe7MVe7LU/93M/97d+9md/lmc84xkASOKBJPFAknggSTyQJB7oJV7iJXjxF39xAP7wD/+Q8+fPA2Cb52ab52ab52ab58c2D7SxsQHAfffddytXXXXVVVdd9X8Tlauuuuqqq6666qqrrrrqqufjxV7sxV77cz/3c3/rb/7mb/jbv/1bACTxQJJ4IEk8kCQeSBIP9BIv8RK86Zu+KQB/+Id/yPnz5wGwzXOzzXOzzXOzzXOzzQtz9uzZZ3DVVVddddVV/zdRueqqq6666qqrrrrqqquuei4v9mIv9tqf+7mf+1vPeMYz+Lmf+zkAJPFAknggSTyQJB5IEg90yy238KZv+qYA/PVf/zXnz58HwDbPzTbPzTbPzTbPzTbPj202NjYAuO+++27lqquuuuqqq/5vonLVVVddddVVV1111VVXXfUA11xzzYM/93M/97ee8Yxn8H3f930ASOKBJPFAknggSTyQJB7olltu4V3e5V0A+Ou//mtuv/12bPPcbPP82Oa52ea52ea52eZ+m5ubAJw9e/ZWrrrqqquuuur/JipXXXXVVVddddVVV1111VXPdM011zz4cz7nc37rGc94Bt/3fd8HgCQeSBIPJIkHksQD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gx7EwcEBv//7v8+/l21sY5v/CLaxzb+HbWzzb2Eb2/xb2MY2/1q2+deyjW3+NWzzr2Eb2/xr2OZFsb29DcB99913K1ddddVVV1111XOjctVVV1111VVXXXXV/1kf/uEf/l0v9mIv9trf9V3fxTOe8QxeFJK4nyRekHd/93fnQQ96EAC///u/zz333MO/hW3+I9nmP4Jt/q1s829lm38L2/xr2eZfyzb/Wrb517DNv8bOzg4AZ8+evZWrrrrqqquuuuq5Ubnqqquuuuqqq6666v+k13md13nv13md13nv7/qu7+LWW29FEveTxP0kcT9J3E8SDySJ+73FW7wFD3rQgwD45V/+Ze655x7+NWzzH802/162+fewzb+Vbf4tbPNvYZt/Ldv8a9jmX8s2/xq22d7e5qqrrrrqqquueoGoXHXVVVddddVVV131f86LvdiLvfaHf/iHf9dP/dRPceuttyKJ+0nifpJ4UUjifq/xGq/BS77kSwLwy7/8y9xzzz38S2zzn8E2/xFs8+9hm38r2/xb2Obfwjb/Wrb517LNv5Zt/jVs80D33XffrVx11VVXXXXVVc+NylVXXXXVVVddddVV/6e82Iu92Gt/7ud+7m/91m/9Fn/913+NJO4niRdEEveTxPPzki/5krzma74mAL/8y7/MPffcwwtim/8MtvmPYpt/D9v8W9nm38o2/1q2+deyzb+Wbf61bPOvZRuA7e1tAM6ePfsMrrrqqquuuuqq54fKVVddddVVV1111VX/Z7zYi73Ya3/u537ub/31X/81v/3bv80LI4n7SeJ+knggSQA86EEP4i3e4i0A+P3f/33uueceHsg2/5ls8x/FNv8etvm3ss2/lW3+LWzzr2Wbfy3b/GvZ5l/DNg+0s7MDwH333XcrV1111VVXXXXV80Plqquuuuqqq6666qr/E6655poHf+7nfu5v3XrrrfzUT/0UAJK4nyTuJ4n7SeIFkQTAgx70IN793d8dgN///d/nKU95CgC2+c9km/8otvn3ss2/h23+LWzzb2Gbfy3b/GvZ5l/LNv9atnlu29vbANx33323ctVVV1111VVXPT9Urrrqqquuuuqqq676X++aa6558Dd90zc9/dZbb+W7vuu7AJDE/SRxP0m8IJK4nyQAHvSgB/Hu7/7uAPzVX/0VT37yk/nPZJv/SLb597LNv4dt/i1s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yzYAOzs7ANx33323ctVVV1111VVX/WtQueqqq6666qqrrvo/4h3f8R0/63Ve53Xe+9u+7dt4+tOfzv0kcT9J3E8S95PE/STxQC/90i/NS7/0SwPw8z//89x99938V5PEv5UkAGxz1f8+tvnXss2/hm3+s9nmX8s2ADs7O1x11VVXXXXVVf9mVK666qqrrrrqqqv+D3ixF3ux136nd3qnz/62b/s2nv70p3M/SdxPEveTxIviZV7mZXjrt35rAH7+53+eu+++m/9qkviPIAkA21z1v4Nt/rVs869hm38t2/xns839dnZ2APiHf/iH3+aqq6666qqrrvrXonLVVVddddVVV131v9yLvdiLvfbnfu7n/taP//iP8/SnP51/LUncTxL3e8hDHsJbv/VbA/A7v/M73H333fxXk8R/NEkA2Oaq52Sbfw3b/GvY5n872/xr2eZfwzYPtLOzA8B99913K1ddddVVV1111b8WwVVXXXXVVVddddX/Yi/2Yi/22p/7uZ/7W3/xF3/BX/zFX/BAkrifJO4niftJ4vl58IMfzHu/93sD8Du/8zs86UlP4r+aJP4zSeK/iiT+PSTx/41t/rVs869hm38N2/xr2eaqq6666qqrrvpvReWqq6666qqrrrrqf6kXe7EXe+3P/dzP/a2nPe1p/PiP/ziSuJ8k7ieJF4UkAB784AfzPu/zPgA86UlP4klPehL/1STxX0ESALa56j+Xbf6/sc2/lm2e287ODgD33XffrVx11VVXXXXVVf9aBFddddVVV1111VX/C11zzTUP/tzP/dzfetrTnsa3fdu38aKSxP0kcT9JABw/fpz3eZ/3AeBJT3oSv/3bv81/NUn8V5PEfzZJXPWfxzb/Grb517DNv4Zt/rVs8/wcO3YMgLNnzz6Dq6666qqrrrrqX4vKVVddddVVV1111f8y11xzzYM/53M+57ee9rSn8W3f9m0ASOJ+krifJO4niftJ4rkdP36cj/mYjwHgrrvu4rd/+7f5ryaJ/y6SALDNVf8y2/xnsc1/Jtv8a9jmP5ttrrrqqquuuuqq/xRUrrrqqquuuuqqq/6X+fAP//DvOjg4ePC3fdu3ASCJ+0nifpJ4UUji+PHjvM/7vA8Ad911Fz//8z/PfyVJ/E8hCQDb/EeThG3+v7HNfybb/E9im/9IN910EwD33XffrVx11VVXXXXV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hG0kAWAbSdhGEraRhG0kYRtJ2EYStpGEbSRhGwBJ2EYStpGEbQAkYZsHkoRtACRhm38LSdgGQBK2uZ8kbAMgCdvcTxK2uZ8kbHM/SdjmfpKwzb+WJGzzQJKwzb9kZ2cHgLNnzz6Dq6666qqrrrrqPxOVq6666qqrrrrqP92LvdiLvTbP9PjHP54777yTnZ0dJPGvIYnnJonnJokHksRzk8QDSeKBJPHCSOJ+knggSdxPEveTxP0kcT9JPD+SAJDE/SQBIIn7SQJAEgCSeG6SAJAEgCQkASAJAEkASOKBJCEJAEkASEISAJIAkMT9JAEgCUkASAJAEpIAkMQDSQJAEgCSAJAEgCTuJwkASfxns839bANgm/vZBsA2ALYBsM39bANgGwDb2AbANrYBsM39bANgGwDb2AbANrYBsM0D2cY2ALYBsA2AbQBsA2CbB7INgG0AbANgm/vZBsA2ALZ5fmwDYJv72eZ+trmfbe5nm/vZ5gWxzQPZ5oFscz/bPJBtnpttHsg2/xLbPDfbPDfbPNDOzg5XXXXVVVddddV/CSpXXXXVVVddddV/urNnz956zTXXPBjgMY95DI95zGO46qqrrvr/7r777rv1H/7hH36bq6666qqrrrrqPxN60IMexFVXXXXVVVdd9Z/rmmuuefDnfM7n/BZXXXXVVVc9y2d91me9zn333XcrV1111VVXXXXVfyb0oAc9iKuuuuqqq6666qqrrrrqqquuuuqqq6666v8kKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+r+EebQGRe5M7VWgAAAABJRU5ErkJggg==) +![Rendered example of std::math::sin 0](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAALQCAYAAADPfd1WAADovElEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a8+6EEP4qqrrrrqqquuuuqqq6666qqrrrrqqquu+j+JylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yrK8ePHueqqq6666qqrrrrqqquu+t/idV7ndd57c3Pz+NmzZ2/lqquuuuqqq676l1C56qqrrrrqqquuuuqqq676X+JzP/dzf+vMmTMPvuaaax78W7/1W9/99V//9e/DVVddddVVV131wlCOHz/OVVddddVVV1111VVXXXXV/3Sf+7mf+1sv9mIv9tpPfvKTj8/ncx7zmMe89DXXXPPgP/3TP/0ZrrrqqquuuuqqF4Ry/Phxrrrqqquuuuqqq6666qqr/if78A//8O96xVd8xbe+9dZb+aEf+iGe8IQn8Cqv8io85CEPeelrrrnmwX/6p3/6M1x11VVXXXXVVc8P5fjx41x11VVXXXXVVVddddVVV/1P9Tqv8zrv/U7v9E6ffeutt/Jd3/VdAKxWK/7mb/6GV37lV+YhD3nIS19zzTUP/tM//dOf4aqrrrrqqquuem6U48ePc9VVV1111VVXXXXVVVdd9T/Ri73Yi732J33SJ/3Urbfeynd913fxQOv1mr/+67/mlV/5lXnIQx7y0gD/8A//8DtcddVVV1111VUPRDl+/DhXXXXVVVddddVVV1111VX/07zYi73Ya3/u537ub+3u7vJN3/RNPJAkAFarFX/913/NK7/yK/PiL/7irw3wD//wD7/DVVddddVVV111P8rx48e56qqrrrrqqquuuuqqq676n+TFXuzFXvtzP/dzf2t3d5ev+qqv4oEk8UCr1Yq//uu/5pVf+ZV58Rd/8dcG+Id/+Iff4aqrrrrqqquuAqAcP36cq6666qqrrrrqqquuuuqq/ymuueaaB3/FV3zFX+3u7vJTP/VT7O7ucj9JPD+r1YpL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P5J4fiTx/EjiBZHEv5Ykntstt9zCu7/7uwPwN3/zN5w/fx4A21x11VVXXXXV/wFUrrrqqquuuuqqq6666qqr/gXv+I7v+Fmv8zqv895Pf/rT+amf+ikAJPH8SOL5kcTzI4l/LUm8IJJ4fiTx3G655Rbe/d3fHYAnPelJ3HHHHQDYBuDUqVMA/MM//MNvc9VVV1111VX/O1G56qqrrrrqqquuuuqqq656IV7ndV7nvd/pnd7ps5/+9KfzXd/1XfxXkcTzI4kXRBIvqltuuYV3f/d3B+COO+7gyU9+MgC2ueqqq6666qr/Q6hcddVVV1111VVXXXXVVVe9AC/2Yi/22h/+4R/+XU9/+tP5ru/6Lu4niedHEs+PJJ4fSTw/knh+JPGCSOIFkcQD3XLLLbz7u787AHfccQd/8zd/A4BtHmhjYwOA++6771auuuqqq6666n8nKlddddVVV1111VVXXXXVVc/Hi73Yi732537u5/7W7u4u3/Vd38X9JPH8SOL5kcTzI4nnRxL/WpJ4QSTxQMeOHePd3/3dATh//jx/8zd/A4BtHmixWHDVVVddddVV/wdQueqqq6666qqrrrrqqquuei4v9mIv9tqf+7mf+1u7u7v85E/+JPeTxPMjiedHEs+PJP61JPGvJYkHOnbsGB/2YR8GwPnz5/njP/5jAGzz3DY2NgD4h3/4h9/mqquuuuqqq/73onLVVVddddVVV1111VVXXfUA11xzzYM/93M/97cAfvInf5Jbb70VAEk8P5L4jyKJ50cSL4gknh9JPNCxY8d48zd/cwDOnz/PH//xHwNgm+dmm8ViAcB99913K1ddddVVV131vxeVq6666qqrrrrqqquuuuqqZ7rmmmse/OEf/uHfBfCd3/md3HrrrfxbSeL5kcTzI4nnRxIviCReVG/+5m/Ogx70IM6fP88f//EfA2Cb52abq6666qqrrvo/hMpVV1111VVXXXXVVVddddUzffiHf/h3vdiLvdhrf+d3fie33nor95PE8yOJ50cSz48knh9J/GtJ4gWRxAO927u9Gw960INYLpf88R//MQC2eW62ud9isQDgvvvuu5Wrrrrqqquu+t+LylVXXXXVVVddddVVV111FfC5n/u5v/ViL/Zir/2d3/md3HrrrdxPEs+PJJ4fSTw/kvjXksS/liQe6N3e7d140IMexHK55Dd/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JYkXlSReVJJ4fiTx/Lz1W781D37wg7n33nv5jd/4Df6ns83/NLb5z2ab/yi2+feyzb9ka2sLgLNnz97KVVddddVVV/3/ReWqq6666qqrrrrqqv913vEd3/GzXud1Xue9n/a0p/FjP/ZjvDCSeG6SeH4k8aKSxItKEs/Pe7/3e/PgBz+Yw8NDfuM3foP/aWzzP51t/rPZ5j+Kbf69bPOi2NraAuC+++67lauuuuqqq676/4vKVVddddVVV1111VX/q7zO67zOe7/TO73TZz/taU/jW7/1W7mfJJ6bJF5Uknh+JPHcJPH8SOJF9d7v/d48+MEP5vDwkJ/5mZ/hv5Nt/rexzX8F21x11VVXXXXVVf+rUbnqqquuuuqqq6666n+NF3uxF3vtD//wD/+upz3taXzrt34r95PEi0oSLypJvKgk8fxI4rm993u/Nw9+8IM5PDzkj/7oj7DNA0niP4pt/i+xzX8V2/xHss2/l21eFFtbWwDcd999t3LVVVddddVV/79Rueqqq6666qqrrrrqf4UXe7EXe+3P/dzP/a2LFy/yrd/6rfxLJPHcJPH8SOJFJYkXlSSe23u/93vz4Ac/GIA/+qM/4t577+W52eaq52Wb/yq2+Y9km/9K1113HQBnz569lauuuuqqq676/43KVVddddVVV1111VX/473Yi73Ya3/u537ub128eJFv/dZv5YEk8dwk8aKSxPMjiecmiedHEi+Kt37rt+bBD34wAL/+67/Ovffey1X/Mtv8V7LNfyTb/Eewzb/WfffddytXXXXVVVdd9f8blauuuuqqq6666qqr/ke75pprHvy5n/u5vwXwYz/2Y1y8eJH7SeJFJYkXlSReVJJ4fiTxQK/92q/NS7/0SwPw67/+69x7771c9cLZ5r+abf4nss2/xubmJgD33XffrVx11VVXXXXV/29Urrrqqquuuuqqq676H+uaa6558Od8zuf8FsC3fuu38rSnPY1/iSSemySeH0m8qCTxopLEA730S780r/3arw3Ar//6r3Pvvfdy1Qtnm/9qtvmPZpv/DltbWwCcPXv2GVx11VVXXXXV/29Urrrqqquuuuqqq676H+vDP/zDv+uaa6558Ld+67fytKc9jQeSxHOTxItKEs+PJJ6bJJ4fSfxLXvqlX5q3fuu3BuDXf/3Xuffee7nqBbPNfwfb/EezzX8E21x1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P/VT/FexDYAkrrrqP9p99913K1ddddVVV1111f0Irrrqqquuuuqqq676V3ud13md936d13md937qU5/Kt3zLt/D8SOK5SeJFJYkXlSReVJIAeJ/3eR8e/OAHc3BwwB/+4R/y38E2V131H2VzcxOA++6771auuuqqq6666qr7Ubnqqquuuuqqq6666l/lxV7sxV77wz/8w7/rqU99Kt/yLd+CJJ6bJF5UknhRSeJFJYkX5H3e53148IMfDMAf/MEfcN999/HfxTYAkrjqqn+Pra0tAM6ePfsMrrrqqquuuuqq+xFcddVVV1111VVXXfUie7EXe7HX/tzP/dzfunjxIt/yLd+CJF5Uknhuknh+JPHcJPH8SOK5SeL5kcTbvM3b8OAHPxiAX/mVX+Hee+/FNv/dbHPVv58k/qtI4qqrrrrqqquu+h+P4KqrrrrqqquuuuqqF8mLvdiLvfbnfu7n/tbFixf5oi/6Il4QSTw3SbyoJPGiksSLShKv/dqvzUu/9EsD8Cu/8ivce++93M82tvnvZBvbXPX/kyT+Pba2tgC47777buWqq6666qqrrrofwVVXXXXVVVddddVV/6JrrrnmwZ/7uZ/7WxcvXuRHfuRHAJDEc5PEi0oSLypJvKgk8fy89Eu/NK/zOq8DwK/8yq9w77338vzY5r+bba666l9ra2sLgLNnz97KVVddddVVV111P4Krrrrqqquuuuqqq16oa6655sHf9E3f9HSAH/mRH+FpT3saknhRSeJFJYnnJonnRxIvqoc85CG8zdu8DQC/8iu/wr333ssLYxvb/HeyzVX/NpL4ryKJ/ym2trYAuO+++27lqquuuuqqq666H8FVV1111VVXXXXVVS/QNddc8+AP//AP/y6Ab/7mb+ZpT3saL4gknpsknh9JPDdJvKgk8fxI4rk95CEP4X3e530A+IM/+APuvfdeXlS2+e9km6uuuuqqq6666qqr/l0Irrrqqquuuuqqq656gT78wz/8u17sxV7stb/5m7+Zpz3taQBI4rlJ4kUliReVJF5UknhuD37wg3mf93kfAP7gD/6Apz71qfxr2ea/k22u+teTxP9Gkvi32NraAuC+++67lauuuuqqq6666oEIrrrqqquuuuqqq656vj73cz/3t17sxV7stX/0R3+Upz3taQBI4kUliReVJJ6bJJ4fSbwoHvzgB/O+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PSTxQFtbWwDcd999t3LVVVddddVVVz03gquuuuqqq6666qr/g17sxV7stT/3cz/3ty5evMgXfuEX8q8liecmiReVJF5Uknhux48f533f930BuOeee/j93/99rrrqv4skJPEfSRL/HpK46qqrrrrqqqteJARXXXXVVVddddVV/8dcc801D/7cz/3c37p48SI/8iM/wv0k8dwk8dwk8aKSxItKEi+K48eP83Ef93EA3HPPPfzyL/8yz802/1Fs8x/JNlf93ySJ/0iS+PeQxNbWFgBnz559BlddddVVV1111fND5aqrrrrqqquuuur/kGuuuebB3/RN3/R0gB/5kR/hqU99KgCSeG6SeFFJ4kUliecmiedHEg90/Phx3u/93g+Ae+65h1/+5V/mBbGNJP4/kcT/RpJ4UdjmfzpJ2OZ/iq2tLQDuu+++W7nqqquuuuqqq54fKlddddVVV1111VX/R1xzzTUP/vAP//DvAvjmb/5mnvrUp/KvJYkXlSSemyReVJJ4oOPHj/O2b/u2HD9+nHvuuYdf/uVf5qr/XSTx7yGJF8Q2/1NIwjb/ESRhm3+rra0tAO67775bueqqq6666qqrnh8qV1111VVXXXXVVf9HfPiHf/h3vdiLvdhrf/M3fzNPfepTuZ8knpskXlSSeG6SeFFJ4kXxtm/7tjzkIQ/h4OCAX/7lX+ZFYRtJ/HvZRhJX/etJ4r+CJB7INv+dJAFgm38vSdjm32Jra4urrrrqqquuuuqFonLVVVddddVVV131f8Dnfu7n/taLvdiLvfaP/MiP8NSnPpX7SeJFJYnnJokXlSReVJJ4oPd93/flIQ95CAcHB/z4j/84Vz0vSfxPIYn/bpJ4INv8d5CEbf69JGGbf62trS0A/uEf/uG3ueqqq6666qqrnh8qV1111VVXXXXVVf/Lfe7nfu5vvdiLvdhr/+qv/ip//ud/zr9EEs9NEi8qSTw3STw/knhuknig933f9+UhD3kIBwcH/PiP/zj/WraRxFX/uSTxP5kk7meb/0qSsM2/lyRsc9VVV1111VVX/YeictVVV1111VVXXfW/2Id/+Id/14u92Iu99p//+Z/za7/2azyQJJ6bJF5UknhuknhRSeJf8r7v+7485CEP4eDggN///d/nv5NtJPE/kST+u0jifxtJ3M82/xUkAWCbfw9J2OZFtbm5CcDZs2dv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zYtKEg9km+dHEvezzXOTxP1s80CSeKCzZ88+g6uuuuqqq6666t+DylVXXXXVVVdd9T/C67zO67w3wFOe8hQeSBIvKkn8W33QB30QD33oQwH4jd/4De6++26u+t9JEs+PJF5Uknhukvi3ksRzk8Rzk8S/RBLPTRLPTRLPTRLPTRLPTRLPjySeH0k8P5J4YSTxopLEfwZJvDC2eUEk8UC2eW6SuJ9tnpskAGzzQBsbGwCcPXv2Vq666qqrrrrqqn8PKlddddVVV1111f8IL/ZiL/ZaAE996lP5l0jiRSWJ5yaJB3rHd3xHHvrQhwLw0z/909x1111I4v8bSfx7SOI/miT+M0ni30MSz00S/xJJPDdJPDdJPJAknpsknpskHkgSz00Sz48knpsknh9JPD+SeEEk8aKQxP8Eknhutnl+JHE/2zw3SdzPNg8kCQDbAGxsbABw33333cpVV1111VVXXfXvQeWqq6666qqrrvof4cVe7MVeG+DChQvcTxLPTRLPjySemyT+Ja//+q/Py73cywHw0z/909x1110A2EYS/xtI4r+CJP6tJPGCSOJfSxLPjySeH0m8qCTx3CTx3CTx3CTx3CTxL5HEc5PEA0niuUniuUnigSTx3CTx3CTx3CTx/Eji+ZHECyKJF0YS/1qS+I9kmxeFJB7INs9NEvezzXOTBIBtHkgSAIvFgquuuuqqq6666j8Elauuuuqqq6666n+Ea6655sF/9md/xv0k8aKSxItKEvd7uZd7Od7gDd4AgJ/+6Z/mrrvu4v8qSVz1nCTxn00Sz00SDySJ5yaJf4kknpskHkgSz00Sz00Sz00Sz00Sz48knh9JvDCSeFFI4r+CJF4Q27wgkrifbZ6bJO5nmweSBIBtnp/77rvvVq666qqrrrrqqn8PKlddddVVV1111X+713md13lvgKc85Sm8MJJ4UUniuUnifg996EN5x3d8RwB++qd/mrvuuour/meRxPMjiedHEs+PJF5UknhuknhuknhukviXSOJfIonnJokHksRzk8QDSeK5SeK5SeK5SeK5SeK5SeL5kcQLIol/iST+vSTxgtjmX0sSD2Sb50cS97PNc5MEgG0eSBL3m8/nANx33323ctVVV1111VVX/XtRueqqq6666qqr/tu92Iu92GsB/Nmf/RkAknhuknh+JPHcJPHCPPShD+WDPuiDAPjN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uJ8k7ieJ+0nifpK4nyTuJ4kHksT9JPFAknggSTw3SbwgkvjPJInnxzb3k8T9bHM/SQDYBkAS97MNgCRmsxkA9913361cddVVV1111VX/0ahcddVVV1111VX/KV7sxV7stQFOnDjB3t4eP/mTP4kk/r+RxH8mSfxXkcR/FUn8SyTxQJL415DEA0niBZHE/STxopDE/SRxP0ncTxL3k8QLI4n7SeK5SeJ+krifJAAkcT9J3E8SAJK4nyTuJ4n7SeJ+krifJO4niftJ4n6SeCBJPJAknpsknpskXhhJ/GewzQNJ4oFsAyCJ+9kGQBL3sw2AJABsM5vNALjvvvtu5aqrrrrqqquu+o9G5aqrrrrqqquu+g93zTXXPPiaa655MM/0J3/yJzzmMY9BEv9ZJPGikMR/FEn8SyTx7yWJfwtJvCCS+NeSxPMjiReVJF4UknggSfxLJPFAknhhJPGCSOKBJPH8SOJ+knh+JPH8SOJ+knh+JHE/STw3STw3SdxPEs9NEveTxHOTxPMjiftJ4rlJ4oEk8fxI4oWRxHOTxL+XJF4Utvn3ss1zs80Lsr29zVVXXXXVVVdd9Z+GylVXXXXVVVdd9R/Otv/hH/7ht1/sxV7stQHe4A3egKuuuuqqq16w++6779Z/+Id/+G2uuuqqq6666qr/aFSuuuqqq6666qr/cGfPnn3Gb/3Wb33PfffddytXXXXVVVf9i37rt37re/7hH/7ht7nqqquuuuqqq/6joQc96EFcddVVV1111VVXXXXVVVddddVVV1111VX/J1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1dRueqqq6666qqrrrrqqquuuuqqq6666qqr/q+ictVVV1111VVXXXXVVVddddVVV1111VVX/V9F5aqrrrrqqquuuuqqq6666qqrrrrqqquu+r+KylVXXXXVVVddddVVV1111VVXXXXVVVdd9X8Vlauuuuqqq6666qqrrrrqqquuuuqqq6666v8qKlddddVVV1111VVXXXXVVVddddVVV1111f9VVK666qqrrrrqqquuuuqqq6666qqrrrrqqv+rqFx11VVXXXXVVVddddVVV1111VVXXXXVVf9XUbnqqquuuuqqq6666qqrrrrqqquuuuqqq/6vonLVVVddddVVV1111VVXXXXVVVddddVVV/1fReWqq6666qqrrrrqqquuuuqqq6666qqrrvq/ispVV1111VVXXXXVVVddddVVV1111VVXXfV/FZWrrrrqqquuuuqqq6666qqrrrrqqquuuur/KipXXXXVVVddddVVV1111VVXXXXVVVddddX/VVSuuuqqq6666qqrrrrqqquuuuqqq6666qr/q6hcddVVV1111VVXXXXVVVddddVVV1111VX/V1G56qqrrrrqqquuuuqqq6666qqrrrrqqqv+r6Jy1VVXXXXVVVddddVVV1111VVXXXXVVVf9X0Xlqquuuuqqq6666qqrrrrqqquuuuqqq676v4rKVVddddVVV1111VVXXXXVVVddddVVV131fxWVq6666qqrrrrqqquuuuqqq6666qqrrrrq/yoqV1111VVXXXXVVVddddVVV1111VVXXXXV/1VUrrrqqquuuuqqq6666qqrrrrqqquuuuqq/6uoXHXVVVddddVVV1111VVXXXXVVVddddVV/1fxj6RHS8i7bL9PAAAAAElFTkSuQmCC) diff --git a/docs/kcl/std-revolve.md b/docs/kcl/std-revolve.md index 03c7f5296..9df9fafc4 100644 --- a/docs/kcl/std-revolve.md +++ b/docs/kcl/std-revolve.md @@ -18,7 +18,14 @@ You can provide more than one sketch to revolve, and they will all be revolved around the same axis. ```js -revolve(@sketches: [Sketch; 1+], axis: Axis2d | Edge, angle?: number(deg), tolerance?: number(mm), tagStart?: tag, tagEnd?: tag): Solid +revolve( + @sketches: [Sketch; 1+], + axis: Axis2d | Edge, + angle?: number(deg), + tolerance?: number(mm), + tagStart?: tag, + tagEnd?: tag, +): Solid ``` diff --git a/docs/kcl/std-sketch-circle.md b/docs/kcl/std-sketch-circle.md index a327a43be..71287b3bc 100644 --- a/docs/kcl/std-sketch-circle.md +++ b/docs/kcl/std-sketch-circle.md @@ -6,10 +6,16 @@ layout: manual -Construct a 2-dimensional circle, of the specified radius, centered atthe provided (x, y) origin point. +Construct a 2-dimensional circle, of the specified radius, centered at +the provided (x, y) origin point. ```js -circle(@sketch_or_surface: Sketch | Plane | Face, center: Point2d, radius: number, tag?: tag): Sketch +circle( + @sketch_or_surface: Sketch | Plane | Face, + center: Point2d, + radius: number, + tag?: tag, +): Sketch ``` diff --git a/docs/kcl/std-sketch-mirror2d.md b/docs/kcl/std-sketch-mirror2d.md index 41959fd8b..435ecf868 100644 --- a/docs/kcl/std-sketch-mirror2d.md +++ b/docs/kcl/std-sketch-mirror2d.md @@ -11,7 +11,10 @@ Only works on unclosed sketches for now. Mirror occurs around a local sketch axis rather than a global axis. ```js -mirror2d(@sketches: [Sketch; 1+], axis: Axis2d | Edge): Sketch +mirror2d( + @sketches: [Sketch; 1+], + axis: Axis2d | Edge, +): Sketch ``` diff --git a/docs/kcl/std.json b/docs/kcl/std.json index ad50bc2e8..c72ed79d3 100644 --- a/docs/kcl/std.json +++ b/docs/kcl/std.json @@ -235702,7 +235702,7 @@ "examples": [ "// This function adds two numbers.\nfn add(a, b) {\n return a + b\n}\n\n// This function adds an array of numbers.\n// It uses the `reduce` function, to call the `add` function on every\n// element of the `arr` parameter. The starting value is 0.\nfn sum(arr) {\n return reduce(arr, 0, add)\n}\n\n/* The above is basically like this pseudo-code:\nfn sum(arr):\n sumSoFar = 0\n for i in arr:\n sumSoFar = add(sumSoFar, i)\n return sumSoFar */\n\n// We use `assertEqual` to check that our `sum` function gives the\n// expected result. It's good to check your work!\nassertEqual(sum([1, 2, 3]), 6, 0.00001, \"1 + 2 + 3 summed is 6\")", "// This example works just like the previous example above, but it uses\n// an anonymous `add` function as its parameter, instead of declaring a\n// named function outside.\narr = [1, 2, 3]\nsum = reduce(arr, 0, fn(i, result_so_far) {\n return i + result_so_far\n})\n\n// We use `assertEqual` to check that our `sum` function gives the\n// expected result. It's good to check your work!\nassertEqual(sum, 6, 0.00001, \"1 + 2 + 3 summed is 6\")", - "// Declare a function that sketches a decagon.\nfn decagon(radius) {\n // Each side of the decagon is turned this many degrees from the previous angle.\n stepAngle = 1 / 10 * TAU\n\n // Start the decagon sketch at this point.\n startOfDecagonSketch = startSketchOn(XY)\n |> startProfileAt([cos(0) * radius, sin(0) * radius], %)\n\n // Use a `reduce` to draw the remaining decagon sides.\n // For each number in the array 1..10, run the given function,\n // which takes a partially-sketched decagon and adds one more edge to it.\n fullDecagon = reduce([1..10], startOfDecagonSketch, fn(i, partialDecagon) {\n // Draw one edge of the decagon.\n x = cos(stepAngle * i) * radius\n y = sin(stepAngle * i) * radius\n return line(partialDecagon, end = [x, y])\n })\n\n return fullDecagon\n}\n\n/* The `decagon` above is basically like this pseudo-code:\nfn decagon(radius):\n stepAngle = (1/10) * TAU\n plane = startSketchOn('XY')\n startOfDecagonSketch = startProfileAt([(cos(0)*radius), (sin(0) * radius)], plane)\n\n // Here's the reduce part.\n partialDecagon = startOfDecagonSketch\n for i in [1..10]:\n x = cos(stepAngle * i) * radius\n y = sin(stepAngle * i) * radius\n partialDecagon = line(partialDecagon, end = [x, y])\n fullDecagon = partialDecagon // it's now full\n return fullDecagon */\n\n// Use the `decagon` function declared above, to sketch a decagon with radius 5.\ndecagon(5.0)\n |> close()" + "// Declare a function that sketches a decagon.\nfn decagon(radius) {\n // Each side of the decagon is turned this many radians from the previous angle.\n stepAngle = 1 / 10 * TAU\n\n // Start the decagon sketch at this point.\n startOfDecagonSketch = startSketchOn(XY)\n |> startProfileAt([cos(0) * radius, sin(0) * radius], %)\n\n // Use a `reduce` to draw the remaining decagon sides.\n // For each number in the array 1..10, run the given function,\n // which takes a partially-sketched decagon and adds one more edge to it.\n fullDecagon = reduce([1..10], startOfDecagonSketch, fn(i, partialDecagon) {\n // Draw one edge of the decagon.\n x = cos(stepAngle * i) * radius\n y = sin(stepAngle * i) * radius\n return line(partialDecagon, end = [x, y])\n })\n\n return fullDecagon\n}\n\n/* The `decagon` above is basically like this pseudo-code:\nfn decagon(radius):\n stepAngle = (1/10) * TAU\n plane = startSketchOn('XY')\n startOfDecagonSketch = startProfileAt([(cos(0)*radius), (sin(0) * radius)], plane)\n\n // Here's the reduce part.\n partialDecagon = startOfDecagonSketch\n for i in [1..10]:\n x = cos(stepAngle * i) * radius\n y = sin(stepAngle * i) * radius\n partialDecagon = line(partialDecagon, end = [x, y])\n fullDecagon = partialDecagon // it's now full\n return fullDecagon */\n\n// Use the `decagon` function declared above, to sketch a decagon with radius 5.\ndecagon(5.0)\n |> close()" ] }, { diff --git a/e2e/playwright/basic-sketch.spec.ts b/e2e/playwright/basic-sketch.spec.ts index adf2270bf..d386bda7e 100644 --- a/e2e/playwright/basic-sketch.spec.ts +++ b/e2e/playwright/basic-sketch.spec.ts @@ -137,7 +137,7 @@ async function doBasicSketch( await page.waitForTimeout(100) } - await page.getByRole('button', { name: 'Length: open menu' }).click() + await page.getByRole('button', { name: 'constraints: open menu' }).click() await page.getByRole('button', { name: 'Equal Length' }).click() // Open the code pane. diff --git a/e2e/playwright/editor-tests.spec.ts b/e2e/playwright/editor-tests.spec.ts index de0c4bdcf..cfd34c12d 100644 --- a/e2e/playwright/editor-tests.spec.ts +++ b/e2e/playwright/editor-tests.spec.ts @@ -1353,4 +1353,51 @@ sketch001 = startSketchOn(XZ) 15 ) }) + + test(`test-toolbar-buttons`, async ({ + page, + homePage, + toolbar, + scene, + cmdBar, + }) => { + await test.step('Load an empty file', async () => { + await page.addInitScript(async () => { + localStorage.setItem('persistCode', '') + }) + await page.setBodyDimensions({ width: 1200, height: 500 }) + await homePage.goToModelingScene() + + // wait until scene is ready to be interacted with + await scene.connectionEstablished() + await scene.settled(cmdBar) + }) + + await test.step('Test toolbar button correct selection', async () => { + await toolbar.expectToolbarMode.toBe('modeling') + + await toolbar.startSketchPlaneSelection() + + // Click on a default plane + await page.mouse.click(700, 200) + + // tools cannot be selected immediately, couldn't find an event to await instead. + await page.waitForTimeout(1000) + + await toolbar.selectCenterRectangle() + + await expect(page.getByTestId('center-rectangle')).toHaveAttribute( + 'aria-pressed', + 'true' + ) + }) + + await test.step('Test Toolbar dropdown remembering last selection', async () => { + // Select another tool + await page.getByTestId('circle-center').click() + + // center-rectangle should still be the active option in the rectangle dropdown + await expect(page.getByTestId('center-rectangle')).toBeVisible() + }) + }) }) diff --git a/e2e/playwright/fixtures/sceneFixture.ts b/e2e/playwright/fixtures/sceneFixture.ts index 81d2c064e..29daa9b3a 100644 --- a/e2e/playwright/fixtures/sceneFixture.ts +++ b/e2e/playwright/fixtures/sceneFixture.ts @@ -49,7 +49,9 @@ export class SceneFixture { constructor(page: Page) { this.page = page this.streamWrapper = page.getByTestId('stream') - this.networkToggleConnected = page.getByTestId('network-toggle-ok') + this.networkToggleConnected = page + .getByTestId('network-toggle-ok') + .or(page.getByTestId('network-toggle-other')) this.startEditSketchBtn = page .getByRole('button', { name: 'Start Sketch' }) .or(page.getByRole('button', { name: 'Edit Sketch' })) diff --git a/e2e/playwright/fixtures/toolbarFixture.ts b/e2e/playwright/fixtures/toolbarFixture.ts index 282ad87eb..8b98af630 100644 --- a/e2e/playwright/fixtures/toolbarFixture.ts +++ b/e2e/playwright/fixtures/toolbarFixture.ts @@ -169,7 +169,7 @@ export class ToolbarFixture { } selectCenterRectangle = async () => { await this.page - .getByRole('button', { name: 'caret down Corner rectangle:' }) + .getByRole('button', { name: 'caret down rectangles:' }) .click() await expect( this.page.getByTestId('dropdown-center-rectangle') @@ -178,7 +178,7 @@ export class ToolbarFixture { } selectBoolean = async (operation: 'union' | 'subtract' | 'intersect') => { await this.page - .getByRole('button', { name: 'caret down Union: open menu' }) + .getByRole('button', { name: 'caret down booleans: open menu' }) .click() const operationTestId = `dropdown-boolean-${operation}` await expect(this.page.getByTestId(operationTestId)).toBeVisible() @@ -186,25 +186,19 @@ export class ToolbarFixture { } selectCircleThreePoint = async () => { - await this.page - .getByRole('button', { name: 'caret down Center circle:' }) - .click() + await this.page.getByRole('button', { name: 'caret down circles:' }).click() await expect( this.page.getByTestId('dropdown-circle-three-points') ).toBeVisible() await this.page.getByTestId('dropdown-circle-three-points').click() } selectArc = async () => { - await this.page - .getByRole('button', { name: 'caret down Tangential Arc:' }) - .click() + await this.page.getByRole('button', { name: 'caret down arcs:' }).click() await expect(this.page.getByTestId('dropdown-arc')).toBeVisible() await this.page.getByTestId('dropdown-arc').click() } selectThreePointArc = async () => { - await this.page - .getByRole('button', { name: 'caret down Tangential Arc:' }) - .click() + await this.page.getByRole('button', { name: 'caret down arcs:' }).click() await expect( this.page.getByTestId('dropdown-three-point-arc') ).toBeVisible() diff --git a/e2e/playwright/named-views.spec.ts b/e2e/playwright/named-views.spec.ts index 1203d54d7..28e5b192c 100644 --- a/e2e/playwright/named-views.spec.ts +++ b/e2e/playwright/named-views.spec.ts @@ -61,6 +61,7 @@ function tomlStringOverWriteNamedViewUuids(toml: string): string { } test.describe('Named view tests', () => { + test.skip() // TODO: Jace is working on these test('Verify project.toml is not created', async ({ page }, testInfo) => { // Create project and load it const projectName = 'named-views' diff --git a/e2e/playwright/native-file-menu.spec.ts b/e2e/playwright/native-file-menu.spec.ts index b4c6535a8..3b753794b 100644 --- a/e2e/playwright/native-file-menu.spec.ts +++ b/e2e/playwright/native-file-menu.spec.ts @@ -7,6 +7,7 @@ import { expect, test } from '@e2e/playwright/zoo-test' * Test file menu actions that trigger something in the frontend */ test.describe('Native file menu', { tag: ['@electron'] }, () => { + test.skip() // TODO: Reimplement native file menu tests test.describe('Home page', () => { test.describe('File role', () => { test('Home.File.Create project', async ({ tronApp, cmdBar, page }) => { diff --git a/e2e/playwright/point-click-assemblies.spec.ts b/e2e/playwright/point-click-assemblies.spec.ts index fab574404..0a61fe9c9 100644 --- a/e2e/playwright/point-click-assemblies.spec.ts +++ b/e2e/playwright/point-click-assemblies.spec.ts @@ -1,13 +1,47 @@ import * as fsp from 'fs/promises' import path from 'path' -import { executorInputPath } from '@e2e/playwright/test-utils' -import { test } from '@e2e/playwright/zoo-test' +import type { CmdBarFixture } from '@e2e/playwright/fixtures/cmdBarFixture' +import type { ToolbarFixture } from '@e2e/playwright/fixtures/toolbarFixture' +import { + executorInputPath, + getUtils, + testsInputPath, +} from '@e2e/playwright/test-utils' +import { expect, test } from '@e2e/playwright/zoo-test' +import type { Page } from '@playwright/test' + +async function insertPartIntoAssembly( + path: string, + alias: string, + toolbar: ToolbarFixture, + cmdBar: CmdBarFixture, + page: Page +) { + await toolbar.insertButton.click() + await cmdBar.selectOption({ name: path }).click() + await cmdBar.expectState({ + stage: 'arguments', + currentArgKey: 'localName', + currentArgValue: '', + headerArguments: { Path: path, LocalName: '' }, + highlightedHeaderArg: 'localName', + commandName: 'Insert', + }) + await page.keyboard.insertText(alias) + await cmdBar.progressCmdBar() + await cmdBar.expectState({ + stage: 'review', + headerArguments: { Path: path, LocalName: alias }, + commandName: 'Insert', + }) + await cmdBar.progressCmdBar() +} // test file is for testing point an click code gen functionality that's assemblies related test.describe('Point-and-click assemblies tests', () => { test( - `Insert kcl part into assembly as whole module import`, + `Insert kcl parts into assembly as whole module import`, { tag: ['@electron'] }, async ({ context, @@ -23,11 +57,14 @@ test.describe('Point-and-click assemblies tests', () => { fail() } - // One dumb hardcoded screen pixel value - const testPoint = { x: 575, y: 200 } - const initialColor: [number, number, number] = [50, 50, 50] - const partColor: [number, number, number] = [150, 150, 150] + const midPoint = { x: 500, y: 250 } + const partPoint = { x: midPoint.x + 30, y: midPoint.y - 30 } // mid point, just off top right + const defaultPlanesColor: [number, number, number] = [180, 220, 180] + const partColor: [number, number, number] = [100, 100, 100] const tolerance = 50 + const u = await getUtils(page) + const gizmo = page.locator('[aria-label*=gizmo]') + const resetCameraButton = page.getByRole('button', { name: 'Reset view' }) await test.step('Setup parts and expect empty assembly scene', async () => { const projectName = 'assembly' @@ -36,41 +73,36 @@ test.describe('Point-and-click assemblies tests', () => { await fsp.mkdir(bracketDir, { recursive: true }) await Promise.all([ fsp.copyFile( - executorInputPath('cylinder-inches.kcl'), + executorInputPath('cylinder.kcl'), path.join(bracketDir, 'cylinder.kcl') ), fsp.copyFile( executorInputPath('e2e-can-sketch-on-chamfer.kcl'), path.join(bracketDir, 'bracket.kcl') ), + fsp.copyFile( + testsInputPath('cube.step'), + path.join(bracketDir, 'cube.step') + ), fsp.writeFile(path.join(bracketDir, 'main.kcl'), ''), ]) }) await page.setBodyDimensions({ width: 1000, height: 500 }) await homePage.openProject(projectName) await scene.settled(cmdBar) - await scene.expectPixelColor(initialColor, testPoint, tolerance) + await toolbar.closePane('code') + await scene.expectPixelColor(defaultPlanesColor, midPoint, tolerance) }) - await test.step('Insert first part into the assembly', async () => { - await toolbar.insertButton.click() - await cmdBar.selectOption({ name: 'cylinder.kcl' }).click() - await cmdBar.expectState({ - stage: 'arguments', - currentArgKey: 'localName', - currentArgValue: '', - headerArguments: { Path: 'cylinder.kcl', LocalName: '' }, - highlightedHeaderArg: 'localName', - commandName: 'Insert', - }) - await page.keyboard.insertText('cylinder') - await cmdBar.progressCmdBar() - await cmdBar.expectState({ - stage: 'review', - headerArguments: { Path: 'cylinder.kcl', LocalName: 'cylinder' }, - commandName: 'Insert', - }) - await cmdBar.progressCmdBar() + await test.step('Insert kcl as first part as module', async () => { + await insertPartIntoAssembly( + 'cylinder.kcl', + 'cylinder', + toolbar, + cmdBar, + page + ) + await toolbar.openPane('code') await editor.expectEditor.toContain( ` import "cylinder.kcl" as cylinder @@ -78,28 +110,27 @@ test.describe('Point-and-click assemblies tests', () => { `, { shouldNormalise: true } ) - await scene.expectPixelColor(partColor, testPoint, tolerance) + await scene.settled(cmdBar) + + // Check scene for changes + await toolbar.closePane('code') + await u.doAndWaitForCmd(async () => { + await gizmo.click({ button: 'right' }) + await resetCameraButton.click() + }, 'zoom_to_fit') + await toolbar.closePane('debug') + await scene.expectPixelColor(partColor, partPoint, tolerance) + await toolbar.openPane('code') }) - await test.step('Insert second part into the assembly', async () => { - await toolbar.insertButton.click() - await cmdBar.selectOption({ name: 'bracket.kcl' }).click() - await cmdBar.expectState({ - stage: 'arguments', - currentArgKey: 'localName', - currentArgValue: '', - headerArguments: { Path: 'bracket.kcl', LocalName: '' }, - highlightedHeaderArg: 'localName', - commandName: 'Insert', - }) - await page.keyboard.insertText('bracket') - await cmdBar.progressCmdBar() - await cmdBar.expectState({ - stage: 'review', - headerArguments: { Path: 'bracket.kcl', LocalName: 'bracket' }, - commandName: 'Insert', - }) - await cmdBar.progressCmdBar() + await test.step('Insert kcl second part as module', async () => { + await insertPartIntoAssembly( + 'bracket.kcl', + 'bracket', + toolbar, + cmdBar, + page + ) await editor.expectEditor.toContain( ` import "cylinder.kcl" as cylinder @@ -109,6 +140,152 @@ test.describe('Point-and-click assemblies tests', () => { `, { shouldNormalise: true } ) + await scene.settled(cmdBar) + }) + + await test.step('Insert a second time and expect error', async () => { + // TODO: revisit once we have clone with #6209 + await insertPartIntoAssembly( + 'bracket.kcl', + 'bracket', + toolbar, + cmdBar, + page + ) + await editor.expectEditor.toContain( + ` + import "cylinder.kcl" as cylinder + import "bracket.kcl" as bracket + import "bracket.kcl" as bracket + cylinder + bracket + bracket + `, + { shouldNormalise: true } + ) + await scene.settled(cmdBar) + await expect(page.locator('.cm-lint-marker-error')).toBeVisible() + }) + } + ) + + test( + `Insert foreign parts into assembly as whole module import`, + { tag: ['@electron'] }, + async ({ + context, + page, + homePage, + scene, + editor, + toolbar, + cmdBar, + tronApp, + }) => { + if (!tronApp) { + fail() + } + + const midPoint = { x: 500, y: 250 } + const partPoint = { x: midPoint.x + 30, y: midPoint.y - 30 } // mid point, just off top right + const defaultPlanesColor: [number, number, number] = [180, 220, 180] + const partColor: [number, number, number] = [150, 150, 150] + const tolerance = 50 + + const complexPlmFileName = 'cube_Complex-PLM_Name_-001.sldprt' + const camelCasedSolidworksFileName = 'cubeComplexPLMName001' + + await test.step('Setup parts and expect empty assembly scene', async () => { + const projectName = 'assembly' + await context.folderSetupFn(async (dir) => { + const bracketDir = path.join(dir, projectName) + await fsp.mkdir(bracketDir, { recursive: true }) + await Promise.all([ + fsp.copyFile( + testsInputPath('cube.step'), + path.join(bracketDir, 'cube.step') + ), + fsp.copyFile( + testsInputPath('cube.sldprt'), + path.join(bracketDir, complexPlmFileName) + ), + fsp.writeFile(path.join(bracketDir, 'main.kcl'), ''), + ]) + }) + await page.setBodyDimensions({ width: 1000, height: 500 }) + await homePage.openProject(projectName) + await scene.settled(cmdBar) + await toolbar.closePane('code') + await scene.expectPixelColor(defaultPlanesColor, midPoint, tolerance) + }) + + await test.step('Insert step part as module', async () => { + await insertPartIntoAssembly('cube.step', 'cube', toolbar, cmdBar, page) + await toolbar.openPane('code') + await editor.expectEditor.toContain( + ` + import "cube.step" as cube + cube + `, + { shouldNormalise: true } + ) + await scene.settled(cmdBar) + + // TODO: remove this once #5780 is fixed + await page.reload() + + await scene.settled(cmdBar) + await expect(page.locator('.cm-lint-marker-error')).not.toBeVisible() + await toolbar.closePane('code') + await scene.expectPixelColor(partColor, partPoint, tolerance) + }) + + await test.step('Insert second step part by clicking', async () => { + await toolbar.openPane('files') + await toolbar.expectFileTreeState([ + complexPlmFileName, + 'cube.step', + 'main.kcl', + ]) + await toolbar.openFile(complexPlmFileName) + + // Go through the ToastInsert prompt + await page.getByText('Insert into my current file').click() + + // Check getPathFilenameInVariableCase output + const parsedValueFromFile = + await cmdBar.currentArgumentInput.inputValue() + expect(parsedValueFromFile).toEqual(camelCasedSolidworksFileName) + + // Continue on with the flow + await page.keyboard.insertText('cubeSw') + await cmdBar.progressCmdBar() + await cmdBar.expectState({ + stage: 'review', + headerArguments: { Path: complexPlmFileName, LocalName: 'cubeSw' }, + commandName: 'Insert', + }) + await cmdBar.progressCmdBar() + await toolbar.closePane('files') + await toolbar.openPane('code') + await editor.expectEditor.toContain( + ` + import "cube.step" as cube + import "${complexPlmFileName}" as cubeSw + cube + cubeSw + `, + { shouldNormalise: true } + ) + await scene.settled(cmdBar) + + // TODO: remove this once #5780 is fixed + await page.reload() + await scene.settled(cmdBar) + + await expect(page.locator('.cm-lint-marker-error')).not.toBeVisible() + await toolbar.closePane('code') + await scene.expectPixelColor(partColor, partPoint, tolerance) }) } ) diff --git a/e2e/playwright/test-utils.ts b/e2e/playwright/test-utils.ts index 3396e38b1..524dda15d 100644 --- a/e2e/playwright/test-utils.ts +++ b/e2e/playwright/test-utils.ts @@ -1021,6 +1021,10 @@ export function executorInputPath(fileName: string): string { return path.join('rust', 'kcl-lib', 'e2e', 'executor', 'inputs', fileName) } +export function testsInputPath(fileName: string): string { + return path.join('rust', 'kcl-lib', 'tests', 'inputs', fileName) +} + export async function doAndWaitForImageDiff( page: Page, fn: () => Promise, diff --git a/e2e/playwright/testing-constraints.spec.ts b/e2e/playwright/testing-constraints.spec.ts index 12755f752..3882e3e20 100644 --- a/e2e/playwright/testing-constraints.spec.ts +++ b/e2e/playwright/testing-constraints.spec.ts @@ -115,7 +115,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { await page.waitForTimeout(100) // this wait is needed for webkit - not sure why await page .getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) .click() await page.getByRole('button', { name: 'remove constraints' }).click() @@ -189,7 +189,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { await page.waitForTimeout(100) await page .getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) .click() await page @@ -299,7 +299,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { await page.keyboard.up('Shift') await page .getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) .click() await page.getByRole('button', { name: constraint }).click() @@ -420,7 +420,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { await page.waitForTimeout(100) await page .getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) .click() await page @@ -533,7 +533,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { await page.keyboard.up('Shift') await page .getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) .click() await page.getByTestId('dropdown-constraint-angle').click() @@ -627,7 +627,7 @@ test.describe('Testing constraints', { tag: ['@skipWin'] }, () => { await page.mouse.click(line3.x, line3.y) await page .getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) .click() await page.getByTestId('dropdown-constraint-' + constraint).click() @@ -719,7 +719,7 @@ part002 = startSketchOn(XZ) await page.mouse.click(line3.x, line3.y) await page .getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) .click() await page.getByTestId('dropdown-constraint-' + constraint).click() @@ -817,7 +817,7 @@ part002 = startSketchOn(XZ) const activeLinesContent = await page.locator('.cm-activeLine').all() const constraintMenuButton = page.getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) const constraintButton = page .getByRole('button', { @@ -905,7 +905,7 @@ part002 = startSketchOn(XZ) await page.mouse.click(line3.x - 3, line3.y + 20) await page.keyboard.up('Shift') const constraintMenuButton = page.getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) const constraintButton = page.getByRole('button', { name: constraintName, @@ -990,7 +990,7 @@ part002 = startSketchOn(XZ) await page.keyboard.up('Shift') await page.waitForTimeout(100) const constraintMenuButton = page.getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) const constraintButton = page.getByRole('button', { name: constraintName, @@ -1057,7 +1057,7 @@ part002 = startSketchOn(XZ) await page .getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) .click() await page.waitForTimeout(500) diff --git a/e2e/playwright/testing-selections.spec.ts b/e2e/playwright/testing-selections.spec.ts index 1b2485dae..72572f602 100644 --- a/e2e/playwright/testing-selections.spec.ts +++ b/e2e/playwright/testing-selections.spec.ts @@ -124,7 +124,7 @@ test.describe('Testing selections', { tag: ['@skipWin'] }, () => { // click a segment hold shift and click an axis, see that a relevant constraint is enabled const constrainButton = page.getByRole('button', { - name: 'Length: open menu', + name: 'constraints: open menu', }) const absXButton = page.getByRole('button', { name: 'Absolute X' }) diff --git a/rust/kcl-lib/src/docs/kcl_doc.rs b/rust/kcl-lib/src/docs/kcl_doc.rs index 1d0d25f4d..419727f41 100644 --- a/rust/kcl-lib/src/docs/kcl_doc.rs +++ b/rust/kcl-lib/src/docs/kcl_doc.rs @@ -1,4 +1,4 @@ -use std::{collections::HashSet, str::FromStr}; +use std::{collections::HashSet, fmt, str::FromStr}; use regex::Regex; use tower_lsp::lsp_types::{ @@ -389,21 +389,23 @@ impl FnData { pub fn fn_signature(&self) -> String { let mut signature = String::new(); - signature.push('('); - for (i, arg) in self.args.iter().enumerate() { - if i > 0 { - signature.push_str(", "); - } - match &arg.kind { - ArgKind::Special => signature.push_str(&format!("@{}", arg.name)), - ArgKind::Labelled(false) => signature.push_str(&arg.name), - ArgKind::Labelled(true) => signature.push_str(&format!("{}?", arg.name)), - } - if let Some(ty) = &arg.ty { - signature.push_str(&format!(": {ty}")); + if self.args.is_empty() { + signature.push_str("()"); + } else if self.args.len() == 1 { + signature.push('('); + signature.push_str(&self.args[0].to_string()); + signature.push(')'); + } else { + signature.push('('); + for a in &self.args { + signature.push_str("\n "); + signature.push_str(&a.to_string()); + signature.push(','); } + signature.push('\n'); + signature.push(')'); } - signature.push(')'); + if let Some(ty) = &self.return_type { signature.push_str(&format!(": {ty}")); } @@ -515,6 +517,20 @@ pub struct ArgData { pub docs: Option, } +impl fmt::Display for ArgData { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match &self.kind { + ArgKind::Special => write!(f, "@{}", self.name)?, + ArgKind::Labelled(false) => f.write_str(&self.name)?, + ArgKind::Labelled(true) => write!(f, "{}?", self.name)?, + } + if let Some(ty) = &self.ty { + write!(f, ": {ty}")?; + } + Ok(()) + } +} + #[derive(Debug, Clone, Copy, PartialEq)] pub enum ArgKind { Special, @@ -766,8 +782,8 @@ trait ApplyMeta { description = summary; summary = None; let d = description.as_mut().unwrap(); - d.push_str(l); d.push('\n'); + d.push_str(l); } continue; } diff --git a/rust/kcl-lib/src/execution/kcl_value.rs b/rust/kcl-lib/src/execution/kcl_value.rs index 7b3c9b9b9..da0fb6411 100644 --- a/rust/kcl-lib/src/execution/kcl_value.rs +++ b/rust/kcl-lib/src/execution/kcl_value.rs @@ -360,15 +360,6 @@ impl KclValue { result } - /// Put the number into a KCL value. - pub const fn from_number(f: f64, meta: Vec) -> Self { - Self::Number { - value: f, - meta, - ty: NumericType::Unknown, - } - } - pub const fn from_number_with_type(f: f64, ty: NumericType, meta: Vec) -> Self { Self::Number { value: f, meta, ty } } diff --git a/rust/kcl-lib/src/execution/types.rs b/rust/kcl-lib/src/execution/types.rs index 05f0363bf..d3bb69250 100644 --- a/rust/kcl-lib/src/execution/types.rs +++ b/rust/kcl-lib/src/execution/types.rs @@ -19,7 +19,7 @@ use crate::{ }; lazy_static::lazy_static! { - pub(super) static ref CHECK_NUMERIC_TYPES: bool = { + pub(crate) static ref CHECK_NUMERIC_TYPES: bool = { let env_var = std::env::var("ZOO_NUM_TYS"); let Ok(env_var) = env_var else { return false; @@ -416,6 +416,80 @@ impl NumericType { } } + pub fn combine_eq_array(input: &[TyF64]) -> (Vec, NumericType) { + use NumericType::*; + + let mut result = input.iter().map(|t| t.n).collect(); + + let mut ty = Any; + // Invariant mismatch is true => ty is Known + let mut mismatch = false; + for i in input { + if i.ty == Any || ty == i.ty { + continue; + } + + match (&ty, &i.ty) { + (Any, t) => { + ty = t.clone(); + } + (_, Unknown) | (Default { .. }, Default { .. }) => return (result, Unknown), + + // Known types and compatible, but needs adjustment. + (Known(UnitType::Length(_)), Known(UnitType::Length(_))) + | (Known(UnitType::Angle(_)), Known(UnitType::Angle(_))) => { + mismatch = true; + } + + // Known but incompatible. + (Known(_), Known(_)) => return (result, Unknown), + + // Known and unknown, no adjustment for counting numbers. + (Known(UnitType::Count), Default { .. }) | (Default { .. }, Known(UnitType::Count)) => { + ty = Known(UnitType::Count); + } + + (Known(UnitType::Length(l1)), Default { len: l2, .. }) => { + mismatch |= l1 != l2; + } + (Known(UnitType::Angle(a1)), Default { angle: a2, .. }) => { + mismatch |= a1 != a2; + } + + (Default { len: l1, .. }, Known(UnitType::Length(l2))) => { + mismatch |= l1 != l2; + ty = Known(UnitType::Length(*l2)); + } + (Default { angle: a1, .. }, Known(UnitType::Angle(a2))) => { + mismatch |= a1 != a2; + ty = Known(UnitType::Angle(*a2)); + } + + (Unknown, _) | (_, Any) => unreachable!(), + } + } + + if !mismatch { + return (result, ty); + } + + result = result + .into_iter() + .zip(input) + .map(|(n, i)| match (&ty, &i.ty) { + (Known(UnitType::Length(l1)), Known(UnitType::Length(l2)) | Default { len: l2, .. }) => { + l2.adjust_to(n, *l1) + } + (Known(UnitType::Angle(a1)), Known(UnitType::Angle(a2)) | Default { angle: a2, .. }) => { + a2.adjust_to(n, *a1) + } + _ => unreachable!(), + }) + .collect(); + + (result, ty) + } + /// Combine two types for multiplication-like operations. pub fn combine_mul(a: TyF64, b: TyF64) -> (f64, f64, NumericType) { use NumericType::*; @@ -621,7 +695,7 @@ pub enum UnitLen { impl UnitLen { fn adjust_to(self, value: f64, to: UnitLen) -> f64 { - if self == to { + if !*CHECK_NUMERIC_TYPES || self == to { return value; } @@ -734,6 +808,11 @@ impl UnitAngle { fn adjust_to(self, value: f64, to: UnitAngle) -> f64 { use std::f64::consts::PI; use UnitAngle::*; + + if !*CHECK_NUMERIC_TYPES { + return value; + } + match (self, to) { (Degrees, Degrees) => value, (Degrees, Radians) => (value / 180.0) * PI, @@ -1847,11 +1926,16 @@ n = 10inch / 2mm o = 3mm / 3 p = 3_ / 4 q = 4inch / 2_ + +r = min(0, 3, 42) +s = min(0, 3mm, -42) +t = min(100, 3in, 142mm) +u = min(3rad, 4in) "#; let result = parse_execute(program).await.unwrap(); if *CHECK_NUMERIC_TYPES { - assert_eq!(result.exec_state.errors().len(), 2); + assert_eq!(result.exec_state.errors().len(), 3); } else { assert!(result.exec_state.errors().is_empty()); } @@ -1861,7 +1945,9 @@ q = 4inch / 2_ assert_value_and_type("c", &result, 13.0, NumericType::mm()); assert_value_and_type("d", &result, 13.0, NumericType::mm()); assert_value_and_type("e", &result, 13.0, NumericType::mm()); - assert_value_and_type("f", &result, 5.0, NumericType::mm()); + if *CHECK_NUMERIC_TYPES { + assert_value_and_type("f", &result, 5.0, NumericType::mm()); + } assert_value_and_type("g", &result, 20.0, NumericType::default()); assert_value_and_type("h", &result, 20.0, NumericType::mm()); @@ -1871,9 +1957,30 @@ q = 4inch / 2_ assert_value_and_type("l", &result, 0.0, NumericType::count()); assert_value_and_type("m", &result, 2.0, NumericType::count()); - assert_value_and_type("n", &result, 127.0, NumericType::count()); + if *CHECK_NUMERIC_TYPES { + assert_value_and_type("n", &result, 127.0, NumericType::count()); + } assert_value_and_type("o", &result, 1.0, NumericType::mm()); assert_value_and_type("p", &result, 1.0, NumericType::count()); assert_value_and_type("q", &result, 2.0, NumericType::Known(UnitType::Length(UnitLen::Inches))); + + assert_value_and_type("r", &result, 0.0, NumericType::default()); + assert_value_and_type("s", &result, -42.0, NumericType::mm()); + assert_value_and_type("t", &result, 3.0, NumericType::Known(UnitType::Length(UnitLen::Inches))); + assert_value_and_type("u", &result, 3.0, NumericType::Unknown); + } + + #[tokio::test(flavor = "multi_thread")] + async fn bad_typed_arithmetic() { + let program = r#" +a = 1rad +b = 180 / PI * a + 360 +"#; + + let result = parse_execute(program).await.unwrap(); + + assert_value_and_type("a", &result, 1.0, NumericType::radians()); + // TODO type is not ideal + assert_value_and_type("b", &result, 417.0, NumericType::radians()); } } diff --git a/rust/kcl-lib/src/std/args.rs b/rust/kcl-lib/src/std/args.rs index 9b3d40cc6..13b022faf 100644 --- a/rust/kcl-lib/src/std/args.rs +++ b/rust/kcl-lib/src/std/args.rs @@ -523,15 +523,6 @@ impl Args { }) } - pub(super) fn make_user_val_from_f64(&self, f: f64) -> KclValue { - KclValue::from_number( - f, - vec![Metadata { - source_range: self.source_range, - }], - ) - } - pub(super) fn make_user_val_from_f64_with_type(&self, f: TyF64) -> KclValue { KclValue::from_number_with_type( f.n, diff --git a/rust/kcl-lib/src/std/array.rs b/rust/kcl-lib/src/std/array.rs index 05e30deb8..7d86033b4 100644 --- a/rust/kcl-lib/src/std/array.rs +++ b/rust/kcl-lib/src/std/array.rs @@ -133,7 +133,7 @@ pub async fn reduce(exec_state: &mut ExecState, args: Args) -> Result Result { - let n = args.get_unlabeled_kw_arg("number to divide")?; - let d = args.get_kw_arg("divisor")?; +pub async fn rem(exec_state: &mut ExecState, args: Args) -> Result { + let n: TyF64 = args.get_unlabeled_kw_arg("number to divide")?; + let d: TyF64 = args.get_kw_arg("divisor")?; + + let (n, d, ty) = NumericType::combine_div(n, d); + if *types::CHECK_NUMERIC_TYPES && ty == NumericType::Unknown { + // TODO suggest how to fix this + exec_state.warn(CompilationError::err( + args.source_range, + "Remainder of numbers which have unknown or incompatible units.", + )); + } let remainder = inner_rem(n, d); - Ok(args.make_user_val_from_f64(remainder)) + Ok(args.make_user_val_from_f64_with_type(TyF64::new(remainder, ty))) } /// Compute the remainder after dividing `num` by `div`. @@ -243,11 +256,19 @@ fn inner_ceil(num: f64) -> Result { } /// Compute the minimum of the given arguments. -pub async fn min(_exec_state: &mut ExecState, args: Args) -> Result { - let nums = args.get_number_array()?; +pub async fn min(exec_state: &mut ExecState, args: Args) -> Result { + let nums = args.get_number_array_with_types()?; + let (nums, ty) = NumericType::combine_eq_array(&nums); + if *types::CHECK_NUMERIC_TYPES && ty == NumericType::Unknown { + // TODO suggest how to fix this + exec_state.warn(CompilationError::err( + args.source_range, + "Calling `min` on numbers which have unknown or incompatible units.", + )); + } let result = inner_min(nums); - Ok(args.make_user_val_from_f64(result)) + Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, ty))) } /// Compute the minimum of the given arguments. @@ -280,11 +301,19 @@ fn inner_min(args: Vec) -> f64 { } /// Compute the maximum of the given arguments. -pub async fn max(_exec_state: &mut ExecState, args: Args) -> Result { - let nums = args.get_number_array()?; +pub async fn max(exec_state: &mut ExecState, args: Args) -> Result { + let nums = args.get_number_array_with_types()?; + let (nums, ty) = NumericType::combine_eq_array(&nums); + if *types::CHECK_NUMERIC_TYPES && ty == NumericType::Unknown { + // TODO suggest how to fix this + exec_state.warn(CompilationError::err( + args.source_range, + "Calling `max` on numbers which have unknown or incompatible units.", + )); + } let result = inner_max(nums); - Ok(args.make_user_val_from_f64(result)) + Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, ty))) } /// Compute the maximum of the given arguments. diff --git a/rust/kcl-lib/std/math.kcl b/rust/kcl-lib/std/math.kcl index 3af03f8ff..55f75a52d 100644 --- a/rust/kcl-lib/std/math.kcl +++ b/rust/kcl-lib/std/math.kcl @@ -69,7 +69,7 @@ export fn cos(@num: number(rad)): number(_) {} /// |> startProfileAt([0, 0], %) /// |> angledLine({ /// angle = 50, -/// length = 15 / sin(toDegrees(135)), +/// length = 15 / sin(toRadians(135)), /// }, %) /// |> yLine(endAbsolute = 0) /// |> close() diff --git a/rust/kcl-lib/tests/outputs/serial_test_example_std-math-sin0.png b/rust/kcl-lib/tests/outputs/serial_test_example_std-math-sin0.png index 61d468c2f..cc39c2753 100644 Binary files a/rust/kcl-lib/tests/outputs/serial_test_example_std-math-sin0.png and b/rust/kcl-lib/tests/outputs/serial_test_example_std-math-sin0.png differ diff --git a/src/Toolbar.tsx b/src/Toolbar.tsx index 93a438652..fc9aa65d2 100644 --- a/src/Toolbar.tsx +++ b/src/Toolbar.tsx @@ -17,12 +17,14 @@ import { isDesktop } from '@src/lib/isDesktop' import { openExternalBrowserIfDesktop } from '@src/lib/openWindow' import { editorManager, kclManager } from '@src/lib/singletons' import type { + ToolbarDropdown, ToolbarItem, ToolbarItemCallbackProps, ToolbarItemResolved, + ToolbarItemResolvedDropdown, ToolbarModeName, } from '@src/lib/toolbar' -import { toolbarConfig } from '@src/lib/toolbar' +import { isToolbarItemResolvedDropdown, toolbarConfig } from '@src/lib/toolbar' import { isArray } from '@src/lib/utils' import { commandBarActor } from '@src/machines/commandBarMachine' @@ -131,21 +133,27 @@ export function Toolbar({ */ const currentModeItems: ( | ToolbarItemResolved - | ToolbarItemResolved[] + | ToolbarItemResolvedDropdown | 'break' )[] = useMemo(() => { return toolbarConfig[currentMode].items.map((maybeIconConfig) => { if (maybeIconConfig === 'break') { return 'break' - } else if (isArray(maybeIconConfig)) { - return maybeIconConfig.map(resolveItemConfig) + } else if (isToolbarDropdown(maybeIconConfig)) { + return { + id: maybeIconConfig.id, + array: maybeIconConfig.array.map((item) => + resolveItemConfig(item, maybeIconConfig.id) + ), + } } else { return resolveItemConfig(maybeIconConfig) } }) function resolveItemConfig( - maybeIconConfig: ToolbarItem + maybeIconConfig: ToolbarItem, + dropdownId?: string ): ToolbarItemResolved { const isDisabled = disableAllButtons || @@ -176,6 +184,14 @@ export function Toolbar({ } }, [currentMode, disableAllButtons, configCallbackProps]) + // To remember the last selected item in an ActionButtonDropdown + const [lastSelectedMultiActionItem, _] = useState( + new Map< + number /* index in currentModeItems */, + number /* index in maybeIconConfig */ + >() + ) + return ( ) - } else if (isArray(maybeIconConfig)) { + } else if (isToolbarItemResolvedDropdown(maybeIconConfig)) { // A button with a dropdown + const selectedIcon = + maybeIconConfig.array.find((c) => c.isActive) || + maybeIconConfig.array[lastSelectedMultiActionItem.get(i) ?? 0] + + // Save the last selected item in the dropdown + lastSelectedMultiActionItem.set( + i, + maybeIconConfig.array.indexOf(selectedIcon) + ) return ( ({ + splitMenuItems={maybeIconConfig.array.map((itemConfig) => ({ id: itemConfig.id, label: itemConfig.title, hotkey: itemConfig.hotkey, @@ -236,11 +261,11 @@ export function Toolbar({ > - maybeIconConfig[0].onClick(configCallbackProps) - } + aria-description={selectedIcon.description} + onClick={() => selectedIcon.onClick(configCallbackProps)} > - - {maybeIconConfig[0].title} + + {selectedIcon.title} {showRichContent ? ( ) : ( )} @@ -430,7 +451,9 @@ const ToolbarItemTooltipShortContent = ({ > {title} {hotkey && ( - {hotkey} + + {displayHotkeys(hotkey)} + )} ) @@ -461,7 +484,9 @@ const ToolbarItemTooltipRichContent = ({ {itemConfig.title} {itemConfig.status === 'available' && itemConfig.hotkey ? ( - {itemConfig.hotkey} + + {displayHotkeys(itemConfig.hotkey)} + ) : itemConfig.status === 'kcl-only' ? ( <> @@ -522,3 +547,14 @@ const ToolbarItemTooltipRichContent = ({ ) } + +// We don't want to display Esc hotkeys to avoid confusion in the Toolbar UI (eg. "EscR") +function displayHotkeys(hotkey: string | string[]) { + return (isArray(hotkey) ? hotkey : [hotkey]).filter((h) => h !== 'Esc') +} + +function isToolbarDropdown( + item: ToolbarItem | ToolbarDropdown +): item is ToolbarDropdown { + return 'array' in item +} diff --git a/src/components/ActionButton.tsx b/src/components/ActionButton.tsx index 766d19d93..3da3e0b65 100644 --- a/src/components/ActionButton.tsx +++ b/src/components/ActionButton.tsx @@ -71,6 +71,7 @@ export const ActionButton = forwardRef((props: ActionButtonProps, ref) => {