ranger-compiler 3.1.1 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +2527 -0
  2. package/LICENSE +28 -0
  3. package/LICENSE-MIT +21 -0
  4. package/README.md +1650 -1875
  5. package/dist/Lang.rgr +10946 -5662
  6. package/dist/README.md +3 -2
  7. package/dist/api.d.ts +2023 -61
  8. package/dist/api.js +68930 -27355
  9. package/dist/lib/ACEEditor.rgr +2 -0
  10. package/dist/lib/Ajax.rgr +2 -0
  11. package/dist/lib/CmdParams.rgr +2 -0
  12. package/dist/lib/Crypto.rgr +2 -0
  13. package/dist/lib/DOMLib.rgr +2 -0
  14. package/dist/lib/Engine3D.rgr +2 -0
  15. package/dist/lib/ImmutableVector.rgr +2 -0
  16. package/dist/lib/IndexedDB.rgr +2 -0
  17. package/dist/lib/IsoDate/DateMath.rgr +2 -0
  18. package/dist/lib/IsoDate/IsoCalendar.rgr +2 -0
  19. package/dist/lib/IsoDate/IsoDateParse.rgr +2 -0
  20. package/dist/lib/IsoDateLib.rgr +2 -0
  21. package/dist/lib/JSON.rgr +4906 -48
  22. package/dist/lib/JinxProcess.rgr +2 -0
  23. package/dist/lib/RangerProcess.rgr +2 -0
  24. package/dist/lib/Regex/RegexMatch.rgr +2 -0
  25. package/dist/lib/RegexLib.rgr +2 -0
  26. package/dist/lib/SQL.rgr +2 -0
  27. package/dist/lib/ServiceLib.rgr +2 -0
  28. package/dist/lib/Shell.rgr +326 -0
  29. package/dist/lib/Storage.rgr +2 -0
  30. package/dist/lib/Time.rgr +2 -0
  31. package/dist/lib/Timers.rgr +2 -0
  32. package/dist/lib/TypedArrays.rgr +2 -0
  33. package/dist/lib/ViewLib.rgr +2 -0
  34. package/dist/lib/WebLib.rgr +2 -0
  35. package/dist/lib/WebServerLib.rgr +2 -0
  36. package/dist/lib/apple/AppleAppBuilder.rgr +572 -0
  37. package/dist/lib/apple/AppleAppSpec.rgr +201 -0
  38. package/dist/lib/apple/AppleDevice.rgr +295 -0
  39. package/dist/lib/apple/AppleDeviceDoctor.rgr +453 -0
  40. package/dist/lib/apple/AppleSigning.rgr +379 -0
  41. package/dist/lib/apple/AppleSimulator.rgr +248 -0
  42. package/dist/lib/apple/AppleTarget.rgr +185 -0
  43. package/dist/lib/apple/AppleToolchain.rgr +458 -0
  44. package/dist/lib/apple/README.md +311 -0
  45. package/dist/lib/apple/apple_test.rgr +669 -0
  46. package/dist/lib/core/README.md +251 -0
  47. package/dist/lib/core/RgBase.rgr +313 -0
  48. package/dist/lib/core/RgNum.rgr +653 -0
  49. package/dist/lib/core/RgText.rgr +680 -0
  50. package/dist/lib/core/RgU32.rgr +309 -0
  51. package/dist/lib/ranger-dir.rgr +27 -5
  52. package/dist/lib/shell_test.rgr +193 -0
  53. package/dist/lib/stdlib.rgr +1176 -665
  54. package/dist/lib/stdops.rgr +2 -0
  55. package/dist/package.json +1 -1
  56. package/dist/rgrc.js +73013 -37819
  57. package/dist/stdops.rgr +2 -0
  58. package/package.json +1121 -205
package/package.json CHANGED
@@ -1,205 +1,1121 @@
1
- {
2
- "name": "ranger-compiler",
3
- "version": "3.1.1",
4
- "description": "Ranger cross-language compiler - compile once, run anywhere",
5
- "main": "dist/api.js",
6
- "types": "dist/api.d.ts",
7
- "bin": {
8
- "ranger-compiler": "dist/rgrc.js",
9
- "rgrc": "dist/rgrc.js"
10
- },
11
- "files": [
12
- "dist/",
13
- "README.md",
14
- "CHANGELOG.md",
15
- "LICENSE"
16
- ],
17
- "publishConfig": {
18
- "access": "public",
19
- "registry": "https://registry.npmjs.org/"
20
- },
21
- "engines": {
22
- "node": ">=18.0.0"
23
- },
24
- "scripts": {
25
- "build:dist": "npm run compile && npm run build:dist:copy",
26
- "build:dist:copy": "cp ./bin/output.js ./dist/rgrc.js && cp ./bin/Lang.rgr ./dist/Lang.rgr && cp ./bin/stdops.rgr ./dist/stdops.rgr && rm -rf dist/lib && cp -r ./lib ./dist/lib",
27
- "build:dist:module": "node bin/output.js -nodemodule -es6 -typescript ./compiler/ng_Compiler.rgr -d=./compiler/bin -o=api.ts && tsc --declaration --module commonjs --target es2015 --moduleResolution node --outDir ./dist ./compiler/bin/api.ts",
28
- "prepublishOnly": "npm run build:dist && npm test",
29
- "test-any-ts": "node bin/testcomp.js ./features/any/test_any.rgr -es6 -typescript",
30
- "test-any-csharp": "node bin/testcomp.js ./features/any/test_any.rgr -l=csharp",
31
- "test-any": "npm run testcompiler && node bin/testcomp.js -es6 ./features/any/test_any.rgr -es6 -o=test_any.js",
32
- "example-svgpath": "rgrc -es6 ./examples/SVGPath/SVGPath.rgr -es6 -typescript -o=SVGPath.ts",
33
- "testcompiler": "rgrc -es6 ./compiler/ng_Compiler.rgr -nodecli -d=./bin -o=testcomp.js",
34
- "compileg": "rgrc -es6 ./compiler/ng_Compiler.rgr -nodecli",
35
- "compile": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./compiler/ng_Compiler.rgr -nodecli -d=./bin -o=output.js && npm run compile:fixcrlf && node scripts/patch-chain-desugar.js && npm run compile:copylibs",
36
- "compile:fixcrlf": "sed -i '' 's/\\r$//' bin/output.js || sed -i 's/\\r$//' bin/output.js || true",
37
- "compile:copylibs": "cp ./compiler/Lang.rgr ./bin/Lang.rgr && cp ./lib/stdops.rgr ./bin/stdops.rgr",
38
- "compile:win": "cross-env RANGER_LIB=./compiler/Lang.rgr;./lib/stdops.rgr node bin/output.js -es6 ./compiler/ng_Compiler.rgr -nodecli -d=./bin -o=output.js && copy .\\compiler\\Lang.rgr .\\bin\\Lang.rgr && copy .\\lib\\stdops.rgr .\\bin\\stdops.rgr",
39
- "compile:langserver": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./compiler/VirtualCompiler.rgr -d=./ranger-vscode-extension/compiler -o=output.js",
40
- "test:error": "node bin/output.js ./tests/cli/test_error.rgr -o=test_error.js",
41
- "try": "node bin/output.js -es6 ./compiler/ng_Compiler.rgr -nodecli -o=try.js",
42
- "compilets": "node bin/output.js -es6 -typescript ./compiler/ng_Compiler.rgr -d=./compiler/bin -o=compiler.ts -nodecli && tsc --module commonjs --target es2015 --moduleResolution node --outDir ./dist ./compiler/bin/compiler.ts",
43
- "module": "npm run build:dist:module",
44
- "evalvalue:module": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 -nodemodule ./gallery/pdf_writer/src/tools/eval_value_module.rgr -d=./gallery/pdf_writer/bin -o=eval_value_module.cjs",
45
- "test:evalvalue": "npm run evalvalue:module && vitest run --config gallery/pdf_writer/vitest.config.js",
46
- "test": "cross-env NODE_OPTIONS=--max-old-space-size=8192 vitest run --config tests/vitest.config.ts",
47
- "test:es6": "vitest run --config tests/vitest.config.ts compiler.test.ts",
48
- "test:go": "vitest run --config tests/vitest.config.ts compiler-go.test.ts",
49
- "test:python": "vitest run --config tests/vitest.config.ts compiler-python.test.ts",
50
- "test:rust": "vitest run --config tests/vitest.config.ts compiler-rust.test.ts",
51
- "test:llvm": "vitest run --config tests/vitest.config.ts compiler-llvm.test.ts",
52
- "demo:native": "bash scripts/demo-native.sh",
53
- "demo:hello": "bash scripts/compile-hello.sh",
54
- "game:build:llvm": "bash scripts/compile-invaders.sh",
55
- "demo:wasm": "bash scripts/compile-wasm.sh",
56
- "demo:wasm:collections": "bash scripts/compile-wasm-collections.sh",
57
- "demo:wasm:serve": "bash scripts/compile-wasm.sh && node scripts/serve-wasm-demo.js",
58
- "compile:native": "bash scripts/compile-native.sh",
59
- "compile:wasm": "bash scripts/compile-wasm.sh",
60
- "test:tsparser": "cross-env NODE_OPTIONS=--max-old-space-size=8192 vitest run --config tests/vitest.config.ts ts-lexer.test.ts",
61
- "test:watch": "vitest --config tests/vitest.config.ts",
62
- "gen:simple": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./generated/SimpleChessBoard.rgr -d=./generated/output -o=SimpleChessBoard.js -nodecli",
63
- "gen:simple:run": "npm run gen:simple && node ./generated/output/SimpleChessBoard.js",
64
- "gen:chess": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./generated/ChessBoard.rgr -d=./generated/output -o=ChessBoard.js -nodecli",
65
- "gen:chess:run": "npm run gen:chess && node ./generated/output/ChessBoard.js",
66
- "gen:chess:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=rust ./generated/ChessBoard.rgr -d=./generated/bin -o=chessboard.rs -nodecli",
67
- "gen:chess:rust:build": "npm run gen:chess:rust && rustc ./generated/bin/chessboard.rs -o ./generated/bin/chessboard.exe",
68
- "gen:chess:rust:run": "npm run gen:chess:rust:build && ./generated/bin/chessboard.exe",
69
- "gen:chess:swift": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=swift3 ./generated/ChessBoard.rgr -d=./generated/bin -o=chessboard.swift -nodecli",
70
- "gen:all": "npm run gen:simple && npm run gen:chess",
71
- "gen:test": "npm run gen:simple:run",
72
- "game:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.js -nodecli",
73
- "game:compile:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=rust ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.rs -nodecli",
74
- "game:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=go ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.go -nodecli",
75
- "game:compile:swift": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=swift6 ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.swift -nodecli",
76
- "game:compile:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=cpp ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.cpp -nodecli",
77
- "game:compile:kotlin": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=kotlin ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.kt -nodecli",
78
- "game:compile:python": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=python ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.py -nodecli",
79
- "game:build:rust": "npm run game:compile:rust && rustc gallery/invaders/invaders.rs -o gallery/invaders/invaders_rust.exe",
80
- "game:build:go": "npm run game:compile:go && cd gallery/invaders && go build -o invaders_go.exe invaders.go",
81
- "game:build:swift": "npm run game:compile:swift && swiftc -parse-as-library gallery/invaders/invaders.swift -o gallery/invaders/invaders_swift.exe",
82
- "game:build:cpp": "npm run game:compile:cpp && g++ -std=c++17 -pthread gallery/invaders/invaders.cpp -o gallery/invaders/invaders_cpp.exe",
83
- "game:build:kotlin": "npm run game:compile:kotlin && kotlinc gallery/invaders/invaders.kt -include-runtime -d gallery/invaders/invaders.jar",
84
- "game:build:all": "npm run game:compile && npm run game:build:rust && npm run game:build:go",
85
- "game:run": "node ./gallery/invaders/invaders.js",
86
- "game:run:rust": "./gallery/invaders/invaders_rust.exe",
87
- "game:run:go": "./gallery/invaders/invaders_go.exe",
88
- "game:run:swift": "./gallery/invaders/invaders_swift.exe",
89
- "game:run:cpp": "./gallery/invaders/invaders_cpp.exe",
90
- "game:run:kotlin": "java -jar ./gallery/invaders/invaders.jar",
91
- "game": "npm run game:compile && npm run game:run",
92
- "jsparser:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser -o=js_parser.js -nodecli",
93
- "jsparser:compile:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=cpp ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser -o=js_parser -nodecli",
94
- "jsparser:compile:swift": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=swift6 ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser -o=js_parser -nodecli",
95
- "jsparser:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser -o=js_parser.js -nodecli",
96
- "jsparser:module": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 -nodemodule ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser/benchmark -o=js_parser_module.cjs",
97
- "jsparser:compile:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=rust ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser -o=js_parser -nodecli",
98
- "jsparser:build:rust": "npm run jsparser:compile:rust && rustc -O gallery/js_parser/js_parser.rs -o gallery/js_parser/js_parser_rust.exe",
99
- "jsparser:build:cpp": "wsl x86_64-w64-mingw32-g++-posix -std=c++17 -static -O3 gallery/js_parser/js_parser.cpp -o gallery/js_parser/js_parser_cpp.exe",
100
- "jsparser:build:swift": "swiftc -O -parse-as-library gallery/js_parser/js_parser.swift -o gallery/js_parser/js_parser_swift.exe",
101
- "jsparser:compile:all": "npm run jsparser:compile:cpp && npm run jsparser:compile:rust && npm run jsparser:compile:swift",
102
- "jsparser:build:all": "npm run jsparser:compile:all && npm run jsparser:build:cpp && npm run jsparser:build:rust && npm run jsparser:build:swift",
103
- "jsparser:run": "node ./gallery/js_parser/js_parser.js",
104
- "jsparser:run:rust": "./gallery/js_parser/js_parser_rust",
105
- "jsparser:test": "node ./gallery/js_parser/js_parser.js ./gallery/js_parser/test.js",
106
- "jsparser": "npm run jsparser:compile && npm run jsparser:run",
107
- "tsparser:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/bin -o=ts_parser_main.js -nodecli",
108
- "tsparser:compile:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=rust ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/bin -o=ts_parser_main.rs -nodecli",
109
- "tsparser:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/bin -o=ts_parser_main.go -nodecli",
110
- "tsparser:compile:swift": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=swift6 ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/bin -o=ts_parser_main.swift -nodecli",
111
- "tsparser:compile:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=cpp ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/bin -o=ts_parser_main.cpp -nodecli",
112
- "tsparser:compile:all": "npm run tsparser:compile && npm run tsparser:compile:rust && npm run tsparser:compile:go && npm run tsparser:compile:swift && npm run tsparser:compile:cpp",
113
- "tsparser:module": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 -nodemodule ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/benchmark -o=ts_parser_module.cjs",
114
- "tsparser:module:esm": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 -esm ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/benchmark -o=ts_parser_module.mjs",
115
- "tsparser:build:rust": "npm run tsparser:compile:rust && rustc -O gallery/ts_parser/bin/ts_parser_main.rs -o gallery/ts_parser/bin/ts_parser_rust.exe",
116
- "tsparser:build:go": "npm run tsparser:compile:go && cd gallery/ts_parser/bin && go build -o ts_parser_go.exe ts_parser_main.go",
117
- "tsparser:build:swift": "npm run tsparser:compile:swift && swiftc -O -parse-as-library gallery/ts_parser/bin/ts_parser_main.swift -o gallery/ts_parser/bin/ts_parser_swift.exe",
118
- "tsparser:build:cpp": "npm run tsparser:compile:cpp && wsl g++ -std=c++17 -O2 -o gallery/ts_parser/bin/ts_parser_cpp.exe gallery/ts_parser/bin/ts_parser_main.cpp",
119
- "tsparser:benchmark": "npm run tsparser:module && cd gallery/ts_parser/benchmark && npm run benchmark",
120
- "tsparser:run": "node ./gallery/ts_parser/bin/ts_parser_main.js -d",
121
- "tsparser:run:rust": "./gallery/ts_parser/bin/ts_parser_rust.exe -d",
122
- "tsparser": "npm run tsparser:compile && npm run tsparser:run",
123
- "pdf:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/core/PDFWriter.rgr -d=./gallery/pdf_writer/bin -o=pdf_writer.js -nodecli",
124
- "pdf:run": "node ./gallery/pdf_writer/bin/pdf_writer.js",
125
- "pdf": "npm run pdf:compile && npm run pdf:run",
126
- "jpegmeta:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/jpeg/JPEGMetadata.rgr -d=./gallery/pdf_writer/bin -o=jpeg_metadata.js -nodecli",
127
- "jpegmeta:run": "node ./gallery/pdf_writer/bin/jpeg_metadata.js",
128
- "jpegmeta": "npm run jpegmeta:compile && npm run jpegmeta:run",
129
- "jpegdec:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/jpeg_decoder_test.rgr -d=./gallery/pdf_writer/bin -o=jpeg_decoder_test.js -nodecli",
130
- "jpegdec:run": "node ./gallery/pdf_writer/bin/jpeg_decoder_test.js",
131
- "jpegdec": "npm run jpegdec:compile && npm run jpegdec:run",
132
- "jpegenc:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/jpeg_encoder_test.rgr -d=./gallery/pdf_writer/bin -o=jpeg_encoder_test.js -nodecli",
133
- "jpegenc:run": "node ./gallery/pdf_writer/bin/jpeg_encoder_test.js",
134
- "jpegenc": "npm run jpegenc:compile && npm run jpegenc:run",
135
- "exif:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/exif_orientation_test.rgr -d=./gallery/pdf_writer/bin -o=exif_orientation_test.js -nodecli",
136
- "exif:run": "node ./gallery/pdf_writer/bin/exif_orientation_test.js",
137
- "exif": "npm run exif:compile && npm run exif:run",
138
- "jpegscaler:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/pdf_writer/src/tools/jpeg_scaler.rgr -d=./gallery/pdf_writer/bin -o=jpeg_scaler.go -nodecli",
139
- "jpegscaler:build:go": "npm run jpegscaler:compile:go && cd gallery/pdf_writer/bin && go build -o jpeg_scaler.exe jpeg_scaler.go",
140
- "zip:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/zip/zip_tool.rgr -d=./gallery/zip/bin -o=zip_tool.js -nodecli",
141
- "zip:run": "node ./gallery/zip/bin/zip_tool.js",
142
- "zip": "npm run zip:compile && npm run zip:run",
143
- "evg:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/evg/evg_test.rgr -d=./gallery/evg/bin -o=evg_test.js -nodecli",
144
- "evg:run": "node ./gallery/evg/bin/evg_test.js",
145
- "evg": "npm run evg:compile && npm run evg:run",
146
- "evgpdf:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_pdf_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_pdf_tool.js -nodecli",
147
- "evgpdf:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/pdf_writer/src/tools/evg_pdf_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_pdf_tool.go -nodecli",
148
- "evgpdf:build:go": "npm run evgpdf:compile:go && cd gallery/pdf_writer/bin && go build -o evg_pdf_tool.exe evg_pdf_tool.go",
149
- "evgpdf:run": "node ./gallery/pdf_writer/bin/evg_pdf_tool.js ./gallery/pdf_writer/examples/test_simple.tsx ./gallery/pdf_writer/output/pdfs/sample_output.pdf",
150
- "evgpdf:test": "npm run evgpdf:compile && npm run evgpdf:run",
151
- "evgpdf": "npm run evgpdf:compile && npm run evgpdf:run",
152
- "evghtml:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_html_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_html_tool.js -nodecli",
153
- "evghtml:run": "node ./gallery/pdf_writer/bin/evg_html_tool.js ./gallery/pdf_writer/examples/test_simple.tsx ./gallery/pdf_writer/output/html/sample_output.html",
154
- "evghtml:test": "npm run evghtml:compile && npm run evghtml:run",
155
- "evghtml": "npm run evghtml:compile && npm run evghtml:run",
156
- "evgpreview:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/pdf_writer/src/tools/evg_preview_server.rgr -d=./gallery/pdf_writer/bin -o=evg_preview_server.go -nodecli",
157
- "evgpreview:build": "npm run evgpreview:compile && cd gallery/pdf_writer/bin && go build -o evg_preview_server evg_preview_server.go",
158
- "evgpreview:start": "./gallery/pdf_writer/bin/evg_preview_server",
159
- "pdf-tool:module": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 -nodemodule ./gallery/pdf_writer/src/lib/ranger_pdf_tool.rgr -d=./gallery/pdf_writer/dist -o=ranger_pdf_tool.js",
160
- "pdf-tool:cli:pdf": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_pdf_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_pdf_tool.js -nodecli",
161
- "pdf-tool:cli:html": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_html_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_html_tool.js -nodecli",
162
- "pdf-tool:cli:png": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_png_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_png_tool.js -nodecli",
163
- "pdf-tool:server": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/lib/express_preview_server.rgr -d=./gallery/pdf_writer/bin -o=evg_preview_server.js -nodecli",
164
- "pdf-tool:build": "npm run pdf-tool:module && npm run pdf-tool:cli:pdf && npm run pdf-tool:cli:html && npm run pdf-tool:server",
165
- "evgpreview": "npm run evgpreview:build && npm run evgpreview:start",
166
- "evgcomp:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_component_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_component_tool.js -nodecli",
167
- "evgcomp:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/pdf_writer/src/tools/evg_component_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_component_tool.go -nodecli",
168
- "evgcomp:build:go": "npm run evgcomp:compile:go && cd gallery/pdf_writer/bin && go build -o evg_component_tool.exe evg_component_tool.go",
169
- "evgcomp:compile:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=rust ./gallery/pdf_writer/src/tools/evg_component_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_component_tool.rs -nodecli",
170
- "evgcomp:build:rust": "npm run evgcomp:compile:rust && cd gallery/pdf_writer/bin && rustc -O -o evg_component_tool_rust.exe evg_component_tool.rs",
171
- "evgcomp:compile:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=cpp ./gallery/pdf_writer/src/tools/evg_component_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_component_tool.cpp -nodecli",
172
- "evgcomp:build:cpp": "npm run evgcomp:compile:cpp && wsl x86_64-w64-mingw32-g++-posix -std=c++17 -static -O3 gallery/pdf_writer/bin/evg_component_tool.cpp -o gallery/pdf_writer/bin/evg_component_tool_cpp.exe",
173
- "evgcomp:run": "node ./gallery/pdf_writer/bin/evg_component_tool.js ./gallery/pdf_writer/examples/test_component_simple.tsx ./gallery/pdf_writer/output/pdfs/component_output.pdf",
174
- "evgcomp:test": "npm run evgcomp:compile && npm run evgcomp:run",
175
- "evgcomp": "npm run evgcomp:compile && npm run evgcomp:run",
176
- "evg:tool:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_tool.js -nodecli",
177
- "evg:tool:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/pdf_writer/src/tools/evg_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_tool.go -nodecli",
178
- "evg:tool:build:go": "npm run evg:tool:compile:go && cd gallery/pdf_writer/bin && go build -o evg_tool evg_tool.go",
179
- "evg:tool:run": "node ./gallery/pdf_writer/bin/evg_tool.js",
180
- "evg:tool": "npm run evg:tool:compile && npm run evg:tool:run",
181
- "font:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/font_test.rgr -d=./gallery/pdf_writer/bin -o=font_test.js -nodecli",
182
- "font:run": "node ./gallery/pdf_writer/bin/font_test.js",
183
- "font": "npm run font:compile && npm run font:run"
184
- },
185
- "repository": {
186
- "type": "git",
187
- "url": "git+https://github.com/terotests/Ranger.git"
188
- },
189
- "keywords": [
190
- "Compiler"
191
- ],
192
- "author": "Tero Tolonen",
193
- "license": "MIT",
194
- "bugs": {
195
- "url": "https://github.com/terotests/Ranger/issues"
196
- },
197
- "homepage": "https://github.com/terotests/Ranger#readme",
198
- "devDependencies": {
199
- "@types/node": "^22.19.2",
200
- "cross-env": "^10.1.0",
201
- "typescript": "^5.9.3",
202
- "vitest": "^1.6.0",
203
- "wabt": "^1.0.39"
204
- }
205
- }
1
+ {
2
+ "name": "ranger-compiler",
3
+ "version": "3.4.0",
4
+ "description": "Ranger cross-language compiler - compile once, run anywhere",
5
+ "main": "dist/api.js",
6
+ "types": "dist/api.d.ts",
7
+ "bin": {
8
+ "ranger-compiler": "dist/rgrc.js",
9
+ "rgrc": "dist/rgrc.js"
10
+ },
11
+ "files": [
12
+ "dist/",
13
+ "README.md",
14
+ "CHANGELOG.md",
15
+ "LICENSE",
16
+ "LICENSE-MIT"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public",
20
+ "registry": "https://registry.npmjs.org/"
21
+ },
22
+ "engines": {
23
+ "node": ">=18.0.0"
24
+ },
25
+ "scripts": {
26
+ "book:test": "bash scripts/rgr-suite.sh ./gallery/book/tests/BookTest.rgr ./gallery/book/bin BookTest.js",
27
+ "book:test:go": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=go ./gallery/book/tests/BookTest.rgr -d=./gallery/book/bin -o=BookTest.go -nodecli && go run ./gallery/book/bin/BookTest.go",
28
+ "book:test:python": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=python ./gallery/book/tests/BookTest.rgr -d=./gallery/book/bin -o=BookTest.py -nodecli && python3 ./gallery/book/bin/BookTest.py",
29
+ "book:demo": "bash scripts/rgr-suite.sh ./gallery/book/src/book_demo.rgr ./gallery/book/bin book_demo.js",
30
+ "book:album": "bash scripts/rgr-suite.sh ./gallery/book/src/book_album.rgr ./gallery/book/bin book_album.js",
31
+ "book:photos": "bash scripts/rgr-suite.sh ./gallery/book/src/book_photos.rgr ./gallery/book/bin book_photos.js",
32
+ "book:photos:test": "node gallery/book/tools/mac_photos.mjs --self-test",
33
+ "book:sdl": "bash gallery/book/platform/sdl/build.sh",
34
+ "book:sdl:run": "bash gallery/book/platform/sdl/build.sh --run gallery/book/platform/sdl/book.config.json",
35
+ "book:sdl:smoke": "bash gallery/book/platform/sdl/build.sh --smoke",
36
+ "book:slides": "bash scripts/rgr-suite.sh ./gallery/book/src/book_slides.rgr ./gallery/book/bin book_slides.js",
37
+ "book:slides:test": "bash scripts/rgr-suite.sh ./gallery/book/tests/BookSlidesTest.rgr ./gallery/book/bin BookSlidesTest.js",
38
+ "book:module": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/book/src/BookApp.rgr -d=./gallery/book/bin -o=book_app_module.cjs",
39
+ "book:editor:test": "bash scripts/rgr-suite.sh ./gallery/book/tests/BookEditorTest.rgr ./gallery/book/bin BookEditorTest.js",
40
+ "book:window": "npm run book:module && node gallery/book/web/serve.mjs --open",
41
+ "book:window:smoke": "npm run book:module && node gallery/book/web/browser.mjs",
42
+ "book:web": "bash gallery/book/web/standalone/build.sh",
43
+ "book:web:serve": "bash gallery/book/web/standalone/build.sh && python3 -m http.server -d gallery/book/web/standalone/dist 8003",
44
+ "book:web:test": "bash gallery/book/web/standalone/build.sh && node gallery/book/web/standalone/smoke.mjs",
45
+ "book:print": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/book/src/book_print.rgr -d=./gallery/book/bin -o=book_print.js -nodecli && node ./gallery/book/bin/book_print.js && npm run evgpdf:compile && bash gallery/book/output/render.sh",
46
+ "book:pdf": "npm run book:demo && npm run evgpdf:compile && node ./gallery/pdf_writer/bin/evg_pdf_tool.js ./gallery/book/output/book.tsx ./gallery/book/output/book.pdf -w 595.28 -h 595.28",
47
+ "docs:extract": "node docs/tools/extract-operators.mjs",
48
+ "docs:examples": "node docs/tools/build-examples.mjs",
49
+ "docs:render": "node docs/tools/render-pages.mjs",
50
+ "docs:coverage": "node docs/tools/check-coverage.mjs",
51
+ "docs:generate": "npm run docs:extract && npm run docs:examples && npm run docs:render && npm run docs:coverage",
52
+ "docs:dev": "npm run docs:generate && npm --prefix docs/site run dev",
53
+ "docs:build": "npm run docs:generate && npm --prefix docs/site run build",
54
+ "docs:lint": "vale --config docs/style/vale/.vale.ini docs/site/src/content/docs docs/descriptions",
55
+ "office:metrics:closure": "node scripts/check-office-metrics-closure.mjs",
56
+ "office:history:editors:test": "bash scripts/rgr-suite.sh ./gallery/office/editor/tests/OfficeHistoryEditorsTest.rgr ./gallery/office/bin OfficeHistoryEditorsTest.js",
57
+ "office:caret:editors:test": "bash scripts/rgr-suite.sh ./gallery/office/text/tests/OfficeCaretEditorsTest.rgr ./gallery/office/bin OfficeCaretEditorsTest.js",
58
+ "office:reference": "bash gallery/office/docs/build.sh",
59
+ "office:docs:generate": "bash gallery/office/docs/build.sh",
60
+ "office:docs:sync-playground": "node gallery/office/docs/tools/sync-playground.mjs",
61
+ "office:docs:sync-chart-api": "node gallery/office/docs/tools/sync-chart-api.mjs",
62
+ "office:docs:dev": "npm run office:docs:generate && npm run office:docs:sync-playground && npm run office:docs:sync-chart-api && npm --prefix gallery/office/docs/site run dev",
63
+ "office:docs": "npm run office:docs:generate && npm run office:docs:sync-playground && npm run office:docs:sync-chart-api && npm --prefix gallery/office/docs/site run build",
64
+ "build:dist": "npm run compile && npm run build:dist:copy && npm run build:dist:module",
65
+ "build:dist:copy": "cp ./bin/output.js ./dist/rgrc.js && cp ./bin/Lang.rgr ./dist/Lang.rgr && cp ./bin/stdops.rgr ./dist/stdops.rgr && rm -rf dist/lib && cp -r ./lib ./dist/lib",
66
+ "build:dist:module": "node bin/output.js -nodemodule -es6 -typescript ./compiler/ng_Compiler.rgr -d=./compiler/bin -o=api.ts && tsc --declaration --module commonjs --target es2015 --moduleResolution node --outDir ./dist ./compiler/bin/api.ts",
67
+ "prepublishOnly": "npm run build:dist && npm run test:publish",
68
+ "test-any-ts": "node bin/testcomp.js ./features/any/test_any.rgr -es6 -typescript",
69
+ "test-any-csharp": "node bin/testcomp.js ./features/any/test_any.rgr -l=csharp",
70
+ "test-any": "npm run testcompiler && node bin/testcomp.js -es6 ./features/any/test_any.rgr -es6 -o=test_any.js",
71
+ "example-svgpath": "rgrc -es6 ./examples/SVGPath/SVGPath.rgr -es6 -typescript -o=SVGPath.ts",
72
+ "testcompiler": "rgrc -es6 ./compiler/ng_Compiler.rgr -nodecli -d=./bin -o=testcomp.js",
73
+ "compileg": "rgrc -es6 ./compiler/ng_Compiler.rgr -nodecli",
74
+ "selfhost:compile:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node --max-old-space-size=8192 bin/output.js -l=cpp ./compiler/ng_Compiler.rgr -nodecli -d=./tmp/selfhost -o=ranger_compiler.cpp",
75
+ "selfhost:check:cpp": "npm run selfhost:compile:cpp && g++ -std=c++17 -fsyntax-only ./tmp/selfhost/ranger_compiler.cpp",
76
+ "selfhost:build:cpp": "npm run selfhost:compile:cpp && g++ -std=c++17 -O1 -o ./tmp/selfhost/rangerc ./tmp/selfhost/ranger_compiler.cpp && npm run selfhost:copylibs",
77
+ "selfhost:compile:dart": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node --max-old-space-size=8192 bin/output.js -l=dart ./compiler/ng_Compiler.rgr -nodecli -d=./tmp/selfhost-dart -o=ranger_compiler.dart",
78
+ "selfhost:check:dart": "npm run selfhost:compile:dart && dart analyze --no-fatal-warnings ./tmp/selfhost-dart/ranger_compiler.dart",
79
+ "selfhost:copylibs": "cp ./compiler/Lang.rgr ./tmp/selfhost/Lang.rgr && cp ./lib/stdops.rgr ./tmp/selfhost/stdops.rgr && mkdir -p ./tmp/selfhost/lib && cp ./lib/*.rgr ./tmp/selfhost/lib/",
80
+ "selfhost:build:dart": "npm run selfhost:check:dart && npm run selfhost:copylibs:dart",
81
+ "selfhost:compile:python": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node --max-old-space-size=8192 bin/output.js -l=python ./compiler/ng_Compiler.rgr -nodecli -d=./tmp/selfhost-python -o=ranger_compiler.py",
82
+ "selfhost:check:python": "npm run selfhost:compile:python && python3 -m py_compile ./tmp/selfhost-python/ranger_compiler.py",
83
+ "selfhost:build:python": "npm run selfhost:check:python && npm run selfhost:copylibs:python",
84
+ "selfhost:copylibs:python": "cp ./compiler/Lang.rgr ./tmp/selfhost-python/Lang.rgr && cp ./lib/stdops.rgr ./tmp/selfhost-python/stdops.rgr && mkdir -p ./tmp/selfhost-python/lib && cp ./lib/*.rgr ./tmp/selfhost-python/lib/",
85
+ "selfhost:copylibs:dart": "cp ./compiler/Lang.rgr ./tmp/selfhost-dart/Lang.rgr && cp ./lib/stdops.rgr ./tmp/selfhost-dart/stdops.rgr && mkdir -p ./tmp/selfhost-dart/lib && cp ./lib/*.rgr ./tmp/selfhost-dart/lib/",
86
+ "selfhost:compile:csharp": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node --max-old-space-size=8192 bin/output.js -l=csharp ./compiler/ng_Compiler.rgr -nodecli -d=./tmp/selfhost-csharp -o=ranger_compiler.cs",
87
+ "selfhost:check:csharp": "npm run selfhost:compile:csharp && mcs -langversion:latest -out:./tmp/selfhost-csharp/ranger_compiler.exe ./tmp/selfhost-csharp/ranger_compiler.cs",
88
+ "selfhost:build:csharp": "npm run selfhost:check:csharp && npm run selfhost:copylibs:csharp",
89
+ "selfhost:copylibs:csharp": "cp ./compiler/Lang.rgr ./tmp/selfhost-csharp/Lang.rgr && cp ./lib/stdops.rgr ./tmp/selfhost-csharp/stdops.rgr && mkdir -p ./tmp/selfhost-csharp/lib && cp ./lib/*.rgr ./tmp/selfhost-csharp/lib/",
90
+ "selfhost:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node --max-old-space-size=8192 bin/output.js -l=go ./compiler/ng_Compiler.rgr -nodecli -d=./tmp/selfhost-go -o=ranger_compiler.go",
91
+ "selfhost:check:go": "npm run selfhost:compile:go && cd ./tmp/selfhost-go && go build -o rangerc_check ./ranger_compiler.go",
92
+ "selfhost:build:go": "npm run selfhost:compile:go && cd ./tmp/selfhost-go && go build -o rangerc ./ranger_compiler.go && cd ../.. && npm run selfhost:copylibs:go",
93
+ "selfhost:copylibs:go": "cp ./compiler/Lang.rgr ./tmp/selfhost-go/Lang.rgr && cp ./lib/stdops.rgr ./tmp/selfhost-go/stdops.rgr && mkdir -p ./tmp/selfhost-go/lib && cp ./lib/*.rgr ./tmp/selfhost-go/lib/",
94
+ "selfhost:compile:kotlin": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node --max-old-space-size=8192 bin/output.js -l=kotlin ./compiler/ng_Compiler.rgr -nodecli -d=./tmp/selfhost-kotlin -o=ranger_compiler.kt",
95
+ "selfhost:check:kotlin": "npm run selfhost:compile:kotlin && kotlinc -J-Xmx12g ./tmp/selfhost-kotlin/ranger_compiler.kt -include-runtime -d ./tmp/selfhost-kotlin/rangerc.jar",
96
+ "selfhost:build:kotlin": "npm run selfhost:check:kotlin && npm run selfhost:copylibs:kotlin",
97
+ "selfhost:copylibs:kotlin": "cp ./compiler/Lang.rgr ./tmp/selfhost-kotlin/Lang.rgr && cp ./lib/stdops.rgr ./tmp/selfhost-kotlin/stdops.rgr && mkdir -p ./tmp/selfhost-kotlin/lib && cp ./lib/*.rgr ./tmp/selfhost-kotlin/lib/",
98
+ "compile": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./compiler/ng_Compiler.rgr -nodecli -d=./bin -o=output.js && npm run compile:fixcrlf && npm run compile:copylibs",
99
+ "compile:fixcrlf": "sed -i '' 's/\\r$//' bin/output.js || sed -i 's/\\r$//' bin/output.js || true",
100
+ "compile:copylibs": "cp ./compiler/Lang.rgr ./bin/Lang.rgr && cp ./lib/stdops.rgr ./bin/stdops.rgr",
101
+ "compile:win": "cross-env RANGER_LIB=./compiler/Lang.rgr;./lib/stdops.rgr node bin/output.js -es6 ./compiler/ng_Compiler.rgr -nodecli -d=./bin -o=output.js && copy .\\compiler\\Lang.rgr .\\bin\\Lang.rgr && copy .\\lib\\stdops.rgr .\\bin\\stdops.rgr",
102
+ "compile:langserver": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./compiler/VirtualCompiler.rgr -d=./ranger-vscode-extension/compiler -o=output.js",
103
+ "test:error": "node bin/output.js ./tests/cli/test_error.rgr -o=test_error.js",
104
+ "try": "node bin/output.js -es6 ./compiler/ng_Compiler.rgr -nodecli -o=try.js",
105
+ "compilets": "node bin/output.js -es6 -typescript ./compiler/ng_Compiler.rgr -d=./compiler/bin -o=compiler.ts -nodecli && tsc --module commonjs --target es2015 --moduleResolution node --outDir ./dist ./compiler/bin/compiler.ts",
106
+ "module": "npm run build:dist:module",
107
+ "evalvalue:module": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 -nodemodule ./gallery/pdf_writer/src/tools/eval_value_module.rgr -d=./gallery/pdf_writer/bin -o=eval_value_module.cjs",
108
+ "test:evalvalue": "npm run evalvalue:module && vitest run --config gallery/pdf_writer/vitest.config.js",
109
+ "test": "cross-env NODE_OPTIONS=--max-old-space-size=8192 vitest run --config tests/vitest.config.ts",
110
+ "engine:build": "bash scripts/ranger-engine-build.sh",
111
+ "engine:demo": "cross-env RANGER_LIB=\"./compiler/;./lib/\" node gallery/ranger_engine/bin/rg_run.js gallery/ranger_engine/examples/demo.rgr -report",
112
+ "engine:bench": "node scripts/ranger-engine-bench.mjs",
113
+ "engine:native": "bash scripts/ranger-engine-build.sh build cli native",
114
+ "engine:cli:demo": "bash scripts/ranger-engine-cli-demo.sh",
115
+ "test:engine": "vitest run --config tests/vitest.config.ts ranger-engine.test.ts",
116
+ "vela:test": "bash gallery/vela/tests/run.sh",
117
+ "vela:showcase": "bash gallery/vela/tools/build-showcase-page.sh",
118
+ "vela:parity": "node gallery/vela/tools/reference/parity.mjs",
119
+ "vela:cpp": "bash gallery/vela/tests/run_cpp.sh",
120
+ "vela:compiler": "node gallery/vela/tools/reference/compiler.mjs",
121
+ "vela:render": "node gallery/vela/tools/reference/render.mjs",
122
+ "vela:coverage": "node gallery/vela/tools/reference/coverage.mjs",
123
+ "vela:aria": "node gallery/vela/tools/reference/aria.mjs",
124
+ "vela:chart": "bash gallery/vela/tools/chart-api-demo.sh",
125
+ "vela:chart:check": "node gallery/vela/tools/reference/chart_api.mjs",
126
+ "vela:types": "node gallery/vela/tools/reference/compiler.mjs gallery/vela/tests/chart_types",
127
+ "vela:web": "bash gallery/vela/web/build.sh",
128
+ "vela:web:test": "node gallery/vela/web/smoke.mjs",
129
+ "jsengine:check": "bash scripts/cpp-toolchain.sh",
130
+ "jsengine:build": "bash scripts/engine-build.sh",
131
+ "jsengine:bench": "node scripts/engine-bench.cjs",
132
+ "jsengine:conformance": "bash scripts/engine-conformance.sh",
133
+ "jsengine:test": "cross-env NODE_OPTIONS=--max-old-space-size=8192 vitest run --config tests/vitest.config.ts runtime-conformance.test.ts",
134
+ "jsengine:test:targets": "npm run test:tsengine",
135
+ "jsengine:octane": "node gallery/game_engine/v2/interp/bench/zoo_octane/run.cjs",
136
+ "jsengine:all": "npm run jsengine:build && npm run jsengine:bench && npm run jsengine:octane && npm run jsengine:conformance",
137
+ "test:publish": "cross-env TZ=UTC NODE_OPTIONS=--max-old-space-size=8192 vitest run --config tests/vitest.publish.config.ts",
138
+ "test:es6": "vitest run --config tests/vitest.config.ts compiler.test.ts",
139
+ "format:native": "python3 scripts/fmt_native.py",
140
+ "format:native:check": "python3 scripts/fmt_native.py --check",
141
+ "format:measure": "python3 scripts/fmt_measure.py",
142
+ "format:parity": "bash scripts/fmt_parity.sh",
143
+ "format:runcheck": "bash scripts/fmt_runcheck.sh",
144
+ "format:reserved": "python3 scripts/reserved_probe.py es6 go rust cpp python",
145
+ "test:go": "vitest run --config tests/vitest.config.ts compiler-go.test.ts",
146
+ "test:python": "vitest run --config tests/vitest.config.ts compiler-python.test.ts",
147
+ "test:dart": "vitest run --config tests/vitest.config.ts compiler-dart.test.ts compiler-dart-tsparser.test.ts",
148
+ "test:rust": "vitest run --config tests/vitest.config.ts compiler-rust.test.ts",
149
+ "selfhost:check:rust": "bash scripts/rust-selfhost-check.sh",
150
+ "selfhost:build:rust": "npm run selfhost:check:rust && rustc -O --edition 2021 tmp/selfhost-rust/ranger_compiler.rs -o tmp/selfhost-rust/ranger_rust && npm run selfhost:copylibs:rust",
151
+ "selfhost:copylibs:rust": "cp ./compiler/Lang.rgr ./tmp/selfhost-rust/Lang.rgr && cp ./lib/stdops.rgr ./tmp/selfhost-rust/stdops.rgr && mkdir -p ./tmp/selfhost-rust/lib && cp ./lib/*.rgr ./tmp/selfhost-rust/lib/",
152
+ "selfhost:run:rust": "bash scripts/rust-selfhost-run.sh",
153
+ "selfhost:parity:rust": "bash scripts/rust-selfhost-parity.sh",
154
+ "test:llvm": "vitest run --config tests/vitest.llvm.config.ts",
155
+ "test:generics": "vitest run --config tests/vitest.config.ts compiler-generics.test.ts",
156
+ "test:syntaxapp": "vitest run --config tests/vitest.syntaxapp.config.ts",
157
+ "test:tsengine": "vitest run --config tests/vitest.tsengine.config.ts",
158
+ "test:syntaxapp:update": "cross-env UPDATE_SYNTAX_APP_BASELINE=1 vitest run --config tests/vitest.syntaxapp.config.ts",
159
+ "demo:native": "bash scripts/demo-native.sh",
160
+ "demo:hello": "bash scripts/compile-hello.sh",
161
+ "game:build:llvm": "bash scripts/compile-invaders.sh",
162
+ "demo:wasm": "bash scripts/compile-wasm.sh",
163
+ "demo:wasm:collections": "bash scripts/compile-wasm-collections.sh",
164
+ "demo:wasm:serve": "bash scripts/compile-wasm.sh && node scripts/serve-wasm-demo.js",
165
+ "compile:native": "bash scripts/compile-native.sh",
166
+ "compile:wasm": "bash scripts/compile-wasm.sh",
167
+ "test:runtime": "vitest run --config tests/vitest.config.ts runtime-conformance.test.ts",
168
+ "test:tsparser": "cross-env NODE_OPTIONS=--max-old-space-size=8192 vitest run --config tests/vitest.config.ts ts-lexer.test.ts",
169
+ "test:watch": "vitest --config tests/vitest.config.ts",
170
+ "gen:simple": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./generated/SimpleChessBoard.rgr -d=./generated/output -o=SimpleChessBoard.js -nodecli",
171
+ "gen:simple:run": "npm run gen:simple && node ./generated/output/SimpleChessBoard.js",
172
+ "gen:chess": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./generated/ChessBoard.rgr -d=./generated/output -o=ChessBoard.js -nodecli",
173
+ "gen:chess:run": "npm run gen:chess && node ./generated/output/ChessBoard.js",
174
+ "gen:chess:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=rust ./generated/ChessBoard.rgr -d=./generated/bin -o=chessboard.rs -nodecli",
175
+ "gen:chess:rust:build": "npm run gen:chess:rust && rustc ./generated/bin/chessboard.rs -o ./generated/bin/chessboard.exe",
176
+ "gen:chess:rust:run": "npm run gen:chess:rust:build && ./generated/bin/chessboard.exe",
177
+ "gen:chess:swift": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=swift3 ./generated/ChessBoard.rgr -d=./generated/bin -o=chessboard.swift -nodecli",
178
+ "gen:all": "npm run gen:simple && npm run gen:chess",
179
+ "gen:test": "npm run gen:simple:run",
180
+ "game:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.js -nodecli",
181
+ "game:compile:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=rust ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.rs -nodecli",
182
+ "game:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=go ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.go -nodecli",
183
+ "game:compile:swift": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=swift6 ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.swift -nodecli",
184
+ "game:compile:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=cpp ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.cpp -nodecli",
185
+ "game:compile:kotlin": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=kotlin ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.kt -nodecli",
186
+ "game:compile:python": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=python ./gallery/invaders/invaders.rgr -d=./gallery/invaders -o=invaders.py -nodecli",
187
+ "game:build:rust": "npm run game:compile:rust && rustc gallery/invaders/invaders.rs -o gallery/invaders/invaders_rust.exe",
188
+ "game:build:go": "npm run game:compile:go && cd gallery/invaders && go build -o invaders_go.exe invaders.go",
189
+ "game:build:swift": "npm run game:compile:swift && swiftc -parse-as-library gallery/invaders/invaders.swift -o gallery/invaders/invaders_swift.exe",
190
+ "game:build:cpp": "npm run game:compile:cpp && g++ -std=c++17 -pthread gallery/invaders/invaders.cpp -o gallery/invaders/invaders_cpp.exe",
191
+ "game:build:kotlin": "npm run game:compile:kotlin && kotlinc gallery/invaders/invaders.kt -include-runtime -d gallery/invaders/invaders.jar",
192
+ "game:build:all": "npm run game:compile && npm run game:build:rust && npm run game:build:go",
193
+ "game:run": "node ./gallery/invaders/invaders.js",
194
+ "game:run:rust": "./gallery/invaders/invaders_rust.exe",
195
+ "game:run:go": "./gallery/invaders/invaders_go.exe",
196
+ "game:run:swift": "./gallery/invaders/invaders_swift.exe",
197
+ "game:run:cpp": "./gallery/invaders/invaders_cpp.exe",
198
+ "game:run:kotlin": "java -jar ./gallery/invaders/invaders.jar",
199
+ "game": "npm run game:compile && npm run game:run",
200
+ "engine:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/ranger_games/pong.rgr -d=./gallery/game_engine/ranger_games -o=pong.js -nodecli",
201
+ "engine:compile:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=cpp ./gallery/game_engine/ranger_games/pong.rgr -d=./gallery/game_engine/ranger_games -o=pong.cpp -nodecli",
202
+ "engine:compile:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=rust ./gallery/game_engine/ranger_games/pong.rgr -d=./gallery/game_engine/ranger_games -o=pong.rs -nodecli",
203
+ "engine:build:native": "bash gallery/game_engine/scripts/build-native.sh",
204
+ "build:raspberry": "bash gallery/game_engine/scripts/build-raspberry.sh",
205
+ "deploy:pi": "bash gallery/game_engine/scripts/deploy-pi.sh",
206
+ "engine:run": "node ./gallery/game_engine/ranger_games/pong.js",
207
+ "engine:ui:demo": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/ui/ui_editor_demo.rgr -d=./gallery/game_engine/ui -o=ui_editor_demo.js -nodecli && node ./gallery/game_engine/ui/ui_editor_demo.js",
208
+ "engine:ui:test": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/ui/tests/UITest.rgr -d=./gallery/game_engine/ui/tests -o=UITest.js -nodecli && node ./gallery/game_engine/ui/tests/UITest.js",
209
+ "markdown:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/markdown/tests/MarkdownTest.rgr -d=./gallery/markdown/bin -o=MarkdownTest.js -nodecli && node ./gallery/markdown/bin/MarkdownTest.js",
210
+ "markdown:test:go": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=go ./gallery/markdown/tests/MarkdownTest.rgr -d=./gallery/markdown/bin -o=MarkdownTest.go -nodecli && cd gallery/markdown/bin && go run MarkdownTest.go",
211
+ "markdown:test:python": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=python ./gallery/markdown/tests/MarkdownTest.rgr -d=./gallery/markdown/bin -o=MarkdownTest.py -nodecli && python3 ./gallery/markdown/bin/MarkdownTest.py",
212
+ "markdown:spec:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/markdown/tests/MdSpecDump.rgr -d=./gallery/markdown/bin -o=MdSpecDump.js -nodecli",
213
+ "markdown:spec": "npm run --silent markdown:spec:build && node gallery/markdown/tools/markdown-parity.mjs",
214
+ "markdown:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/markdown/src/md_demo.rgr -d=./gallery/markdown/bin -o=md_demo.js -nodecli",
215
+ "markdown:demo": "npm run --silent markdown:build && node ./gallery/markdown/bin/md_demo.js gallery/markdown/fixtures/sample.md gallery/markdown/out && node ./gallery/markdown/bin/md_demo.js gallery/markdown/fixtures/mermaid.md gallery/markdown/out && node ./gallery/markdown/bin/md_demo.js gallery/markdown/fixtures/code.md gallery/markdown/out && node ./gallery/markdown/bin/md_demo.js gallery/markdown/fixtures/paged.md gallery/markdown/out && node ./gallery/markdown/bin/md_demo.js README.md gallery/markdown/out",
216
+ "markdown:pdf": "npm run --silent markdown:build && node ./gallery/markdown/bin/md_demo.js",
217
+ "markdown:embed": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/markdown/tests/MdEmbedProbe.rgr -d=./gallery/markdown/bin -o=MdEmbedProbe.js -nodecli && node ./gallery/markdown/bin/MdEmbedProbe.js gallery/markdown/fixtures/mermaid.md 820",
218
+ "markdown:docx:test": "bash scripts/rgr-suite.sh ./gallery/markdown/tests/MdDocxTest.rgr ./gallery/markdown/bin MdDocxTest.js",
219
+ "vfs:test": "bash scripts/rgr-suite.sh ./gallery/vfs/tests/VfsTest.rgr ./gallery/vfs/bin VfsTest.js",
220
+ "deck": "bash scripts/rgr-suite.sh ./gallery/markdown/src/md_deck_tool.rgr ./gallery/markdown/bin md_deck_tool.js",
221
+ "markdown:web": "bash gallery/markdown/web/standalone/build.sh",
222
+ "markdown:web:serve": "bash gallery/markdown/web/standalone/build.sh && python3 -m http.server -d gallery/markdown/web/standalone/dist 8008",
223
+ "markdown:web:test": "bash gallery/markdown/web/standalone/build.sh && node gallery/markdown/web/standalone/smoke.mjs",
224
+ "r5:web": "bash gallery/r5/web/build.sh",
225
+ "r5:web:serve": "bash gallery/r5/web/build.sh && python3 -m http.server -d gallery/r5/web/dist 8009",
226
+ "r5:web:test": "bash gallery/r5/web/build.sh && node gallery/r5/web/smoke.mjs",
227
+ "markdown:semantic:test": "bash scripts/rgr-suite.sh ./gallery/markdown/tests/MdSemanticTest.rgr ./gallery/markdown/bin MdSemanticTest.js",
228
+ "markdown:attrs:test": "bash scripts/rgr-suite.sh ./gallery/markdown/tests/MdAttrsTest.rgr ./gallery/markdown/bin MdAttrsTest.js",
229
+ "markdown:css:test": "bash scripts/rgr-suite.sh ./gallery/markdown/tests/MdCssTest.rgr ./gallery/markdown/bin MdCssTest.js",
230
+ "markdown:edit:test": "bash scripts/rgr-suite.sh ./gallery/markdown/tests/MdEditTest.rgr ./gallery/markdown/bin MdEditTest.js",
231
+ "markdown:vega:test": "bash scripts/rgr-suite.sh ./gallery/markdown/tests/MdVegaTest.rgr ./gallery/markdown/bin MdVegaTest.js",
232
+ "markdown:pptx:test": "bash scripts/rgr-suite.sh ./gallery/markdown/tests/MdPptxTest.rgr ./gallery/markdown/bin MdPptxTest.js",
233
+ "markdown:slides:test": "bash scripts/rgr-suite.sh ./gallery/markdown/tests/MdSlidesTest.rgr ./gallery/markdown/bin MdSlidesTest.js",
234
+ "markdown:srcmap:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/markdown/tests/MdSrcMapProbe.rgr -d=./gallery/markdown/bin -o=MdSrcMapProbe.js -nodecli",
235
+ "markdown:srcmap:spec": "npm run --silent markdown:srcmap:build && node gallery/markdown/tools/markdown-srcmap.mjs",
236
+ "markdown:srcmap:test": "bash scripts/rgr-suite.sh ./gallery/markdown/tests/MdSrcMapTest.rgr ./gallery/markdown/bin MdSrcMapTest.js",
237
+ "markdown:bench": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/markdown/bench/md_bench.rgr -d=./gallery/markdown/bin -o=md_bench.js -nodecli && node ./gallery/markdown/bin/md_bench.js",
238
+ "markdown:entities": "npm --prefix gallery/markdown/harness install --silent --no-audit --no-fund && node gallery/markdown/tools/gen-entities.mjs",
239
+ "text_editor:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/text_editor/tests/EditorTest.rgr -d=./gallery/text_editor/bin -o=EditorTest.js -nodecli && node ./gallery/text_editor/bin/EditorTest.js",
240
+ "text_editor:demo": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/text_editor/src/editor_demo.rgr -d=./gallery/text_editor/bin -o=editor_demo.js -nodecli && node ./gallery/text_editor/bin/editor_demo.js",
241
+ "text_editor:bench": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/text_editor/bench/editor_bench.rgr -d=./gallery/text_editor/bin -o=editor_bench.js -nodecli && node ./gallery/text_editor/bin/editor_bench.js",
242
+ "text_editor:module": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/text_editor/src/EditorApp.rgr -d=./gallery/text_editor/bin -o=editor_app_module.cjs",
243
+ "text_editor:compare": "npm run text_editor:module && npm --prefix gallery/text_editor/bench/compare install && node gallery/text_editor/bench/compare/run.mjs",
244
+ "text_editor:window": "npm run text_editor:module && node gallery/text_editor/web/serve.mjs --open",
245
+ "text_editor:window:smoke": "npm run text_editor:module && node gallery/text_editor/web/serve.mjs --headless-smoke",
246
+ "pptx:fixtures": "python3 gallery/pptx/tools/make_fixtures.py",
247
+ "pptx:shapes:sheet": "bash scripts/rgr-suite.sh ./gallery/pptx/src/pptx_shape_sheet.rgr ./gallery/pptx/bin pptx_shape_sheet.js",
248
+ "pptx:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxTest.rgr ./gallery/pptx/bin PptxTest.js",
249
+ "pptx:geom:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxGeomTest.rgr ./gallery/pptx/bin PptxGeomTest.js",
250
+ "pptx:text:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxTextEditTest.rgr ./gallery/pptx/bin PptxTextEditTest.js",
251
+ "pptx:editor:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxEditorTest.rgr ./gallery/pptx/bin PptxEditorTest.js",
252
+ "pptx:frame:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxFrameTest.rgr ./gallery/pptx/bin PptxFrameTest.js",
253
+ "pptx:writer:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxWriterTest.rgr ./gallery/pptx/bin PptxWriterTest.js",
254
+ "pptx:textbox:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxTextBoxTest.rgr ./gallery/pptx/bin PptxTextBoxTest.js",
255
+ "pptx:box:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxBoxGeometryTest.rgr ./gallery/pptx/bin PptxBoxGeometryTest.js",
256
+ "pptx:outline:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxOutlineTest.rgr ./gallery/pptx/bin PptxOutlineTest.js",
257
+ "pptx:rotate:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxRotateTest.rgr ./gallery/pptx/bin PptxRotateTest.js",
258
+ "pptx:editor:host:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxEditHostTest.rgr ./gallery/pptx/bin PptxEditHostTest.js",
259
+ "pptx:a11y:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxA11yTest.rgr ./gallery/pptx/bin PptxA11yTest.js",
260
+ "pptx:api:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxApiTest.rgr ./gallery/pptx/bin PptxApiTest.js",
261
+ "css:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/css/tests/CssCoreTest.rgr -d=./gallery/css/bin -o=CssCoreTest.js -nodecli && node ./gallery/css/bin/CssCoreTest.js",
262
+ "pptx:css:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxCssTest.rgr ./gallery/pptx/bin PptxCssTest.js",
263
+ "pptx:chrome:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxChromeTest.rgr ./gallery/pptx/bin PptxChromeTest.js",
264
+ "pptx:evg:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxFromEvgTest.rgr ./gallery/pptx/bin PptxFromEvgTest.js",
265
+ "pptx:vega:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxVegaTest.rgr ./gallery/pptx/bin PptxVegaTest.js",
266
+ "pptx:api:render:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxRenderApiTest.rgr ./gallery/pptx/bin PptxRenderApiTest.js",
267
+ "pptx:api:build": "bash gallery/pptx/api/js/build.sh",
268
+ "pptx:api:js:test": "bash gallery/pptx/api/js/build.sh && node gallery/pptx/api/js/test.mjs",
269
+ "pptx:web": "bash gallery/pptx/web/standalone/build.sh",
270
+ "pptx:html": "bash gallery/pptx/web/html/build.sh",
271
+ "pptx:html:serve": "bash gallery/pptx/web/html/build.sh && python3 -m http.server -d gallery/pptx/web/html/dist 8006",
272
+ "pptx:html:test": "bash gallery/pptx/web/html/build.sh && node gallery/pptx/web/html/smoke.mjs",
273
+ "pptx:html:parity": "bash gallery/pptx/web/html/build.sh && node gallery/pptx/web/html/parity.mjs",
274
+ "pptx:web:serve": "bash gallery/pptx/web/standalone/build.sh && python3 -m http.server -d gallery/pptx/web/standalone/dist 8001",
275
+ "pptx:web:test": "bash gallery/pptx/web/standalone/build.sh && node gallery/pptx/web/standalone/smoke.mjs",
276
+ "pptx:scene:check": "bash gallery/pptx/web/standalone/build.sh && node gallery/pptx/web/host/scene-binary-check.mjs",
277
+ "pptx:web:touch:test": "bash gallery/pptx/web/standalone/build.sh && node gallery/pptx/web/standalone/touch.mjs",
278
+ "pptx:cpp:check": "bash gallery/pptx/web/wasm/cpp-check.sh",
279
+ "pptx:wasm": "bash gallery/pptx/web/wasm/build.sh",
280
+ "pptx:wasm:rust": "bash gallery/pptx/web/wasm-rust/build.sh",
281
+ "pptx:wasm:rust:serve": "bash gallery/pptx/web/wasm-rust/build.sh && python3 -m http.server -d gallery/pptx/web/wasm-rust/dist 8005",
282
+ "pptx:wasm:rust:test": "bash gallery/pptx/web/wasm-rust/build.sh && node gallery/pptx/web/standalone/smoke.mjs --dist gallery/pptx/web/wasm-rust/dist --engine pptx_wasm.wasm --build-cmd \"npm run pptx:wasm:rust\" --port 8882",
283
+ "pptx:wasm:rust:parity": "bash gallery/pptx/web/wasm-rust/build.sh && bash gallery/pptx/web/standalone/build.sh && node gallery/pptx/web/wasm-rust/parity.mjs",
284
+ "pptx:wasm:serve": "bash gallery/pptx/web/wasm/build.sh && python3 -m http.server -d gallery/pptx/web/wasm/dist 8004",
285
+ "pptx:wasm:test": "bash gallery/pptx/web/wasm/build.sh && node gallery/pptx/web/standalone/smoke.mjs --dist gallery/pptx/web/wasm/dist --engine pptx_wasm.wasm --build-cmd \"npm run pptx:wasm\" --port 8879",
286
+ "pptx:wasm:parity": "bash gallery/pptx/web/wasm/build.sh && bash gallery/pptx/api/js/build.sh && node gallery/pptx/web/wasm/parity.mjs",
287
+ "pptx:bridge:test": "bash gallery/pptx/web/standalone/build.sh && bash gallery/pptx/api/js/build.sh && node gallery/pptx/web/bridge.mjs",
288
+ "pptx:scene:bench": "bash gallery/pptx/api/js/build.sh && node gallery/pptx/tools/chart_deck.mjs && bash scripts/rgr-suite.sh ./gallery/pptx/tools/scene_bench.rgr ./gallery/pptx/bin scene_bench.js",
289
+ "pptx:playground": "bash gallery/pptx/web/playground/build.sh",
290
+ "pptx:playground:serve": "bash gallery/pptx/web/playground/build.sh && python3 -m http.server -d gallery/pptx/web/playground/dist 8003",
291
+ "pptx:playground:test": "bash gallery/pptx/web/playground/build.sh && node gallery/pptx/web/playground/smoke.mjs",
292
+ "pptx:demo": "bash scripts/rgr-suite.sh ./gallery/pptx/src/pptx_demo.rgr ./gallery/pptx/bin pptx_demo.js",
293
+ "pptx:module": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/pptx/src/PptxApp.rgr -d=./gallery/pptx/bin -o=pptx_app_module.cjs",
294
+ "pptx:editor:shots": "bash scripts/rgr-suite.sh ./gallery/pptx/src/pptx_editor_shots.rgr ./gallery/pptx/bin pptx_editor_shots.js",
295
+ "pptx:writer:visual": "bash scripts/rgr-suite.sh ./gallery/pptx/src/pptx_write_visual.rgr ./gallery/pptx/bin pptx_write_visual.js",
296
+ "pptx:writer:verify": "npm run pptx:writer:test && python3 gallery/pptx/harness/verify_written.py",
297
+ "pptx:probe": "bash scripts/rgr-suite.sh ./gallery/pptx/tools/pptx_probe.rgr ./gallery/pptx/bin pptx_probe.js",
298
+ "pptx:audit": "bash scripts/rgr-suite.sh ./gallery/pptx/tools/pptx_audit.rgr ./gallery/pptx/bin pptx_audit.js",
299
+ "pptx:audit:check": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/pptx/tools/pptx_audit.rgr -d=./gallery/pptx/bin -o=pptx_audit.js -nodecli && node ./gallery/pptx/bin/pptx_audit.js --check",
300
+ "pptx:bench": "bash scripts/rgr-suite.sh ./gallery/pptx/bench/pptx_bench.rgr ./gallery/pptx/bin pptx_bench.js",
301
+ "pptx:harness": "npm run pptx:fixtures && npm run pptx:module && node gallery/pptx/harness/run.mjs",
302
+ "pptx:harness:quick": "node gallery/pptx/harness/run.mjs",
303
+ "pptx:oracles": "npm run pptx:module && node gallery/pptx/harness/run_oracles.mjs --mae-limit 50",
304
+ "pptx:oracles:visual": "npm run pptx:module && node gallery/pptx/harness/run_oracles.mjs --strict-visual --mae-limit 50",
305
+ "pptx:window": "npm run pptx:module && node gallery/pptx/web/serve.mjs --open",
306
+ "pptx:window:smoke": "npm run pptx:module && node gallery/pptx/web/serve.mjs --headless-smoke",
307
+ "pptx:android": "bash gallery/pptx/android/scripts/build-app.sh debug",
308
+ "pptx:android:ranger": "bash gallery/pptx/android/scripts/build-ranger.sh",
309
+ "pptx:android:assets": "bash gallery/pptx/android/scripts/prepare-assets.sh",
310
+ "pptx:android:verify": "bash gallery/pptx/android/scripts/verify-desktop.sh",
311
+ "pptx:android:run": "bash gallery/pptx/android/scripts/run-emulator.sh",
312
+ "pptx:android:typecheck": "bash gallery/pptx/android/scripts/typecheck-host.sh",
313
+ "rangerflow:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerflow/tests/RangerFlowTest.rgr -d=./gallery/rangerflow/bin -o=RangerFlowTest.js -nodecli && node ./gallery/rangerflow/bin/RangerFlowTest.js",
314
+ "rangerflow:doc:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerflow/tests/FlowDocumentTest.rgr -d=./gallery/rangerflow/bin -o=FlowDocumentTest.js -nodecli && node ./gallery/rangerflow/bin/FlowDocumentTest.js",
315
+ "rangerflow:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerflow/demo/rangerflow_demo.rgr -d=./gallery/rangerflow/bin -o=rangerflow_demo.js -nodecli",
316
+ "rangerflow:demo": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js",
317
+ "rangerflow:uml": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --uml",
318
+ "codegraph": "bash scripts/rgr-suite.sh ./gallery/codegraph/demo/codegraph_demo.rgr ./gallery/codegraph/bin codegraph_demo.js",
319
+ "codegraph:test": "bash scripts/rgr-suite.sh ./gallery/codegraph/tests/CodeGraphTest.rgr ./gallery/codegraph/bin CodeGraphTest.js",
320
+ "codegraph:builder": "bash scripts/rgr-suite.sh ./gallery/codegraph/tests/CodeGraphBuilderTest.rgr ./gallery/codegraph/bin CodeGraphBuilderTest.js",
321
+ "codegraph:analyze": "node gallery/codegraph/tools/codegraph_open.mjs",
322
+ "codegraph:bench": "bash gallery/codegraph/bench/run.sh js",
323
+ "codegraph:bench:rt": "bash gallery/codegraph/bench/run.sh js gallery/realtrainer/src/RealTrainerDemo.rgr",
324
+ "codegraph:bench:cpp": "bash gallery/codegraph/bench/run.sh cpp",
325
+ "codegraph:bench:cpp:rt": "bash gallery/codegraph/bench/run.sh cpp gallery/realtrainer/src/RealTrainerDemo.rgr",
326
+ "codegraph:web": "bash gallery/codegraph/web/standalone/build.sh",
327
+ "codegraph:web:serve": "bash gallery/codegraph/web/standalone/build.sh && python3 -m http.server -d gallery/codegraph/web/standalone/dist 8081",
328
+ "codegraph:web:test": "bash gallery/codegraph/web/standalone/build.sh && node gallery/codegraph/web/standalone/smoke.mjs",
329
+ "codegraph:app": "bash scripts/rgr-suite.sh ./gallery/codegraph/tests/CodeGraphAppTest.rgr ./gallery/codegraph/bin CodeGraphAppTest.js",
330
+ "codegraph:sdl": "bash gallery/codegraph/platform/sdl/build.sh",
331
+ "codegraph:sdl:run": "bash gallery/codegraph/platform/sdl/build.sh --run",
332
+ "codegraph:sdl:smoke": "bash gallery/codegraph/platform/sdl/build.sh && SDL_VIDEODRIVER=dummy ./tmp/codegraph-sdl/codegraph_sdl --frames 20",
333
+ "uast:test": "bash scripts/rgr-suite.sh ./gallery/uast/tests/UastTest.rgr ./gallery/uast/bin UastTest.js",
334
+ "uast:ranger": "bash scripts/rgr-suite.sh ./gallery/uast/tests/UastRangerTest.rgr ./gallery/uast/bin UastRangerTest.js",
335
+ "uast:ts": "bash scripts/rgr-suite.sh ./gallery/uast/tests/UastTsTest.rgr ./gallery/uast/bin UastTsTest.js",
336
+ "uast:cpp": "bash scripts/rgr-suite.sh ./gallery/uast/tests/UastCppTest.rgr ./gallery/uast/bin UastCppTest.js",
337
+ "uast:analyze": "bash scripts/rgr-suite.sh ./gallery/uast/tools/UastAnalyze.rgr ./gallery/uast/bin UastAnalyze.js",
338
+ "rangerflow:force": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --force",
339
+ "rangerflow:drag": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --drag",
340
+ "rangerflow:flowchart": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --flowchart",
341
+ "rangerflow:mermaid": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --mermaid",
342
+ "rangerflow:plantuml": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --plantuml",
343
+ "rangerflow:d2": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --d2",
344
+ "rangerflow:plantuml:oracle": "node gallery/rangerflow/harness/oracles/plantuml_oracle.mjs",
345
+ "rangerflow:plantuml:dump": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerflow/tests/PlantUmlParityDump.rgr -d=./gallery/rangerflow/bin -o=PlantUmlParityDump.js -nodecli && node ./gallery/rangerflow/bin/PlantUmlParityDump.js gallery/rangerflow/fixtures/plantuml/*.puml $(node -e \"const f='gallery/rangerflow/harness/out/plantuml.json';const fs=require('fs');const o=fs.existsSync(f)?JSON.parse(fs.readFileSync(f,'utf8')):{};const t=['@startuml','@startmindmap','@startwbs','@startgantt','@startjson','@startyaml','@starthcl','@startsalt','@startwire','@startebnf','@startregex','@startchen','@startboard','@startfiles','@startditaa','@startdot','@startmath','@startlatex','@startcreole','@startchronology'];process.stdout.write(t.map(x=>'--opener='+x).join(' '))\")",
346
+ "rangerflow:plantuml:parity": "npm run --silent rangerflow:plantuml:oracle || echo ' (no PlantUML: the oracle could not be built — nothing to compare against)'; npm run --silent rangerflow:plantuml:dump && node gallery/rangerflow/tools/plantuml-parity.mjs",
347
+ "rangerflow:mermaid:oracle": "cd gallery/rangerflow/harness && { [ -d node_modules ] || npm install --silent --no-audit --no-fund; } && cd ../../.. && node gallery/rangerflow/harness/oracles/mermaid_oracle.mjs",
348
+ "rangerflow:mermaid:dump": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerflow/tests/MermaidParityDump.rgr -d=./gallery/rangerflow/bin -o=MermaidParityDump.js -nodecli && node ./gallery/rangerflow/bin/MermaidParityDump.js gallery/rangerflow/fixtures/mermaid/*.mmd $(node -e \"const f='gallery/rangerflow/harness/out/mermaid.json';const t=require('fs').existsSync(f)?(JSON.parse(require('fs').readFileSync(f,'utf8')).types||[]):[];process.stdout.write(t.map(x=>'--header='+x.header).join(' '))\")",
349
+ "rangerflow:mermaid:parity": "npm run --silent rangerflow:mermaid:oracle || echo ' (no registry: Mermaid could not be installed — nothing to compare against)'; npm run --silent rangerflow:mermaid:dump && node gallery/rangerflow/tools/mermaid-parity.mjs",
350
+ "rangerflow:graphviz:bench": "cd gallery/rangerflow/harness && { [ -d node_modules ] || npm install --silent --no-audit --no-fund; } && cd ../../.. && node gallery/rangerflow/tools/graphviz-bench.mjs",
351
+ "rangerflow:graphviz": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --graphviz",
352
+ "rangerflow:graphviz:oracle": "cd gallery/rangerflow/harness && { [ -d node_modules ] || npm install --silent --no-audit --no-fund; } && cd ../../.. && node gallery/rangerflow/harness/oracles/graphviz_oracle.mjs",
353
+ "rangerflow:graphviz:dump": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerflow/tests/DotParityDump.rgr -d=./gallery/rangerflow/bin -o=DotParityDump.js -nodecli && node ./gallery/rangerflow/bin/DotParityDump.js gallery/rangerflow/fixtures/graphviz/*.gv gallery/rangerflow/fixtures/graphviz/bad/*.gv",
354
+ "rangerflow:graphviz:parity": "npm run --silent rangerflow:graphviz:oracle || echo ' (no Graphviz: the oracle could not be built — nothing to compare against)'; npm run --silent rangerflow:graphviz:dump && node gallery/rangerflow/tools/graphviz-parity.mjs",
355
+ "rangerflow:graphviz:colors": "cd gallery/rangerflow/harness && { [ -d node_modules ] || npm install --silent --no-audit --no-fund; } && cd ../../.. && node gallery/rangerflow/tools/graphviz-colors.mjs",
356
+ "rangerflow:d2:oracle": "node gallery/rangerflow/harness/oracles/d2_oracle.mjs",
357
+ "rangerflow:d2:dump": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerflow/tests/D2ParityDump.rgr -d=./gallery/rangerflow/bin -o=D2ParityDump.js -nodecli && node ./gallery/rangerflow/bin/D2ParityDump.js gallery/rangerflow/fixtures/d2/*.d2",
358
+ "rangerflow:d2:parity": "npm run --silent rangerflow:d2:oracle || echo ' (no go toolchain: the D2 oracle could not be built — nothing to compare against)'; npm run --silent rangerflow:d2:dump && node gallery/rangerflow/tools/d2-parity.mjs",
359
+ "rangerflow:org": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --org",
360
+ "rangerflow:process": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --process",
361
+ "rangerflow:quality": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --quality gallery/rangerflow/fixtures/*.mmd gallery/rangerflow/fixtures/mermaid/*.mmd",
362
+ "rangerflow:bench": "npm run rangerflow:build && node ./gallery/rangerflow/bin/rangerflow_demo.js --bench",
363
+ "rangerflow:sdl": "bash gallery/rangerflow/platform/sdl/build.sh",
364
+ "rangerflow:sdl:run": "bash gallery/rangerflow/platform/sdl/build.sh --run gallery/rangerflow/fixtures/ecommerce.sql",
365
+ "rangerflow:sdl:smoke": "bash gallery/rangerflow/platform/sdl/build.sh && SDL_VIDEODRIVER=dummy ./tmp/rangerflow-sdl/rangerflow_sdl gallery/rangerflow/fixtures/ecommerce.sql 30",
366
+ "rangerflow:parity:oracles": "cd gallery/rangerflow/harness && { [ -d node_modules ] || npm install --silent --no-audit --no-fund; } && cd ../../.. && node gallery/rangerflow/harness/oracles/reactflow_oracle.mjs && node gallery/rangerflow/harness/oracles/d3_force_oracle.mjs",
367
+ "rangerflow:parity:dump": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerflow/tests/ParityDump.rgr -d=./gallery/rangerflow/bin -o=ParityDump.js -nodecli && node ./gallery/rangerflow/bin/ParityDump.js",
368
+ "rangerflow:parity": "npm run --silent rangerflow:parity:oracles || echo ' (no registry: the geometry oracles could not be built — scoring what is measurable)'; npm run --silent rangerflow:parity:dump && node gallery/rangerflow/tools/parity.mjs",
369
+ "rangerflow:rivals": "npm run --silent rangerflow:parity:dump && node gallery/rangerflow/tools/rivals.mjs",
370
+ "rangerflow:web": "bash gallery/rangerflow/web/standalone/build.sh",
371
+ "rangerflow:web:serve": "bash gallery/rangerflow/web/standalone/build.sh && node gallery/rangerflow/web/standalone/serve.mjs",
372
+ "rangerflow:demo:web": "bash gallery/rangerflow/web/standalone/build.sh && node gallery/rangerflow/web/standalone/serve.mjs --open",
373
+ "rangerflow:web:test": "bash gallery/rangerflow/web/standalone/build.sh && node gallery/rangerflow/web/standalone/smoke.mjs --all",
374
+ "rangerflow:forge:test": "node --test gallery/rangerflow/forge/test/*.test.mjs",
375
+ "rangerflow:artifacts": "bash gallery/rangerflow/web/standalone/build.sh && node gallery/rangerflow/web/standalone/smoke.mjs --all --shots gallery/rangerflow/artifacts && cp gallery/rangerflow/artifacts/scenario_erd.png gallery/rangerflow/artifacts/01_schema_editor_webgl.png",
376
+ "datagrid:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/GridTest.rgr ./gallery/datagrid/bin GridTest.js",
377
+ "rangerdb:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdb/tests/RangerDbTest.rgr -d=./gallery/rangerdb/bin -o=RangerDbTest.js -nodecli && node ./gallery/rangerdb/bin/RangerDbTest.js",
378
+ "rangerdb:host:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdb/tests/HostDbTest.rgr -d=./gallery/rangerdb/bin -o=HostDbTest.js -nodecli && node ./gallery/rangerdb/bin/HostDbTest.js",
379
+ "rangerdb:introspect:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdb/tests/IntrospectTest.rgr -d=./gallery/rangerdb/bin -o=IntrospectTest.js -nodecli && node ./gallery/rangerdb/bin/IntrospectTest.js",
380
+ "rangerdb:ddl:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdb/tests/DdlSchemaTest.rgr -d=./gallery/rangerdb/bin -o=DdlSchemaTest.js -nodecli && node ./gallery/rangerdb/bin/DdlSchemaTest.js",
381
+ "rangerforms:xform:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerforms/tests/XFormTest.rgr -d=./gallery/rangerforms/bin -o=XFormTest.js -nodecli && node ./gallery/rangerforms/bin/XFormTest.js",
382
+ "rangerforms:engine:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerforms/tests/EngineTest.rgr -d=./gallery/rangerforms/bin -o=EngineTest.js -nodecli && node ./gallery/rangerforms/bin/EngineTest.js",
383
+ "rangerforms:timings": "npm run rangerforms:bench:build && node gallery/rangerforms/bench/timings.mjs",
384
+ "rangerforms:xforms:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/rangerforms/bench/XFormBench.rgr -d=./gallery/rangerforms/bin -o=xform_bench.cjs",
385
+ "rangerforms:xforms": "npm run rangerforms:xforms:build && node gallery/rangerforms/bench/xforms.mjs",
386
+ "rangerforms:corpus": "node scripts/rangerforms-corpus.mjs",
387
+ "rangerforms:conformance": "bash scripts/rangerforms-conformance.sh",
388
+ "rangerforms:bench:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/rangerforms/bench/BenchRunner.rgr -d=./gallery/rangerforms/bin -o=bench_runner.cjs",
389
+ "rangerforms:bench": "npm run rangerforms:bench:build && node gallery/rangerforms/bench/bench.mjs",
390
+ "rangerforms:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerforms/tests/FormsTest.rgr -d=./gallery/rangerforms/bin -o=FormsTest.js -nodecli && node ./gallery/rangerforms/bin/FormsTest.js",
391
+ "ui:calendar:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/ui/tests/CalendarTest.rgr -d=./gallery/ui/bin -o=CalendarTest.js -nodecli && node ./gallery/ui/bin/CalendarTest.js",
392
+ "ui:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/ui/tests/UiTest.rgr -d=./gallery/ui/bin -o=UiTest.js -nodecli && node ./gallery/ui/bin/UiTest.js",
393
+ "ui:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/src/UiHost.rgr -d=./gallery/ui/bin -o=ui_host.cjs",
394
+ "ui:trace": "npm run ui:build && node gallery/ui/conformance/ranger-adapter.cjs gallery/ui/conformance/specs/toggle_collapsible.json",
395
+ "ui:conformance:install": "npm --prefix gallery/ui/conformance/dom install",
396
+ "ui:conformance": "npm run ui:build && node gallery/ui/conformance/compare.mjs",
397
+ "ui:report": "npm run ui:build && node gallery/ui/conformance/report.mjs",
398
+ "ui:report:baseline": "npm run ui:build && node gallery/ui/conformance/report.mjs --update-baseline",
399
+ "ui:a11y": "npm run ui:build && node gallery/ui/conformance/a11y.mjs",
400
+ "ui:inventory": "node gallery/ui/conformance/inventory.mjs",
401
+ "ui:inventory:refresh": "node gallery/ui/conformance/inventory.mjs --refresh",
402
+ "ui:web:build": "npm run ui:build && node gallery/ui/web/build.mjs",
403
+ "ui:web": "npm run ui:web:build && npm run ui:demo:build && node gallery/ui/demo/build.mjs && node gallery/ui/web/serve.mjs",
404
+ "rangerdbviewer:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdbviewer/tests/DbViewerTest.rgr -d=./gallery/rangerdbviewer/bin -o=DbViewerTest.js -nodecli && node ./gallery/rangerdbviewer/bin/DbViewerTest.js",
405
+ "rangerdbviewer:migrations:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdbviewer/tests/MigrationTest.rgr -d=./gallery/rangerdbviewer/bin -o=MigrationTest.js -nodecli && node ./gallery/rangerdbviewer/bin/MigrationTest.js",
406
+ "rangerdbviewer:query:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdbviewer/tests/QueryTest.rgr -d=./gallery/rangerdbviewer/bin -o=QueryTest.js -nodecli && node ./gallery/rangerdbviewer/bin/QueryTest.js",
407
+ "rangerdbviewer:forms:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdbviewer/tests/RecordFormTest.rgr -d=./gallery/rangerdbviewer/bin -o=RecordFormTest.js -nodecli && node ./gallery/rangerdbviewer/bin/RecordFormTest.js",
408
+ "rangerdbviewer:sheet:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdbviewer/tests/SheetTest.rgr -d=./gallery/rangerdbviewer/bin -o=SheetTest.js -nodecli && node ./gallery/rangerdbviewer/bin/SheetTest.js",
409
+ "rangerdbviewer:metrics:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdbviewer/tests/MetricsTest.rgr -d=./gallery/rangerdbviewer/bin -o=MetricsTest.js -nodecli && node ./gallery/rangerdbviewer/bin/MetricsTest.js",
410
+ "rangerdbviewer:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdbviewer/demo/dbviewer_demo.rgr -d=./gallery/rangerdbviewer/bin -o=dbviewer_demo.js -nodecli",
411
+ "rangerdbviewer:demo": "npm run rangerdbviewer:build && node ./gallery/rangerdbviewer/bin/dbviewer_demo.js",
412
+ "rangerdbviewer:demo:all": "npm run rangerdbviewer:build && node ./gallery/rangerdbviewer/bin/dbviewer_demo.js --all",
413
+ "rangerdbviewer:web": "bash gallery/rangerdbviewer/web/standalone/build.sh",
414
+ "rangerdbviewer:web:serve": "bash gallery/rangerdbviewer/web/standalone/build.sh && python3 -m http.server -d gallery/rangerdbviewer/web/standalone/dist 8080",
415
+ "rangerdbviewer:web:test": "bash gallery/rangerdbviewer/web/standalone/build.sh && node gallery/rangerdbviewer/web/standalone/smoke.mjs",
416
+ "graphql:test": "bash scripts/rgr-suite.sh ./gallery/graphql/tests/GraphQLTest.rgr ./gallery/graphql/bin GraphQLTest.js",
417
+ "rangersql:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangersql/tests/RangerSqlTest.rgr -d=./gallery/rangersql/bin -o=RangerSqlTest.js -nodecli && node ./gallery/rangersql/bin/RangerSqlTest.js",
418
+ "rangersql:identity": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangersql/tests/IdentityTest.rgr -d=./gallery/rangersql/bin -o=IdentityTest.js -nodecli && node ./gallery/rangersql/bin/IdentityTest.js",
419
+ "rangersql:oracle": "npm run rangersql:identity && python3 gallery/rangersql/tools/sqlglot_oracle.py",
420
+ "rangerdb:bench": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rangerdb/bench/db_bench.rgr -d=./gallery/rangerdb/bin -o=db_bench.js -nodecli && node ./gallery/rangerdb/bin/db_bench.js",
421
+ "datagrid:pane:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/GridPaneTest.rgr ./gallery/datagrid/bin GridPaneTest.js",
422
+ "datagrid:db:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/GridDbTest.rgr ./gallery/datagrid/bin GridDbTest.js",
423
+ "datagrid:db:demo": "bash scripts/rgr-suite.sh ./gallery/datagrid/src/db_demo.rgr ./gallery/datagrid/bin db_demo.js",
424
+ "datagrid:textfit:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/GridTextFitTest.rgr ./gallery/datagrid/bin GridTextFitTest.js",
425
+ "datagrid:db:module": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/datagrid/src/db_app.rgr -d=./gallery/datagrid/bin -o=grid_db_module.cjs",
426
+ "datagrid:db:window": "npm run datagrid:db:module && node gallery/datagrid/web/serve.mjs --open --db ${RANGERDB_ENGINE:-auto}",
427
+ "datagrid:db:window:sqlite": "npm run datagrid:db:module && node gallery/datagrid/web/serve.mjs --open --db sqlite",
428
+ "datagrid:db:window:rangerdb": "npm run datagrid:db:module && node gallery/datagrid/web/serve.mjs --open --db rangerdb",
429
+ "datagrid:db:window:smoke": "npm run datagrid:db:module && node gallery/datagrid/web/db_smoke.mjs --db ${RANGERDB_ENGINE:-auto}",
430
+ "datagrid:demo": "bash scripts/rgr-suite.sh ./gallery/datagrid/src/grid_demo.rgr ./gallery/datagrid/bin grid_demo.js",
431
+ "datagrid:bench": "bash scripts/rgr-suite.sh ./gallery/datagrid/bench/grid_bench.rgr ./gallery/datagrid/bin grid_bench.js",
432
+ "datagrid:module": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/datagrid/src/GridApp.rgr -d=./gallery/datagrid/bin -o=grid_app_module.cjs",
433
+ "datagrid:window": "npm run datagrid:module && node gallery/datagrid/web/serve.mjs --open",
434
+ "datagrid:window:sales": "npm run datagrid:module && node gallery/datagrid/web/serve.mjs --open --xlsx gallery/datagrid/fixtures/sales.xlsx",
435
+ "datagrid:web": "bash gallery/datagrid/web/standalone/build.sh",
436
+ "datagrid:web:serve": "bash gallery/datagrid/web/standalone/build.sh && python3 -m http.server -d gallery/datagrid/web/standalone/dist 8000",
437
+ "datagrid:web:test": "bash gallery/datagrid/web/standalone/build.sh && node gallery/datagrid/web/standalone/smoke.mjs",
438
+ "datagrid:clipboard:smoke": "npm run datagrid:module && node gallery/datagrid/web/clipboard_smoke.mjs",
439
+ "datagrid:window:smoke": "npm run datagrid:module && node gallery/datagrid/web/serve.mjs --headless-smoke",
440
+ "datagrid:a11y:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/GridA11yTest.rgr ./gallery/datagrid/bin GridA11yTest.js",
441
+ "datagrid:edit:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/GridEditTest.rgr ./gallery/datagrid/bin GridEditTest.js",
442
+ "datagrid:export:test": "mkdir -p gallery/datagrid/harness/out/export && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/datagrid/tests/XlsxWriteTest.rgr -d=./gallery/datagrid/bin -o=XlsxWriteTest.js -nodecli && node ./gallery/datagrid/bin/XlsxWriteTest.js && python3 gallery/datagrid/tools/check_export.py",
443
+ "datagrid:preserve:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/datagrid/tests/XlsxPreserveTest.rgr -d=./gallery/datagrid/bin -o=XlsxPreserveTest.js -nodecli && node ./gallery/datagrid/bin/XlsxPreserveTest.js && python3 gallery/datagrid/tools/check_preserve.py",
444
+ "datagrid:chart:infer:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/ChartInferenceTest.rgr ./gallery/datagrid/bin ChartInferenceTest.js",
445
+ "datagrid:sort:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/GridSortTest.rgr ./gallery/datagrid/bin GridSortTest.js",
446
+ "datagrid:chart:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/ChartTest.rgr ./gallery/datagrid/bin ChartTest.js",
447
+ "datagrid:render:parity": "bash gallery/datagrid/tools/run_render_parity.sh",
448
+ "datagrid:text:test": "bash gallery/datagrid/tools/run_text_model_test.sh",
449
+ "datagrid:gl:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/GlAtlasTest.rgr ./gallery/datagrid/bin GlAtlasTest.js",
450
+ "datagrid:xlsx:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/XlsxTest.rgr ./gallery/datagrid/bin XlsxTest.js",
451
+ "datagrid:xlsx:demo": "bash scripts/rgr-suite.sh ./gallery/datagrid/src/xlsx_demo.rgr ./gallery/datagrid/bin xlsx_demo.js",
452
+ "datagrid:xlsx:fixtures": "python3 gallery/datagrid/tools/make_fixtures.py && python3 gallery/datagrid/tools/make_m4_fixtures.py && python3 gallery/datagrid/tools/make_styles_fixture.py && python3 gallery/datagrid/tools/make_annotations_fixture.py && python3 gallery/datagrid/tools/make_images_fixture.py && python3 gallery/datagrid/tools/make_shared_formula_fixture.py && python3 gallery/datagrid/tools/make_text_fixture.py && python3 gallery/datagrid/tools/make_theme_fixture.py",
453
+ "datagrid:workbook:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/WorkbookTest.rgr ./gallery/datagrid/bin WorkbookTest.js",
454
+ "datagrid:formula:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/FormulaFunctionsTest.rgr ./gallery/datagrid/bin FormulaFunctionsTest.js",
455
+ "datagrid:formula:workbook:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/FormulaWorkbookTest.rgr ./gallery/datagrid/bin FormulaWorkbookTest.js",
456
+ "datagrid:date:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/DateTest.rgr ./gallery/datagrid/bin DateTest.js",
457
+ "datagrid:formula:array:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/FormulaArrayTest.rgr ./gallery/datagrid/bin FormulaArrayTest.js",
458
+ "datagrid:formula:bench": "bash scripts/rgr-suite.sh ./gallery/datagrid/bench/formula_bench.rgr ./gallery/datagrid/bin formula_bench.js",
459
+ "datagrid:artifacts": "mkdir -p gallery/datagrid/artifacts && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/datagrid/src/dump_artifacts.rgr -d=./gallery/datagrid/bin -o=dump_artifacts.js -nodecli && node ./gallery/datagrid/bin/dump_artifacts.js",
460
+ "datagrid:oracle:formula": "mkdir -p gallery/datagrid/harness/out/formulas && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/datagrid/src/formula_oracle_dump.rgr -d=./gallery/datagrid/bin -o=formula_oracle_dump.js -nodecli && node ./gallery/datagrid/bin/formula_oracle_dump.js | tee /tmp/formula_oracle_dump.log | awk '/---FORMULA_VALUES---/{p=1;next} /---END---/{exit} p' > gallery/datagrid/harness/out/formulas/ranger_values.json && python3 gallery/datagrid/harness/oracles/formula_lo.py gallery/datagrid/fixtures/formulas.xlsx --ranger gallery/datagrid/harness/out/formulas/ranger_values.json --out-dir gallery/datagrid/harness/out/formulas",
461
+ "datagrid:oracle:dump": "mkdir -p gallery/datagrid/harness/out/business && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/datagrid/src/xlsx_oracle_dump.rgr -d=./gallery/datagrid/bin -o=xlsx_oracle_dump.js -nodecli && node ./gallery/datagrid/bin/xlsx_oracle_dump.js | tee /tmp/xlsx_oracle_dump.log | awk '/---INSPECT---/{p=1;next} p&&/^wrote /{exit} p' > gallery/datagrid/harness/out/business/inspect.json && test -s gallery/datagrid/harness/out/business/inspect.json",
462
+ "datagrid:editor:web": "bash gallery/datagrid/web/editor/build.sh",
463
+ "datagrid:editor:open": "node gallery/datagrid/web/editor/serve.mjs",
464
+ "datagrid:editor:web:serve": "node gallery/datagrid/web/editor/serve.mjs --no-open",
465
+ "datagrid:editor:web:test": "bash gallery/datagrid/web/editor/build.sh && node gallery/datagrid/web/editor/smoke.mjs",
466
+ "datagrid:editor:keys:test": "bash gallery/datagrid/web/editor/build.sh && node gallery/datagrid/web/editor/keyboard.mjs",
467
+ "datagrid:editor:compare": "bash gallery/datagrid/web/editor/build.sh && node gallery/datagrid/web/editor/compare/run.mjs",
468
+ "datagrid:editor:compare:setup": "npm --prefix gallery/datagrid/web/editor/compare install",
469
+ "datagrid:editor:sdl": "bash gallery/datagrid/platform/sdl/build_editor.sh",
470
+ "datagrid:editor:sdl:cpp": "bash gallery/datagrid/platform/sdl/build_editor.sh --cpp-only",
471
+ "datagrid:editor:sdl:smoke": "bash gallery/datagrid/platform/sdl/build_editor.sh && SDL_VIDEODRIVER=offscreen ./tmp/code-editor-sdl/code_editor_sdl 20 | tee tmp/code-editor-sdl.log && grep -q 'gl=yes' tmp/code-editor-sdl.log",
472
+ "datagrid:editor:artifacts": "mkdir -p gallery/datagrid/artifacts && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/datagrid/src/script/dump_code_editor.rgr -d=./gallery/datagrid/bin -o=dump_code_editor.js -nodecli && node ./gallery/datagrid/bin/dump_code_editor.js",
473
+ "datagrid:script:test": "mkdir -p gallery/datagrid/harness/out/script && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/datagrid/tests/GridScriptTest.rgr -d=./gallery/datagrid/bin -o=GridScriptTest.js -nodecli && node ./gallery/datagrid/bin/GridScriptTest.js",
474
+ "datagrid:script:editor:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/ScriptEditorTest.rgr ./gallery/datagrid/bin ScriptEditorTest.js",
475
+ "datagrid:script:smoke": "npm run datagrid:module && node gallery/datagrid/web/script_smoke.mjs",
476
+ "datagrid:script:artifacts": "mkdir -p gallery/datagrid/artifacts gallery/datagrid/harness/out/script && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/datagrid/src/dump_script_report.rgr -d=./gallery/datagrid/bin -o=dump_script_report.js -nodecli && node ./gallery/datagrid/bin/dump_script_report.js",
477
+ "datagrid:parity": "python3 gallery/datagrid/tools/parity_score.py",
478
+ "datagrid:oracles": "npm run datagrid:oracle:dump && npm run datagrid:oracle:formula && node gallery/datagrid/harness/run_oracles.mjs",
479
+ "docx_viewer:chart:test": "bash scripts/rgr-suite.sh ./gallery/docx_viewer/tests/ChartPasteTest.rgr ./gallery/docx_viewer/bin ChartPasteTest.js",
480
+ "docx_viewer:test": "bash scripts/rgr-suite.sh ./gallery/docx_viewer/tests/DocxTest.rgr ./gallery/docx_viewer/bin DocxTest.js",
481
+ "docx_viewer:app:test": "bash scripts/rgr-suite.sh ./gallery/docx_viewer/tests/DocxAppTest.rgr ./gallery/docx_viewer/bin DocxAppTest.js",
482
+ "docx_viewer:a11y:test": "bash scripts/rgr-suite.sh ./gallery/docx_viewer/tests/DocxA11yTest.rgr ./gallery/docx_viewer/bin DocxA11yTest.js",
483
+ "docx_viewer:paging:test": "bash scripts/rgr-suite.sh ./gallery/docx_viewer/tests/DocxPagingTest.rgr ./gallery/docx_viewer/bin DocxPagingTest.js",
484
+ "docx:bench": "bash scripts/rgr-suite.sh ./gallery/docx_viewer/bench/docx_bench.rgr ./gallery/docx_viewer/bin docx_bench.js",
485
+ "docx:audit": "bash scripts/rgr-suite.sh ./gallery/docx_viewer/tools/docx_audit.rgr ./gallery/docx_viewer/bin docx_audit.js",
486
+ "docx:audit:check": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/docx_viewer/tools/docx_audit.rgr -d=./gallery/docx_viewer/bin -o=docx_audit.js -nodecli && node ./gallery/docx_viewer/bin/docx_audit.js --check",
487
+ "docx_viewer:web": "bash gallery/docx_viewer/web/standalone/build.sh",
488
+ "docx_viewer:web:serve": "bash gallery/docx_viewer/web/standalone/build.sh && python3 -m http.server -d gallery/docx_viewer/web/standalone/dist 8002",
489
+ "docx_viewer:web:test": "bash gallery/docx_viewer/web/standalone/build.sh && node gallery/docx_viewer/web/standalone/smoke.mjs",
490
+ "docx_viewer:scroll:test": "bash scripts/rgr-suite.sh ./gallery/docx_viewer/tests/DocxScrollTest.rgr ./gallery/docx_viewer/bin DocxScrollTest.js",
491
+ "docx_viewer:rtl:shot": "bash scripts/rgr-suite.sh ./gallery/docx_viewer/src/docx_rtl_shot.rgr ./gallery/docx_viewer/bin docx_rtl_shot.js",
492
+ "docx_viewer:demo": "bash scripts/rgr-suite.sh ./gallery/docx_viewer/src/docx_demo.rgr ./gallery/docx_viewer/bin docx_demo.js",
493
+ "docx_viewer:fixtures": "python3 gallery/docx_viewer/fixtures/make_fixtures.py",
494
+ "docx_viewer:module": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/docx_viewer/src/DocxViewer.rgr -d=./gallery/docx_viewer/bin -o=docx_viewer_module.cjs",
495
+ "docx_viewer:window": "npm run docx_viewer:module && node gallery/docx_viewer/web/serve.mjs --open",
496
+ "docx_viewer:oracles": "node gallery/docx_viewer/harness/run_oracles.mjs --skip-visual",
497
+ "docx_viewer:oracles:visual": "node gallery/docx_viewer/harness/run_oracles.mjs",
498
+ "engine:ui:wasm-select": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/ui/wasm_ui_select_demo.rgr -d=./gallery/game_engine/ui -o=wasm_ui_select_demo.js -nodecli && node ./gallery/game_engine/ui/wasm_ui_select_demo.js",
499
+ "engine:ui:wasm-guest": "bash gallery/game_engine/games/ui_menu/src/build.sh && node gallery/game_engine/games/ui_menu/src/tools/parity.cjs",
500
+ "engine:ui:effects": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/scripting/ui_effects_demo.rgr -d=./gallery/game_engine/scripting -o=ui_effects_demo.js -nodecli && node ./gallery/game_engine/scripting/ui_effects_demo.js",
501
+ "engine:ui:effects-guest": "bash gallery/game_engine/games/ui_effects/src/build.sh && node gallery/game_engine/games/ui_effects/src/tools/parity.cjs",
502
+ "engine:ui:game": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/scripting/ui_menu_runner_demo.rgr -d=./gallery/game_engine/scripting -o=ui_menu_runner_demo.js -nodecli && node ./gallery/game_engine/scripting/ui_menu_runner_demo.js",
503
+ "engine:ui:as": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/scripting/as_ui_menu_src_demo.rgr -d=./gallery/game_engine/scripting -o=as_ui_menu_src_demo.js -nodecli && node ./gallery/game_engine/scripting/as_ui_menu_src_demo.js",
504
+ "engine:as:sprites": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/scripting/as_sprite_demo.rgr -d=./gallery/game_engine/scripting -o=as_sprite_demo.js -nodecli && node ./gallery/game_engine/scripting/as_sprite_demo.js",
505
+ "engine:as:sprites2p": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/scripting/pyorretris2p_demo.rgr -d=./gallery/game_engine/scripting -o=pyorretris2p_demo.js -nodecli && node ./gallery/game_engine/scripting/pyorretris2p_demo.js",
506
+ "engine:ui:anim": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/ui/ui_anim_demo.rgr -d=./gallery/game_engine/ui -o=ui_anim_demo.js -nodecli && node ./gallery/game_engine/ui/ui_anim_demo.js",
507
+ "engine:ui:anim-visual": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/ui/ui_anim_visual_demo.rgr -d=./gallery/game_engine/ui -o=ui_anim_visual_demo.js -nodecli && node ./gallery/game_engine/ui/ui_anim_visual_demo.js",
508
+ "engine:ui:bgimage": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/ui/ui_bgimage_demo.rgr -d=./gallery/game_engine/ui -o=ui_bgimage_demo.js -nodecli && node ./gallery/game_engine/ui/ui_bgimage_demo.js",
509
+ "engine:as:classes": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/tests/interp/as_class_demo.rgr -d=./gallery/game_engine/tests/interp -o=as_class_demo.js -nodecli && node ./gallery/game_engine/tests/interp/as_class_demo.js",
510
+ "engine:catalog:categories": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/scripting/game_catalog_category_demo.rgr -d=./gallery/game_engine/scripting -o=game_catalog_category_demo.js -nodecli && node ./gallery/game_engine/scripting/game_catalog_category_demo.js",
511
+ "engine:menu:launcher": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/scripting/menu_launcher_demo.rgr -d=./gallery/game_engine/scripting -o=menu_launcher_demo.js -nodecli && node ./gallery/game_engine/scripting/menu_launcher_demo.js",
512
+ "engine:game:icons": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/scripting/game_icon_shots_demo.rgr -d=./gallery/game_engine/scripting -o=game_icon_shots_demo.js -nodecli && node ./gallery/game_engine/scripting/game_icon_shots_demo.js",
513
+ "engine:ui:launcher": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/ui/evg_launcher_demo.rgr -d=./gallery/game_engine/ui -o=evg_launcher_demo.js -nodecli && node ./gallery/game_engine/ui/evg_launcher_demo.js",
514
+ "engine:compile:sdl": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=cpp ./gallery/game_engine/ranger_games/pong_sdl.rgr -d=./gallery/game_engine/ranger_games -o=pong_sdl.cpp -nodecli",
515
+ "engine:sdl": "bash gallery/game_engine/scripts/build-sdl.sh",
516
+ "engine:sdl:run": "bash gallery/game_engine/scripts/build-sdl.sh --run",
517
+ "engine:v2:test": "bash gallery/game_engine/v2/tests/run.sh",
518
+ "interp:bench": "node gallery/game_engine/v2/interp/bench/bench.cjs",
519
+ "engine:v2:mesh:test": "bash gallery/game_engine/v2/mesh_editor/tests/run.sh",
520
+ "engine:v2:mesh:e2e": "node gallery/game_engine/v2/mesh_editor/tests/e2e/mesh_editor_e2e.mjs",
521
+ "engine:v2:mesh:dev": "npm --prefix gallery/game_engine/v2/mesh_editor/app run dev",
522
+ "engine:v2:shot:ylos2": "bash gallery/game_engine/v2/tests/tools/ylos2_screenshot.sh",
523
+ "engine:v2:pinball3d:build": "node gallery/game_engine/v2/web/build-pinball3d.mjs --out gallery/game_engine/v2/web/dist/pinball3d",
524
+ "engine:v2:pinball3d:shot": "npm run engine:v2:pinball3d:build && node gallery/game_engine/v2/web/tests/browser_smoke.mjs gallery/game_engine/v2/web/dist/pinball3d --canvas '#screen' --ms 2000 --shot gallery/game_engine/v2/web/dist/pinball3d/pinball_gpu.png",
525
+ "engine:v2:pages:build": "node gallery/game_engine/v2/web/build-pages.mjs --out gallery/game_engine/v2/web/dist/pages",
526
+ "engine:v2:pages:smoke": "npm run engine:v2:pages:build && node gallery/game_engine/v2/web/tests/pages_smoke.mjs gallery/game_engine/v2/web/dist/pages",
527
+ "engine:game-sdl": "bash gallery/game_engine/scripts/build-game-sdl.sh",
528
+ "engine:game-sdl:run": "bash gallery/game_engine/scripts/build-game-sdl.sh --run",
529
+ "engine:game-sdl:launcher": "bash gallery/game_engine/scripts/build-game-sdl.sh --run",
530
+ "engine:game-sdl:launcher:v2": "bash gallery/game_engine/scripts/build-sdl-v2.sh --run",
531
+ "engine:game-sdl:run:pong": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/pong/index.tsx",
532
+ "engine:game-sdl:run:invaders": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/invaders/index.tsx",
533
+ "engine:game-sdl:run:breakout": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/breakout/index.tsx",
534
+ "engine:game-sdl:run:littleciv": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/littleciv/index.tsx",
535
+ "engine:game-sdl:smoke:littleciv": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/littleciv/index.tsx 300",
536
+ "engine:littleciv:runner": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/tests/littleciv_runner_demo.rgr -d=./tests/.output -o=littleciv_runner_demo.js -nodecli && node ./tests/.output/littleciv_runner_demo.js 240",
537
+ "engine:game-sdl:run:chess": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/chess/index.tsx",
538
+ "engine:game-sdl:smoke:chess": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/chess/index.tsx 300",
539
+ "engine:chess:runner": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/tests/chess_runner_demo.rgr -d=./tests/.output -o=chess_runner_demo.js -nodecli && node ./tests/.output/chess_runner_demo.js 120",
540
+ "engine:chess:assets": "bash gallery/game_engine/games/chess/build-assets.sh",
541
+ "engine:game-sdl:run:f1_arcade": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/f1_arcade/index.tsx",
542
+ "engine:game-sdl:smoke:f1_arcade": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/f1_arcade/index.tsx 300",
543
+ "engine:f1_arcade:runner": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/tests/f1_arcade_runner_demo.rgr -d=./tests/.output -o=f1_arcade_runner_demo.js -nodecli && node ./tests/.output/f1_arcade_runner_demo.js 360",
544
+ "engine:game-sdl:run:ylos": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/ylos/index.tsx",
545
+ "engine:game-sdl:run:ylos2": "bash gallery/game_engine/scripts/build-lpc.sh --run && bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/ylos2/index.tsx",
546
+ "engine:game-sdl:run:ylos3": "bash gallery/game_engine/scripts/build-lpc.sh --run && bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/ylos3/index.tsx",
547
+ "engine:game-sdl:run:ylos4": "bash gallery/game_engine/scripts/build-lpc.sh --run && bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/ylos4/index.tsx",
548
+ "engine:game-sdl:run:physics_sandbox": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/physics_sandbox/index.tsx",
549
+ "engine:game-sdl:run:sprite": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/sprite_char/sprite_char.wasm",
550
+ "engine:game-sdl:smoke": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/scripting/pong.game.tsx 300",
551
+ "engine:game-sdl:smoke:invaders": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/scripting/invaders.game.tsx 300",
552
+ "engine:game-sdl:smoke:breakout": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/scripting/breakout.game.tsx 300",
553
+ "engine:game-sdl:smoke:pacman": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/pacman/index.tsx 300",
554
+ "engine:game-sdl:run:pacman": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/pacman/index.tsx",
555
+ "engine:game:watch:invaders": "node gallery/game_engine/scripts/watch-game-sdl.mjs invaders",
556
+ "engine:game:watch:pacman": "node gallery/game_engine/scripts/watch-game-sdl.mjs pacman",
557
+ "engine:game:watch:pong": "node gallery/game_engine/scripts/watch-game-sdl.mjs pong",
558
+ "engine:game:watch:breakout": "node gallery/game_engine/scripts/watch-game-sdl.mjs breakout",
559
+ "engine:lpc:build": "bash gallery/game_engine/scripts/build-lpc.sh",
560
+ "engine:lpc:run": "bash gallery/game_engine/scripts/build-lpc.sh --run",
561
+ "engine:lpc:batch": "bash gallery/game_engine/scripts/build-lpc-batch.sh",
562
+ "engine:chars:bake": "bash gallery/game_engine/scripts/bake-characters.sh",
563
+ "engine:chars:demo": "bash gallery/game_engine/scripts/build-chars-demo.sh",
564
+ "engine:chars:guest": "bash gallery/game_engine/games/sprite_char/src/build.sh",
565
+ "engine:chars:verify": "node gallery/game_engine/games/sprite_char/src/verify.mjs",
566
+ "engine:chars:poc": "bash gallery/game_engine/scripts/build-chars-poc.sh",
567
+ "engine:chars:poc:sdl": "bash gallery/game_engine/scripts/build-sprite-char-sdl.sh",
568
+ "engine:pose:guest": "bash gallery/game_engine/games/pose_arena/src/build.sh",
569
+ "engine:pose:verify": "node gallery/game_engine/games/pose_arena/src/verify.mjs",
570
+ "engine:ylos2:assets": "bash gallery/game_engine/games/ylos2/build-assets.sh",
571
+ "engine:ylos3:assets": "bash gallery/game_engine/games/ylos3/build-assets.sh",
572
+ "engine:ylos4:assets": "bash gallery/game_engine/games/ylos4/build-assets.sh",
573
+ "engine:pacman:assets": "bash gallery/game_engine/games/pacman/build-assets.sh",
574
+ "engine:physics:build": "bash gallery/game_engine/scripts/build-physics.sh",
575
+ "engine:physics:test": "bash gallery/game_engine/scripts/build-physics.sh --run",
576
+ "engine:physics:tsx": "bash gallery/game_engine/physics/tsx/run.sh",
577
+ "engine:physics:showcase": "RANGER_LIB=compiler/Lang.rgr:lib/stdops.rgr node bin/output.js -es6 gallery/game_engine/scripting/cannon_showcase_demo.rgr -d=gallery/game_engine/scripting -o=cannon_showcase_demo.js -nodecli && node gallery/game_engine/scripting/cannon_showcase_demo.js",
578
+ "engine:wasm:build:rust-pong": "bash gallery/game_engine/games/rust_pong/src/build.sh",
579
+ "engine:wasm:demo:pong": "bash gallery/game_engine/scripts/build-wasm-pong-demo.sh",
580
+ "engine:wasm:build:cube3d": "bash gallery/game_engine/games/cube3d_wasm/src/build.sh",
581
+ "engine:wasm:demo:cube3d": "bash gallery/game_engine/games/cube3d_wasm/src/build.sh && node gallery/game_engine/games/cube3d_wasm/tools/render.cjs 48",
582
+ "engine:wasm:build:fps": "bash gallery/game_engine/games/fps_wasm/src/build.sh",
583
+ "engine:wasm:demo:fps": "bash gallery/game_engine/games/fps_wasm/src/build.sh && node gallery/game_engine/games/fps_wasm/tools/render.cjs",
584
+ "engine:wasm:build:rust-autopeli": "bash gallery/game_engine/games/autopeli_wasm/src/build.sh",
585
+ "engine:wasm:assets:autopeli": "bash gallery/game_engine/scripts/sync-autopeli-wasm-assets.sh",
586
+ "engine:wasm:demo:autopeli": "bash gallery/game_engine/scripts/build-wasm-autopeli-demo.sh",
587
+ "engine:wasm:build:worker": "bash gallery/game_engine/wasm/rust_worker/build.sh",
588
+ "engine:wasm:demo:worker": "bash gallery/game_engine/scripts/build-worker-demo.sh",
589
+ "engine:wasm:demo:worker-spawn": "bash gallery/game_engine/scripts/build-spawn-demo.sh",
590
+ "engine:wasm:build:loader": "bash gallery/game_engine/wasm/as_resource_loader/build.sh",
591
+ "engine:wasm:demo:loader-poc": "bash gallery/game_engine/scripts/build-loader-poc.sh",
592
+ "engine:wasm:demo:world-stress": "bash gallery/game_engine/scripts/build-world-stress.sh",
593
+ "engine:game-sdl:streaming-world": "bash gallery/game_engine/scripts/build-streaming-world-sdl.sh",
594
+ "engine:game-sdl:run:rust-pong": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/rust_pong/logic.wasm",
595
+ "engine:game-sdl:smoke:rust-pong": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/rust_pong/logic.wasm 180",
596
+ "engine:game-sdl:run:rust-autopeli": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/autopeli_wasm/logic.wasm",
597
+ "engine:game-sdl:smoke:rust-autopeli": "bash gallery/game_engine/scripts/build-game-sdl.sh --run gallery/game_engine/games/autopeli_wasm/logic.wasm 180",
598
+ "engine:game-sdl-native": "bash gallery/game_engine/scripts/build-game-sdl-native.sh invaders",
599
+ "engine:game-sdl-native:run:invaders": "bash gallery/game_engine/scripts/build-game-sdl-native.sh --run invaders",
600
+ "engine:game-sdl-native:run:pong": "bash gallery/game_engine/scripts/build-game-sdl-native.sh --run pong",
601
+ "engine:game-sdl-native:run:pacman": "bash gallery/game_engine/scripts/build-game-sdl-native.sh --run pacman",
602
+ "engine:game-sdl-native:smoke:invaders": "bash gallery/game_engine/scripts/build-game-sdl-native.sh --run invaders 300",
603
+ "engine:game-sdl-native:smoke:pong": "bash gallery/game_engine/scripts/build-game-sdl-native.sh --run pong 180",
604
+ "engine:game-sdl-native:smoke:pacman": "bash gallery/game_engine/scripts/build-game-sdl-native.sh --run pacman 300",
605
+ "engine:game-sdl-native:watch:pacman": "node gallery/game_engine/scripts/watch-game-sdl-native.mjs pacman",
606
+ "engine:game-sdl-native:watch:invaders": "node gallery/game_engine/scripts/watch-game-sdl-native.mjs invaders",
607
+ "engine:game-sdl-native:watch:pong": "node gallery/game_engine/scripts/watch-game-sdl-native.mjs pong",
608
+ "engine": "npm run engine:compile && npm run engine:run",
609
+ "jsparser:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser -o=js_parser.js -nodecli",
610
+ "jsparser:compile:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=cpp ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser -o=js_parser -nodecli",
611
+ "jsparser:compile:swift": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=swift6 ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser -o=js_parser -nodecli",
612
+ "jsparser:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser -o=js_parser.js -nodecli",
613
+ "jsparser:module": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 -nodemodule ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser/benchmark -o=js_parser_module.cjs",
614
+ "jsparser:compile:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=rust ./gallery/js_parser/js_parser_main.rgr -d=./gallery/js_parser -o=js_parser -nodecli",
615
+ "jsparser:build:rust": "npm run jsparser:compile:rust && rustc -O gallery/js_parser/js_parser.rs -o gallery/js_parser/js_parser_rust.exe",
616
+ "jsparser:build:cpp": "wsl x86_64-w64-mingw32-g++-posix -std=c++17 -static -O3 gallery/js_parser/js_parser.cpp -o gallery/js_parser/js_parser_cpp.exe",
617
+ "jsparser:build:swift": "swiftc -O -parse-as-library gallery/js_parser/js_parser.swift -o gallery/js_parser/js_parser_swift.exe",
618
+ "jsparser:compile:all": "npm run jsparser:compile:cpp && npm run jsparser:compile:rust && npm run jsparser:compile:swift",
619
+ "jsparser:build:all": "npm run jsparser:compile:all && npm run jsparser:build:cpp && npm run jsparser:build:rust && npm run jsparser:build:swift",
620
+ "jsparser:run": "node ./gallery/js_parser/js_parser.js",
621
+ "jsparser:run:rust": "./gallery/js_parser/js_parser_rust",
622
+ "jsparser:test": "node ./gallery/js_parser/js_parser.js ./gallery/js_parser/test.js",
623
+ "jsparser": "npm run jsparser:compile && npm run jsparser:run",
624
+ "tsparser:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/bin -o=ts_parser_main.js -nodecli",
625
+ "tsparser:compile:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=rust ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/bin -o=ts_parser_main.rs -nodecli",
626
+ "tsparser:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/bin -o=ts_parser_main.go -nodecli",
627
+ "tsparser:compile:swift": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=swift6 ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/bin -o=ts_parser_main.swift -nodecli",
628
+ "tsparser:compile:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=cpp ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/bin -o=ts_parser_main.cpp -nodecli",
629
+ "tsparser:compile:dart": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=dart ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/bin -o=ts_parser_main.dart -nodecli",
630
+ "tsparser:compile:all": "npm run tsparser:compile && npm run tsparser:compile:rust && npm run tsparser:compile:go && npm run tsparser:compile:swift && npm run tsparser:compile:cpp && npm run tsparser:compile:dart",
631
+ "tsparser:module": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 -nodemodule ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/benchmark -o=ts_parser_module.cjs",
632
+ "tsparser:module:esm": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 -esm ./gallery/ts_parser/ts_parser_main.rgr -d=./gallery/ts_parser/benchmark -o=ts_parser_module.mjs",
633
+ "tsparser:build:rust": "npm run tsparser:compile:rust && rustc -O gallery/ts_parser/bin/ts_parser_main.rs -o gallery/ts_parser/bin/ts_parser_rust.exe",
634
+ "tsparser:build:go": "npm run tsparser:compile:go && cd gallery/ts_parser/bin && go build -o ts_parser_go.exe ts_parser_main.go",
635
+ "tsparser:build:swift": "npm run tsparser:compile:swift && swiftc -O -parse-as-library gallery/ts_parser/bin/ts_parser_main.swift -o gallery/ts_parser/bin/ts_parser_swift.exe",
636
+ "tsparser:build:cpp": "npm run tsparser:compile:cpp && wsl g++ -std=c++17 -O2 -o gallery/ts_parser/bin/ts_parser_cpp.exe gallery/ts_parser/bin/ts_parser_main.cpp",
637
+ "tsparser:benchmark": "npm run tsparser:module && cd gallery/ts_parser/benchmark && npm run benchmark",
638
+ "tsparser:run": "node ./gallery/ts_parser/bin/ts_parser_main.js -d",
639
+ "tsparser:run:rust": "./gallery/ts_parser/bin/ts_parser_rust.exe -d",
640
+ "tsparser:run:dart": "dart run ./gallery/ts_parser/bin/ts_parser_main.dart -d",
641
+ "tsparser": "npm run tsparser:compile && npm run tsparser:run",
642
+ "test:dart:tsparser": "vitest run --config tests/vitest.config.ts compiler-dart-tsparser.test.ts",
643
+ "ts2ranger:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/ts_to_ranger/ts_emitter_main.rgr -d=./gallery/ts_to_ranger/bin -o=ts_emitter_main.js -nodecli && node gallery/ts_to_ranger/scripts/patch-emitter-utf8.mjs",
644
+ "ts2ranger:emit": "npm run ts2ranger:compile && node ./gallery/ts_to_ranger/bin/ts_emitter_main.js",
645
+ "engine:pong:runner": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/tests/pong_runner_demo.rgr -d=./tests/.output -o=pong_runner_demo.js -nodecli && node ./tests/.output/pong_runner_demo.js 180",
646
+ "engine:pong:native": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/ranger_games/pong_native_runner.rgr -d=./tests/.output -o=pong_native_runner.js -nodecli && node ./tests/.output/pong_native_runner.js 180",
647
+ "engine:invaders:native": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/ranger_games/invaders_native_runner.rgr -d=./tests/.output -o=invaders_native_runner.js -nodecli && node ./tests/.output/invaders_native_runner.js 600",
648
+ "engine:invaders:native:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=cpp ./gallery/game_engine/ranger_games/invaders_native_runner.rgr -d=./tests/.output -o=invaders_native_runner.cpp -nodecli && cp gallery/invaders/variant.hpp tests/.output/variant.hpp && g++ -std=c++17 -pthread tests/.output/invaders_native_runner.cpp -o tests/.output/invaders_native_runner_cpp.exe && ./tests/.output/invaders_native_runner_cpp.exe 600",
649
+ "engine:pong:native:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=cpp ./gallery/game_engine/ranger_games/pong_native_runner.rgr -d=./tests/.output -o=pong_native_runner.cpp -nodecli && cp gallery/invaders/variant.hpp tests/.output/variant.hpp && g++ -std=c++17 -pthread tests/.output/pong_native_runner.cpp -o tests/.output/pong_native_runner_cpp.exe && ./tests/.output/pong_native_runner_cpp.exe 180",
650
+ "engine:spawner:runner": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/tests/spawner_runner_demo.rgr -d=./tests/.output -o=spawner_runner_demo.js -nodecli && node ./tests/.output/spawner_runner_demo.js 30",
651
+ "engine:spawner:native": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/ranger_games/spawner_native_runner.rgr -d=./tests/.output -o=spawner_native_runner.js -nodecli && node ./tests/.output/spawner_native_runner.js 30",
652
+ "engine:vocalfx": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/scripting/vocal_fx_runner_demo.rgr -d=./tests/.output -o=vocal_fx_runner_demo.js -nodecli && node ./tests/.output/vocal_fx_runner_demo.js 170",
653
+ "engine:vocalfx:selftest": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/game_engine/scripting/vocal_fx_selftest.rgr -d=./tests/.output -o=vocal_fx_selftest.js -nodecli && node ./tests/.output/vocal_fx_selftest.js",
654
+ "pdf:print:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/pdf_writer/test/print_finishing_test.rgr -d=./gallery/pdf_writer/bin -o=print_finishing_test.js -nodecli && node ./gallery/pdf_writer/bin/print_finishing_test.js",
655
+ "pdf:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/core/PDFWriter.rgr -d=./gallery/pdf_writer/bin -o=pdf_writer.js -nodecli",
656
+ "pdf:run": "node ./gallery/pdf_writer/bin/pdf_writer.js",
657
+ "pdf": "npm run pdf:compile && npm run pdf:run",
658
+ "jpegmeta:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/jpeg/JPEGMetadata.rgr -d=./gallery/pdf_writer/bin -o=jpeg_metadata.js -nodecli",
659
+ "jpegmeta:run": "node ./gallery/pdf_writer/bin/jpeg_metadata.js",
660
+ "jpegmeta": "npm run jpegmeta:compile && npm run jpegmeta:run",
661
+ "jpegdec:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/jpeg_decoder_test.rgr -d=./gallery/pdf_writer/bin -o=jpeg_decoder_test.js -nodecli",
662
+ "jpegdec:run": "node ./gallery/pdf_writer/bin/jpeg_decoder_test.js",
663
+ "jpegdec": "npm run jpegdec:compile && npm run jpegdec:run",
664
+ "jpegenc:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/jpeg_encoder_test.rgr -d=./gallery/pdf_writer/bin -o=jpeg_encoder_test.js -nodecli",
665
+ "jpegenc:run": "node ./gallery/pdf_writer/bin/jpeg_encoder_test.js",
666
+ "jpegenc": "npm run jpegenc:compile && npm run jpegenc:run",
667
+ "exif:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/exif_orientation_test.rgr -d=./gallery/pdf_writer/bin -o=exif_orientation_test.js -nodecli",
668
+ "exif:run": "node ./gallery/pdf_writer/bin/exif_orientation_test.js",
669
+ "exif": "npm run exif:compile && npm run exif:run",
670
+ "jpegscaler:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=es6 ./gallery/pdf_writer/src/tools/jpeg_scaler.rgr -d=./gallery/pdf_writer/bin -o=jpeg_scaler.js -nodecli",
671
+ "jpegscaler:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/pdf_writer/src/tools/jpeg_scaler.rgr -d=./gallery/pdf_writer/bin -o=jpeg_scaler.go -nodecli",
672
+ "jpegscaler:compile:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=cpp ./gallery/pdf_writer/src/tools/jpeg_scaler.rgr -d=./gallery/pdf_writer/bin -o=jpeg_scaler.cpp -nodecli",
673
+ "jpegscaler:compile:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=rust ./gallery/pdf_writer/src/tools/jpeg_scaler.rgr -d=./gallery/pdf_writer/bin -o=jpeg_scaler.rs -nodecli",
674
+ "jpegscaler:build:go": "npm run jpegscaler:compile:go && cd gallery/pdf_writer/bin && go build -o jpeg_scaler.exe jpeg_scaler.go",
675
+ "jpegscaler:build:cpp": "npm run jpegscaler:compile:cpp && g++ -std=c++17 -O3 -pthread gallery/pdf_writer/bin/jpeg_scaler.cpp -o gallery/pdf_writer/bin/jpeg_scaler_cpp.exe",
676
+ "jpegscaler:build:rust": "npm run jpegscaler:compile:rust && rustc --edition 2021 -O gallery/pdf_writer/bin/jpeg_scaler.rs -o gallery/pdf_writer/bin/jpeg_scaler_rust.exe",
677
+ "jpegscaler:bench": "bash gallery/pdf_writer/bench/jpeg_scaler_bench.sh",
678
+ "zip:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/zip/zip_tool.rgr -d=./gallery/zip/bin -o=zip_tool.js -nodecli",
679
+ "zip:run": "node ./gallery/zip/bin/zip_tool.js",
680
+ "zip": "npm run zip:compile && npm run zip:run",
681
+ "zstd:fixtures": "node gallery/zstd/tools/make-fixtures.mjs",
682
+ "zstd:test": "bash scripts/rgr-suite.sh ./gallery/zstd/tests/ZstdTest.rgr ./gallery/zstd/bin ZstdTest.js",
683
+ "zstd:tool": "bash scripts/rgr-suite.sh ./gallery/zstd/src/zstd_tool.rgr ./gallery/zstd/bin zstd_tool.js",
684
+ "zstd:bench": "node gallery/zstd/bench/compare.mjs",
685
+ "pkg:fixtures": "node gallery/pkg/tools/make-fixtures.mjs",
686
+ "pkg:test": "bash scripts/rgr-suite.sh ./gallery/pkg/tests/PkgTest.rgr ./gallery/pkg/bin PkgTest.js",
687
+ "pkg:test:go": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=go ./gallery/pkg/tests/PkgTest.rgr -d=./tmp/pkg-targets -o=PkgTest.go -nodecli && go run ./tmp/pkg-targets/PkgTest.go",
688
+ "pkg:test:python": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=python ./gallery/pkg/tests/PkgTest.rgr -d=./tmp/pkg-targets -o=PkgTest.py -nodecli && python3 ./tmp/pkg-targets/PkgTest.py",
689
+ "pkg:test:targets": "bash scripts/pkg-targets.sh",
690
+ "pkg:tool": "bash scripts/rgr-suite.sh ./gallery/pkg/src/pkg_tool.rgr ./gallery/pkg/bin pkg_tool.js",
691
+ "pkg:clone": "node gallery/pkg/tools/clone.mjs",
692
+ "figma:test": "bash scripts/rgr-suite.sh ./gallery/figma/tests/FigTest.rgr ./gallery/figma/bin FigTest.js",
693
+ "figma:cli": "bash scripts/rgr-suite.sh ./gallery/figma/src/fig_cli.rgr ./gallery/figma/bin fig_cli.js",
694
+ "figma:inspect": "npm run figma:cli && node gallery/figma/bin/fig_cli.js sample",
695
+ "figma:to-evg": "npm run --silent figma:cli:build && node gallery/figma/bin/fig_cli.js to-evg",
696
+ "figma:from-evg": "npm run --silent figma:cli:build && node gallery/figma/bin/fig_cli.js from-evg",
697
+ "figma:rewrite": "npm run --silent figma:cli:build && node gallery/figma/bin/fig_cli.js rewrite",
698
+ "figma:cli:build": "bash scripts/rgr-suite.sh ./gallery/figma/src/fig_cli.rgr ./gallery/figma/bin fig_cli.js --built >/dev/null 2>&1 || true",
699
+ "figma:web": "bash gallery/figma/web/standalone/build.sh",
700
+ "rafi:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/figma/web/rafi/RafiApp.rgr -d=./gallery/figma/bin -o=RafiApp.cjs",
701
+ "rafi:page": "npm run rafi:build --silent && node gallery/figma/web/rafi/build.mjs",
702
+ "rafi:web": "npm run rafi:page --silent && python3 -m http.server -d gallery/figma/web/rafi 8011",
703
+ "figma": "node gallery/figma/cli.mjs",
704
+ "rafi:test": "npm run rafi:page --silent && node gallery/figma/web/rafi/smoke.mjs",
705
+ "rave:build": "rm -f ./gallery/rave/bin/RaveEditor.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/rave/src/RaveEditor.rgr -d=./gallery/rave/bin -o=RaveEditor.cjs",
706
+ "rave:page": "npm run rave:build --silent && node gallery/rave/web/build.mjs",
707
+ "rave:web": "node gallery/rave/cli.mjs serve",
708
+ "rave:smoke": "npm run rave:page --silent && node gallery/rave/web/smoke.mjs",
709
+ "rave:cli:build": "rm -f ./gallery/rave/bin/rave_cli.js && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rave/src/rave_cli.rgr -d=./gallery/rave/bin -o=rave_cli.js -nodecli",
710
+ "rave": "node gallery/rave/cli.mjs",
711
+ "rave:mcp": "node gallery/rave/mcp/server.mjs",
712
+ "rave:mcp:check": "node gallery/rave/mcp/check.mjs",
713
+ "rave:serve:check": "npm run rave:page --silent && node gallery/rave/web/serve-check.mjs",
714
+ "rave:test": "rm -f ./gallery/rave/bin/RaveTest.js && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/rave/tests/RaveTest.rgr -d=./gallery/rave/bin -o=RaveTest.js -nodecli && node ./gallery/rave/bin/RaveTest.js",
715
+ "figma:web:serve": "bash gallery/figma/web/standalone/build.sh && python3 -m http.server -d gallery/figma/web/standalone/dist 8010",
716
+ "figma:web:test": "bash gallery/figma/web/standalone/build.sh && node gallery/figma/web/standalone/smoke.mjs",
717
+ "figma:bench": "node gallery/figma/bench/compare.mjs",
718
+ "evg:a11y:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGA11yTest.rgr -d=./gallery/evg/bin -o=EVGA11yTest.js -nodecli && node ./gallery/evg/bin/EVGA11yTest.js",
719
+ "ui:table:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/table_check.mjs",
720
+ "ui:tree:dnd:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/tree_dnd_check.mjs",
721
+ "ui:tree:dnd:oracle": "node gallery/ui/conformance/oracle/tree_dnd_oracle.mjs",
722
+ "ui:table:oracle": "node gallery/ui/conformance/oracle/table_oracle.mjs",
723
+ "ui:virtual:oracle": "node gallery/ui/conformance/oracle/virtual_oracle.mjs",
724
+ "evg:scroll:oracle": "node gallery/ui/conformance/oracle/scroll_oracle.mjs",
725
+ "evg:radius:oracle": "node gallery/ui/conformance/oracle/radius_oracle.mjs",
726
+ "evg:radius:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/radius_check.mjs",
727
+ "evg:flexmin:oracle": "node gallery/ui/conformance/oracle/flexmin_oracle.mjs",
728
+ "evg:flexmin:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/flexmin_check.mjs",
729
+ "evg:textbox:oracle": "node gallery/ui/conformance/oracle/textbox_oracle.mjs",
730
+ "evg:textbox:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/textbox_check.mjs",
731
+ "evg:scroll:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/scroll_check.mjs",
732
+ "ui:message:check": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/MessageDemo.rgr -d=./gallery/ui/bin -o=MessageDemo.cjs && node gallery/ui/demo/message-check.mjs",
733
+ "ui:quest:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/questionnaire_check.mjs",
734
+ "ui:scroller:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/scroller_check.mjs",
735
+ "ui:semantics:check": "npm run ui:demo:build --silent && node gallery/ui/demo/semantics-check.mjs",
736
+ "ui:offset:check": "node gallery/ui/tests/offset-check.mjs",
737
+ "ui:offset:js": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/ui/tests/OffsetProbe.rgr -d=./gallery/ui/bin -o=OffsetProbe.js -nodecli && node ./gallery/ui/bin/OffsetProbe.js",
738
+ "ui:offset:cpp": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=cpp ./gallery/ui/tests/OffsetProbe.rgr -d=./gallery/ui/bin -o=OffsetProbe.cpp -nodecli && g++ -std=c++17 -O0 -o ./gallery/ui/bin/offsetprobe ./gallery/ui/bin/OffsetProbe.cpp && ./gallery/ui/bin/offsetprobe",
739
+ "ui:switch:oracle": "node gallery/ui/conformance/oracle/switch_oracle.mjs",
740
+ "ui:filters:oracle": "node gallery/ui/conformance/oracle/filters_oracle.mjs",
741
+ "ui:eventcal:oracle": "node gallery/ui/conformance/oracle/eventcal_oracle.mjs",
742
+ "ui:progress:oracle": "node gallery/ui/conformance/oracle/progress_oracle.mjs",
743
+ "ui:progress:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/progress_check.mjs",
744
+ "ui:number:oracle": "node gallery/ui/conformance/oracle/numberfield_oracle.mjs",
745
+ "ui:number:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/numberfield_check.mjs",
746
+ "ui:datefield:oracle": "node gallery/ui/conformance/oracle/datefield_oracle.mjs",
747
+ "ui:datefield:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/datefield_check.mjs",
748
+ "ui:otp:oracle": "node gallery/ui/conformance/oracle/otp_oracle.mjs",
749
+ "ui:otp:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/otp_check.mjs",
750
+ "ui:combobox:oracle": "node gallery/ui/conformance/oracle/combobox_oracle.mjs",
751
+ "ui:combobox:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/combobox_check.mjs",
752
+ "ui:metadata:check": "npm run ui:demo:build --silent && node gallery/ui/demo/metadata-check.mjs",
753
+ "ui:stepper:oracle": "node gallery/ui/conformance/oracle/stepper_oracle.mjs",
754
+ "ui:stepper:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/stepper_check.mjs",
755
+ "ui:slider:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/slider_check.mjs",
756
+ "ui:eventcal:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/eventcal_check.mjs",
757
+ "ui:filters:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/filters_check.mjs",
758
+ "ui:switch:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/switch_check.mjs",
759
+ "ui:textinput:oracle": "node gallery/ui/conformance/oracle/textinput_oracle.mjs",
760
+ "ui:pointer:oracle": "node gallery/ui/conformance/oracle/pointer_oracle.mjs",
761
+ "ui:pointer:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/pointer_check.mjs",
762
+ "ui:calendar:demo": "npm run ui:demo:build --silent && node gallery/ui/demo/calendar-check.mjs",
763
+ "ui:filters:demo": "npm run ui:demo:build --silent && node gallery/ui/demo/filters-demo-check.mjs",
764
+ "ui:eventcal:demo": "npm run ui:demo:build --silent && node gallery/ui/demo/eventcal-demo-check.mjs",
765
+ "ui:controls:demo": "npm run ui:demo:build --silent && node gallery/ui/demo/controls-demo-check.mjs",
766
+ "ui:otp:demo": "npm run ui:demo:build --silent && node gallery/ui/demo/otp-demo-check.mjs",
767
+ "ui:calendar:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/calendar_check.mjs",
768
+ "ui:virtual:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/virtual_check.mjs",
769
+ "evg:shift:check": "node gallery/evg/gl/shift-check.mjs",
770
+ "evg:rotation:check": "node gallery/evg/gl/rotation-check.mjs",
771
+ "evg:blur:check": "node gallery/evg/gl/blur-check.mjs",
772
+ "evg:blur:oracle": "node gallery/evg/oracle/css_blur_oracle.mjs",
773
+ "evg:timing:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGTimingTest.rgr -d=./gallery/evg/bin -o=EVGTimingTest.js -nodecli && node ./gallery/evg/bin/EVGTimingTest.js",
774
+ "evg:timing:oracle": "node gallery/evg/oracle/css_timing_oracle.mjs",
775
+ "evg:reconcile:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGReconcileTest.rgr -d=./gallery/evg/bin -o=EVGReconcileTest.js -nodecli && node ./gallery/evg/bin/EVGReconcileTest.js",
776
+ "watchevg:bench:build": "bash gallery/watch_evg/bench/scripts/build-ranger.sh",
777
+ "watchevg:bench": "bash gallery/watch_evg/bench/scripts/run-jvm.sh",
778
+ "watchevg:bench:c1": "bash gallery/watch_evg/bench/scripts/run-jvm.sh --c1",
779
+ "watchevg:bench:native": "bash gallery/watch_evg/bench/scripts/run-native.sh",
780
+ "watchevg:bench:js": "npm run watchevg:bench:build --silent && node gallery/watch_evg/bench/watch-bench.mjs",
781
+ "ui:bench:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/bench/UiBench.rgr -d=./gallery/ui/bin -o=UiBench.cjs",
782
+ "ui:bench": "npm run ui:bench:build --silent && node gallery/ui/bench/ui-bench.mjs",
783
+ "ui:bench:paint": "npm run ui:bench:build --silent && node gallery/ui/bench/ui-bench.mjs --paint",
784
+ "ui:runner:bench:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/MessageDemo.rgr -d=./gallery/ui/bin -o=MessageDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/DashboardDemo.rgr -d=./gallery/ui/bin -o=DashboardDemo.cjs",
785
+ "ui:runner:bench": "npm run ui:runner:bench:build --silent && node gallery/ui/bench/runner-vs-browser.mjs",
786
+ "evg:inspect:test": "npm run ui:demo:build --silent && node gallery/evg/inspect/inspect-check.mjs",
787
+ "evg:inspect:web": "bash gallery/pptx/web/html/build.sh > /dev/null && node gallery/evg/inspect/browser-smoke.mjs",
788
+ "evg:inspect:shots": "node gallery/evg/inspect/shots.mjs",
789
+ "evg:inspect:live": "npm run ui:demo:build --silent && node gallery/ui/demo/build.mjs && node gallery/evg/inspect/live-css-check.mjs",
790
+ "evg:inspect:demo": "npm run ui:demo:build --silent && node gallery/ui/demo/build.mjs && node gallery/ui/web/serve.mjs",
791
+ "ui:sortable:motion": "npm run ui:demo:build --silent && node gallery/ui/demo/sortable-motion-check.mjs",
792
+ "ui:tree:checkbox": "npm run ui:demo:build --silent && node gallery/ui/demo/tree-checkbox-check.mjs",
793
+ "ui:timeline:check": "npm run ui:demo:build --silent && node gallery/ui/demo/timeline-check.mjs",
794
+ "ui:resize:check": "npm run ui:demo:build --silent && node gallery/ui/demo/resize-check.mjs",
795
+ "ui:form:check": "npm run ui:demo:build --silent && node gallery/ui/demo/form-check.mjs",
796
+ "ui:profile:check": "npm run ui:demo:build --silent && node gallery/ui/demo/profile-check.mjs",
797
+ "ui:dashboard:check": "npm run ui:demo:build --silent && node gallery/ui/demo/dashboard-check.mjs",
798
+ "evg:invalidate:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGInvalidateTest.rgr -d=./gallery/evg/bin -o=EVGInvalidateTest.js -nodecli && node ./gallery/evg/bin/EVGInvalidateTest.js",
799
+ "evg:stylecache:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGStyleCacheTest.rgr -d=./gallery/evg/bin -o=EVGStyleCacheTest.js -nodecli && node ./gallery/evg/bin/EVGStyleCacheTest.js",
800
+ "evg:component:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGComponentTest.rgr -d=./gallery/evg/bin -o=EVGComponentTest.js -nodecli && node ./gallery/evg/bin/EVGComponentTest.js",
801
+ "evg:adopt:check": "node scripts/check-evg-adopt.mjs",
802
+ "evg:tags:check": "node scripts/check-tree-tags.mjs",
803
+ "evg:viewport:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGViewportUnitTest.rgr -d=./gallery/evg/bin -o=EVGViewportUnitTest.js -nodecli && node ./gallery/evg/bin/EVGViewportUnitTest.js",
804
+ "evg:flexrules:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGFlexRulesTest.rgr -d=./gallery/evg/bin -o=EVGFlexRulesTest.js -nodecli && node ./gallery/evg/bin/EVGFlexRulesTest.js",
805
+ "evg:layout:bench:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/evg/bench/EvgLayoutBench.rgr -d=./gallery/evg/bin -o=EvgLayoutBench.cjs",
806
+ "evg:layout:bench": "npm run evg:layout:bench:build --silent && node --expose-gc gallery/evg/bench/layout-bench.mjs",
807
+ "evg:layout:conformance": "npm run evg:layout:bench:build --silent && node gallery/evg/bench/layout-conformance.mjs",
808
+ "evg:flexwrap:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGFlexWrapTest.rgr -d=./gallery/evg/bin -o=EVGFlexWrapTest.js -nodecli && node ./gallery/evg/bin/EVGFlexWrapTest.js",
809
+ "evg:box:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGBoxShorthandTest.rgr -d=./gallery/evg/bin -o=EVGBoxShorthandTest.js -nodecli && node ./gallery/evg/bin/EVGBoxShorthandTest.js",
810
+ "evg:box:oracle": "node gallery/evg/oracle/css_box_oracle.mjs",
811
+ "evg:style:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGStyleStateTest.rgr -d=./gallery/evg/bin -o=EVGStyleStateTest.js -nodecli && node ./gallery/evg/bin/EVGStyleStateTest.js",
812
+ "evg:focus:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGFocusTest.rgr -d=./gallery/evg/bin -o=EVGFocusTest.js -nodecli && node ./gallery/evg/bin/EVGFocusTest.js",
813
+ "evg:stylevar:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGStyleVarTest.rgr -d=./gallery/evg/bin -o=EVGStyleVarTest.js -nodecli && node ./gallery/evg/bin/EVGStyleVarTest.js",
814
+ "evg:overlay:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGOverlayTest.rgr -d=./gallery/evg/bin -o=EVGOverlayTest.js -nodecli && node ./gallery/evg/bin/EVGOverlayTest.js",
815
+ "evg:fixed:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGFixedTest.rgr -d=./gallery/evg/bin -o=EVGFixedTest.js -nodecli && node ./gallery/evg/bin/EVGFixedTest.js",
816
+ "evg:rtl:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGRtlLayoutTest.rgr -d=./gallery/evg/bin -o=EVGRtlLayoutTest.js -nodecli && node ./gallery/evg/bin/EVGRtlLayoutTest.js",
817
+ "evg:ruler:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGRulerTest.rgr -d=./gallery/evg/bin -o=EVGRulerTest.js -nodecli && node ./gallery/evg/bin/EVGRulerTest.js",
818
+ "evg:toolbar:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGToolbarTest.rgr -d=./gallery/evg/bin -o=EVGToolbarTest.js -nodecli && node ./gallery/evg/bin/EVGToolbarTest.js",
819
+ "icons:sheet": "mkdir -p tmp/icons && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/datagrid/src/dump_icons.rgr -d=./gallery/datagrid/bin -o=dump_icons.js -nodecli && node ./gallery/datagrid/bin/dump_icons.js",
820
+ "evg:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/evg/evg_test.rgr -d=./gallery/evg/bin -o=evg_test.js -nodecli",
821
+ "evg:run": "node ./gallery/evg/bin/evg_test.js",
822
+ "evg:hostmeasurer:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGHostMeasurerTest.rgr -d=./gallery/evg/bin -o=EVGHostMeasurerTest.js -nodecli && node ./gallery/evg/bin/EVGHostMeasurerTest.js",
823
+ "evg:measure:web": "node gallery/evg/gl/measure-check.mjs",
824
+ "evg:binary:check": "node gallery/evg/gl/list-binary-check.mjs",
825
+ "evg:view:policy": "node gallery/evg/gl/view-policy-check.mjs",
826
+ "evg:view:check": "node gallery/evg/gl/view-check.mjs",
827
+ "evg:stroke:check": "node gallery/evg/gl/stroke-check.mjs",
828
+ "evg:gestures:check": "node gallery/evg/gl/gestures-check.mjs",
829
+ "evg:hosttree:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGHostTreeTest.rgr -d=./gallery/evg/bin -o=EVGHostTreeTest.js -nodecli && node ./gallery/evg/bin/EVGHostTreeTest.js",
830
+ "evg:json:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EVGJsonTest.rgr -d=./gallery/evg/bin -o=EVGJsonTest.js -nodecli && node ./gallery/evg/bin/EVGJsonTest.js",
831
+ "agent": "bash scripts/rgr-suite.sh ./gallery/evg/agent/evg_agent.rgr ./gallery/evg/bin evg_agent.js",
832
+ "evgjson:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_json_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_json_tool.js -nodecli",
833
+ "agent:import": "bash scripts/rgr-suite.sh ./gallery/pdf_writer/src/tools/evg_json_tool.rgr ./gallery/pdf_writer/bin evg_json_tool.js",
834
+ "agent:render": "bash scripts/rgr-suite.sh ./gallery/pdf_writer/src/tools/evg_png_tool.rgr ./gallery/pdf_writer/bin evg_png_tool.js",
835
+ "agent:html": "bash scripts/rgr-suite.sh ./gallery/pdf_writer/src/tools/evg_html_tool.rgr ./gallery/pdf_writer/bin evg_html_tool.js",
836
+ "agent:roundtrip": "bash gallery/evg/agent/roundtrip.sh",
837
+ "agent:smoke": "bash gallery/evg/agent/smoke.sh",
838
+ "evg:patch:test": "bash -o pipefail -c 'bash scripts/rgr-suite.sh ./gallery/evg/EVGPatchTest.rgr ./gallery/evg/bin EVGPatchTest.js | tee /dev/stderr | grep -q \"ALL PASS\"'",
839
+ "evg:trace:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/EvgBitmapTracerTest.rgr -d=./gallery/evg/bin -o=EvgBitmapTracerTest.js -nodecli && node ./gallery/evg/bin/EvgBitmapTracerTest.js",
840
+ "evg:trace:bench": "bash gallery/evg/tools/run_trace_bench.sh",
841
+ "evg:trace:cli": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/tools/evg_trace_cli.rgr -d=./gallery/evg/bin -o=evg_trace_cli.js -nodecli && node ./gallery/evg/bin/evg_trace_cli.js",
842
+ "evg:trace:cli:run": "node ./gallery/evg/bin/evg_trace_cli.js",
843
+ "evg:trace:cli:py": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=python ./gallery/evg/tools/evg_trace_cli.rgr -d=./gallery/evg/bin -o=evg_trace_cli.py -nodecli",
844
+ "evg:trace:cli:cpp": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=cpp ./gallery/evg/tools/evg_trace_cli.rgr -d=./gallery/evg/bin -o=evg_trace_cli.cpp -nodecli && g++ -O2 -std=c++17 -o gallery/evg/bin/evg_trace_cli gallery/evg/bin/evg_trace_cli.cpp",
845
+ "evg:trace:cli:rust": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -l=rust ./gallery/evg/tools/evg_trace_cli.rgr -d=./gallery/evg/bin -o=evg_trace_cli.rs -nodecli && rustc --edition 2021 -O -o gallery/evg/bin/evg_trace_cli_rust gallery/evg/bin/evg_trace_cli.rs",
846
+ "evg:trace:cli:rust:run": "./gallery/evg/bin/evg_trace_cli_rust",
847
+ "evg:trace:cli:smoke": "bash gallery/evg/tools/run_trace_cli_smoke.sh",
848
+ "evg:trace:web": "node gallery/evg/web/tracer/build.mjs",
849
+ "evg:trace:web:smoke": "node gallery/evg/web/tracer/smoke.mjs",
850
+ "evg:trace:web:serve": "node gallery/evg/web/tracer/build.mjs && python3 -m http.server -d gallery/evg/web/tracer/dist 8006",
851
+ "evg:responsive:check": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/web/responsive/EvgResponsiveCheck.rgr -d=./gallery/evg/bin -o=EvgResponsiveCheck.js -nodecli && node ./gallery/evg/bin/EvgResponsiveCheck.js",
852
+ "evg:responsive:web": "node gallery/evg/web/responsive/build.mjs",
853
+ "evg:dom:check": "node gallery/evg/web/responsive/dom-check.mjs",
854
+ "evg:responsive:web:smoke": "node gallery/evg/web/responsive/smoke.mjs",
855
+ "evg:responsive:web:serve": "node gallery/evg/web/responsive/build.mjs && python3 -m http.server -d gallery/evg/web/responsive/dist 8007",
856
+ "evg": "npm run evg:compile && npm run evg:run",
857
+ "evgpdf:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_pdf_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_pdf_tool.js -nodecli",
858
+ "evgpdf:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/pdf_writer/src/tools/evg_pdf_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_pdf_tool.go -nodecli",
859
+ "evgpdf:build:go": "npm run evgpdf:compile:go && cd gallery/pdf_writer/bin && go build -o evg_pdf_tool.exe evg_pdf_tool.go",
860
+ "evgpdf:run": "node ./gallery/pdf_writer/bin/evg_pdf_tool.js ./gallery/pdf_writer/examples/test_simple.tsx ./gallery/pdf_writer/output/pdfs/sample_output.pdf",
861
+ "evgpdf:test": "npm run evgpdf:compile && npm run evgpdf:run",
862
+ "evgpdf": "npm run evgpdf:compile && npm run evgpdf:run",
863
+ "evghtml:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_html_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_html_tool.js -nodecli",
864
+ "evghtml:run": "node ./gallery/pdf_writer/bin/evg_html_tool.js ./gallery/pdf_writer/examples/test_simple.tsx ./gallery/pdf_writer/output/html/sample_output.html",
865
+ "evghtml:test": "npm run evghtml:compile && npm run evghtml:run",
866
+ "evghtml": "npm run evghtml:compile && npm run evghtml:run",
867
+ "evgpreview:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/pdf_writer/src/tools/evg_preview_server.rgr -d=./gallery/pdf_writer/bin -o=evg_preview_server.go -nodecli",
868
+ "evgpreview:build": "npm run evgpreview:compile && cd gallery/pdf_writer/bin && go build -o evg_preview_server evg_preview_server.go",
869
+ "evgpreview:start": "./gallery/pdf_writer/bin/evg_preview_server",
870
+ "pdf-tool:module": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 -nodemodule ./gallery/pdf_writer/src/lib/ranger_pdf_tool.rgr -d=./gallery/pdf_writer/dist -o=ranger_pdf_tool.js",
871
+ "pdf-tool:cli:pdf": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_pdf_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_pdf_tool.js -nodecli",
872
+ "pdf-tool:cli:html": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_html_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_html_tool.js -nodecli",
873
+ "pdf-tool:cli:png": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_png_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_png_tool.js -nodecli",
874
+ "pdf-tool:server": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/lib/express_preview_server.rgr -d=./gallery/pdf_writer/bin -o=evg_preview_server.js -nodecli",
875
+ "pdf-tool:build": "npm run pdf-tool:module && npm run pdf-tool:cli:pdf && npm run pdf-tool:cli:html && npm run pdf-tool:server",
876
+ "evgpreview": "npm run evgpreview:build && npm run evgpreview:start",
877
+ "evgcomp:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_component_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_component_tool.js -nodecli",
878
+ "evgcomp:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/pdf_writer/src/tools/evg_component_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_component_tool.go -nodecli",
879
+ "evgcomp:build:go": "npm run evgcomp:compile:go && cd gallery/pdf_writer/bin && go build -o evg_component_tool.exe evg_component_tool.go",
880
+ "evgcomp:compile:rust": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=rust ./gallery/pdf_writer/src/tools/evg_component_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_component_tool.rs -nodecli",
881
+ "evgcomp:build:rust": "npm run evgcomp:compile:rust && cd gallery/pdf_writer/bin && rustc -O -o evg_component_tool_rust.exe evg_component_tool.rs",
882
+ "evgcomp:compile:cpp": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=cpp ./gallery/pdf_writer/src/tools/evg_component_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_component_tool.cpp -nodecli",
883
+ "evgcomp:build:cpp": "npm run evgcomp:compile:cpp && wsl x86_64-w64-mingw32-g++-posix -std=c++17 -static -O3 gallery/pdf_writer/bin/evg_component_tool.cpp -o gallery/pdf_writer/bin/evg_component_tool_cpp.exe",
884
+ "evgcomp:run": "node ./gallery/pdf_writer/bin/evg_component_tool.js ./gallery/pdf_writer/examples/test_component_simple.tsx ./gallery/pdf_writer/output/pdfs/component_output.pdf \"--assets=./gallery/pdf_writer/assets/fonts;./gallery/pdf_writer/examples/components\"",
885
+ "evgcomp:test": "npm run evgcomp:compile && npm run evgcomp:run",
886
+ "evgcomp": "npm run evgcomp:compile && npm run evgcomp:run",
887
+ "evg:tool:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_tool.js -nodecli",
888
+ "evg:tool:compile:go": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -l=go ./gallery/pdf_writer/src/tools/evg_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_tool.go -nodecli",
889
+ "evg:tool:build:go": "npm run evg:tool:compile:go && cd gallery/pdf_writer/bin && go build -o evg_tool evg_tool.go",
890
+ "evg:tool:run": "node ./gallery/pdf_writer/bin/evg_tool.js",
891
+ "evg:tool": "npm run evg:tool:compile && npm run evg:tool:run",
892
+ "font:compile": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/font_test.rgr -d=./gallery/pdf_writer/bin -o=font_test.js -nodecli",
893
+ "font:run": "node ./gallery/pdf_writer/bin/font_test.js",
894
+ "font": "npm run font:compile && npm run font:run",
895
+ "test:evg": "bash gallery/game_engine/v2/evg/run.sh",
896
+ "test:evg:fonts": "bash gallery/pdf_writer/test/run_fonts.sh",
897
+ "test:evg:frontend": "bash gallery/pdf_writer/test/run_print.sh",
898
+ "test:evg:vector": "bash gallery/pdf_writer/test/run_vector.sh",
899
+ "test:evg:all": "npm run test:evg && npm run test:evg:fonts && npm run test:evg:layout && npm run test:evg:frontend && npm run test:evg:vector",
900
+ "showcase": "node gallery/evg/showcase/build.mjs",
901
+ "showcase:gl": "node gallery/evg/showcase/tests/gl_smoke.mjs",
902
+ "showcase:api": "node gallery/evg/showcase/tests/chart_api_smoke.mjs",
903
+ "evg:displaylist": "cross-env RANGER_LIB=./compiler/Lang.rgr node bin/output.js -es6 ./gallery/pdf_writer/src/tools/evg_displaylist_tool.rgr -d=./gallery/pdf_writer/bin -o=evg_displaylist_tool.js -nodecli && node ./gallery/pdf_writer/bin/evg_displaylist_tool.js",
904
+ "check:stack": "node gallery/game_engine/build-support/check-stack-headroom.mjs",
905
+ "test:evg:layout": "bash gallery/pdf_writer/test/run_layout.sh",
906
+ "selfhost:compile:llvm": "bash scripts/selfhost-llvm.sh",
907
+ "selfhost:check:llvm": "bash scripts/selfhost-llvm.sh verify",
908
+ "selfhost:build:llvm": "bash scripts/selfhost-llvm.sh build",
909
+ "selfhost:round:llvm": "bash scripts/selfhost-llvm.sh round",
910
+ "test:core": "vitest run --config tests/vitest.core.config.ts",
911
+ "esprobes:gen": "node scripts/gen-es-conformance-probes.cjs",
912
+ "test:esconformance": "vitest run --config tests/vitest.esconformance.config.ts",
913
+ "datagrid:sdl": "bash gallery/datagrid/platform/sdl/build.sh",
914
+ "datagrid:sdl:run": "bash gallery/datagrid/platform/sdl/build.sh --run",
915
+ "datagrid:sdl:a11y": "bash gallery/datagrid/platform/sdl/build.sh && SDL_VIDEODRIVER=dummy ./tmp/datagrid-sdl/datagrid_sdl gallery/datagrid/fixtures/business-workbook.xlsx 2 --a11y",
916
+ "datagrid:sdl:smoke": "bash gallery/datagrid/platform/sdl/build.sh && SDL_VIDEODRIVER=dummy ./tmp/datagrid-sdl/datagrid_sdl gallery/datagrid/fixtures/sales.xlsx 20 --save",
917
+ "datagrid:save:bench": "bash scripts/rgr-suite.sh ./gallery/datagrid/bench/save_bench.rgr ./gallery/datagrid/bin save_bench.js",
918
+ "datagrid:save:test": "bash gallery/datagrid/tools/run_save_speed_test.sh",
919
+ "ooxml:text:test": "bash gallery/ooxml/tools/run_text_test.sh",
920
+ "ooxml:package:test": "bash gallery/ooxml/tools/run_package_test.sh",
921
+ "ooxml:opc:test": "bash gallery/ooxml/tools/run_opc_test.sh",
922
+ "odf:package:test": "bash gallery/odf/tools/run_package_test.sh",
923
+ "odp:test": "bash gallery/odp/tools/run_test.sh",
924
+ "office:font:test": "bash gallery/office/text/tools/run_font_test.sh",
925
+ "office:measure:targets": "bash gallery/office/text/tools/run_measure_targets.sh",
926
+ "office:metrics:test": "bash gallery/office/text/tools/run_metrics_test.sh",
927
+ "office:style:test": "bash gallery/office/text/tools/run_style_test.sh",
928
+ "office:bidi:test": "bash gallery/office/text/tools/run_bidi_test.sh",
929
+ "office:arabic:test": "bash gallery/office/text/tools/run_arabic_test.sh",
930
+ "office:shapes:native": "bash gallery/office/geom/tools/run_shapes_native.sh",
931
+ "office:emoji:build": "bash scripts/rgr-suite.sh ./gallery/office/geom/tools/emoji_shapes.rgr ./gallery/office/bin emoji_shapes.js",
932
+ "office:shapes:sheet": "bash scripts/rgr-suite.sh ./gallery/office/geom/tools/shape_sheet.rgr ./gallery/office/bin shape_sheet.js",
933
+ "office:shapes:test": "bash scripts/rgr-suite.sh ./gallery/office/geom/tests/OfficeShapeCatalogTest.rgr ./gallery/office/bin OfficeShapeCatalogTest.js",
934
+ "office:geom:test": "bash gallery/office/geom/tools/run_geom_test.sh",
935
+ "office:text:test": "bash gallery/office/text/tools/run_text_test.sh",
936
+ "office:rtl:editors:test": "bash scripts/rgr-suite.sh ./gallery/office/text/tests/OfficeRtlEditorsTest.rgr ./gallery/office/text/bin OfficeRtlEditorsTest.js",
937
+ "office:rtl:switch:test": "bash scripts/rgr-suite.sh ./gallery/office/text/tests/OfficeRtlSwitchTest.rgr ./gallery/office/text/bin OfficeRtlSwitchTest.js",
938
+ "office:rtl:props:test": "bash scripts/rgr-suite.sh ./gallery/office/text/tests/OfficeRtlPropsTest.rgr ./gallery/office/text/bin OfficeRtlPropsTest.js",
939
+ "office:color:test": "bash gallery/office/drawing/tools/run_color_test.sh",
940
+ "office:history:test": "bash gallery/office/editor/tools/run_history_test.sh",
941
+ "office:asset:test": "bash gallery/office/assets/tools/run_asset_test.sh",
942
+ "gallery:editors:test": "bash scripts/run-gallery-editor-tests.sh",
943
+ "docx_viewer:load:test": "bash gallery/docx_viewer/tools/run_load_test.sh",
944
+ "lang:string:test": "bash tests/lang/run_string_test.sh",
945
+ "datagrid:tables:test": "bash gallery/datagrid/tools/run_tables_test.sh",
946
+ "datagrid:softclip:test": "bash gallery/datagrid/tools/run_soft_clip_test.sh",
947
+ "datagrid:sheets:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/SheetTabTest.rgr ./gallery/datagrid/bin SheetTabTest.js",
948
+ "datagrid:border:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/BorderRenderTest.rgr ./gallery/datagrid/bin BorderRenderTest.js",
949
+ "datagrid:overflow:test": "bash scripts/rgr-suite.sh ./gallery/datagrid/tests/OverflowRenderTest.rgr ./gallery/datagrid/bin OverflowRenderTest.js",
950
+ "ui:menubar": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/ui/demo/MenubarDemo.rgr -d=./gallery/ui/bin -o=MenubarDemo.js -nodecli && node ./gallery/ui/bin/MenubarDemo.js",
951
+ "ui:menubar:png": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/MenubarDemo.rgr -d=./gallery/ui/bin -o=MenubarDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/ToolbarDemo.rgr -d=./gallery/ui/bin -o=ToolbarDemo.cjs && node gallery/ui/demo/render.mjs",
952
+ "ui:menubar:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/MenubarDemo.rgr -d=./gallery/ui/bin -o=MenubarDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/ToolbarDemo.rgr -d=./gallery/ui/bin -o=ToolbarDemo.cjs",
953
+ "ui:android": "bash gallery/ui/android/scripts/build-app.sh debug",
954
+ "ui:android:ranger": "bash gallery/ui/android/scripts/build-ranger.sh",
955
+ "ui:android:assets": "bash gallery/ui/android/scripts/prepare-assets.sh",
956
+ "ui:android:verify": "bash gallery/ui/android/scripts/verify-desktop.sh",
957
+ "ui:android:run": "bash gallery/ui/android/scripts/run-emulator.sh",
958
+ "ui:android:typecheck": "bash gallery/ui/android/scripts/typecheck-host.sh",
959
+ "ui:ios": "bash gallery/ui/ios/scripts/build-app.sh",
960
+ "ui:ios:run": "bash gallery/ui/ios/scripts/build-app.sh --run",
961
+ "ui:ios:device": "bash gallery/ui/ios/scripts/build-app.sh --target=ios-device --run",
962
+ "ui:ios:device:console": "bash gallery/ui/ios/scripts/build-app.sh --target=ios-device --run --console",
963
+ "ui:ios:watch": "bash gallery/ui/ios/scripts/build-app.sh --target=watchos-simulator --run",
964
+ "ui:ios:check": "bash gallery/ui/ios/scripts/build-app.sh --check",
965
+ "ui:ios:doctor": "bash gallery/ui/ios/scripts/build-app.sh --doctor",
966
+ "ui:ios:plan": "bash gallery/ui/ios/scripts/build-app.sh --dry-run",
967
+ "ui:ios:verify": "bash gallery/ui/ios/scripts/verify.sh",
968
+ "ui:ios:smoke": "bash gallery/ui/ios/scripts/smoke.sh",
969
+ "ui:ios:ranger": "bash gallery/ui/ios/scripts/build-ranger.sh",
970
+ "apple:test": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./lib/apple/apple_test.rgr -nodecli -d=./tmp -o=apple_test.js && node tmp/apple_test.js",
971
+ "shell:test": "cross-env RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./lib/shell_test.rgr -nodecli -d=./tmp -o=shell_test.js && node tmp/shell_test.js",
972
+ "ui:menubar:web": "npm run ui:web",
973
+ "ui:demo:page": "npm run ui:demo:build --silent && node gallery/ui/demo/build.mjs && node gallery/ui/demo/page-check.mjs",
974
+ "ui:input:bench": "npm run ui:demo:build --silent && node gallery/ui/demo/build.mjs && node gallery/ui/demo/input-bench.mjs",
975
+ "ui:input:bench:record": "npm run ui:demo:build --silent && node gallery/ui/demo/build.mjs && node gallery/ui/demo/input-bench.mjs --record",
976
+ "ui:demo:frame": "npm run ui:demo:build --silent && node gallery/ui/demo/ripple-frame-check.mjs",
977
+ "ui:demo:a11y": "npm run ui:demo:build && node gallery/ui/demo/a11y.mjs",
978
+ "ui:demo:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/FilterDemo.rgr -d=./gallery/ui/bin -o=FilterDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/EventCalDemo.rgr -d=./gallery/ui/bin -o=EventCalDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/MessageDemo.rgr -d=./gallery/ui/bin -o=MessageDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/ControlsDemo.rgr -d=./gallery/ui/bin -o=ControlsDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/MenubarDemo.rgr -d=./gallery/ui/bin -o=MenubarDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/ToolbarDemo.rgr -d=./gallery/ui/bin -o=ToolbarDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/SortableDemo.rgr -d=./gallery/ui/bin -o=SortableDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/MotionDemo.rgr -d=./gallery/ui/bin -o=MotionDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/TableDemo.rgr -d=./gallery/ui/bin -o=TableDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/DropdownDemo.rgr -d=./gallery/ui/bin -o=DropdownDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/DialogDemo.rgr -d=./gallery/ui/bin -o=DialogDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/TreeDemo.rgr -d=./gallery/ui/bin -o=TreeDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/TimelineDemo.rgr -d=./gallery/ui/bin -o=TimelineDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/ResizeDemo.rgr -d=./gallery/ui/bin -o=ResizeDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/FormDemo.rgr -d=./gallery/ui/bin -o=FormDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/ProfileDemo.rgr -d=./gallery/ui/bin -o=ProfileDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/DashboardDemo.rgr -d=./gallery/ui/bin -o=DashboardDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/CalendarDemo.rgr -d=./gallery/ui/bin -o=CalendarDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/OtpDemo.rgr -d=./gallery/ui/bin -o=OtpDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/MetadataDemo.rgr -d=./gallery/ui/bin -o=MetadataDemo.cjs",
979
+ "ui:sortable": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/ui/demo/SortableDemo.rgr -d=./gallery/ui/bin -o=SortableDemo.js -nodecli && node ./gallery/ui/bin/SortableDemo.js",
980
+ "ui:toolbar": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/ui/demo/ToolbarDemo.rgr -d=./gallery/ui/bin -o=ToolbarDemo.js -nodecli && node ./gallery/ui/bin/ToolbarDemo.js",
981
+ "ui:sortable:png": "npm run ui:demo:build && DEMO=sortable node gallery/ui/demo/render.mjs gallery/ui/demo/sortable.png",
982
+ "ui:toolbar:png": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/MenubarDemo.rgr -d=./gallery/ui/bin -o=MenubarDemo.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/ui/demo/ToolbarDemo.rgr -d=./gallery/ui/bin -o=ToolbarDemo.cjs && DEMO=toolbar node gallery/ui/demo/render.mjs",
983
+ "ui:demo:web": "npm run ui:web",
984
+ "evg:flexgrow:oracle": "node gallery/ui/conformance/oracle/flexgrow_oracle.mjs",
985
+ "evg:flexgrow:check": "npm run ui:demo:build --silent && node gallery/ui/conformance/oracle/flexgrow_check.mjs",
986
+ "evg:pctflex:oracle": "node gallery/ui/conformance/oracle/pctflex_oracle.mjs",
987
+ "evg:pctflex:check": "npm run ui:demo:build --silent && node gallery/ui/conformance/oracle/pctflex_check.mjs",
988
+ "ui:layout:check": "npm run ui:demo:build --silent && node gallery/ui/demo/layout-check.mjs",
989
+ "ui:layout:record": "npm run ui:demo:build --silent && node gallery/ui/demo/layout-check.mjs --record",
990
+ "compiler:issue76:check": "node tests/compiler-issue-76-check.mjs",
991
+ "evg:icons:dump": "mkdir -p tmp/icons/trace && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/evg/tools/icon_trace_dump.rgr -d=./gallery/evg/bin -o=icon_trace_dump.js -nodecli && node ./gallery/evg/bin/icon_trace_dump.js",
992
+ "pptx:seam:test": "bash scripts/rgr-suite.sh ./gallery/pptx/tests/PptxSeamTest.rgr ./gallery/pptx/bin PptxSeamTest.js",
993
+ "pptx:seam:scan": "node gallery/pptx/tools/seam_scan.mjs",
994
+ "evg:color:oracle": "node gallery/ui/conformance/oracle/color_oracle.mjs",
995
+ "evg:color:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/color_check.mjs",
996
+ "evg:advance:oracle": "node gallery/ui/conformance/oracle/advance_oracle.mjs",
997
+ "evg:advance:check": "npm run ui:build --silent && node gallery/ui/conformance/oracle/advance_check.mjs",
998
+ "rt:parser:sync": "node gallery/realtrainer/scripts/sync-parser.mjs",
999
+ "rt:parser:check": "node gallery/realtrainer/scripts/sync-parser.mjs --check",
1000
+ "mfiles:vault:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/mfiles/tests/VaultTest.rgr -d=./gallery/mfiles/bin -o=VaultTest.js -nodecli && node ./gallery/mfiles/bin/VaultTest.js",
1001
+ "mfiles:grpc:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/mfiles/tests/GrpcTest.rgr -d=./gallery/mfiles/bin -o=GrpcTest.js -nodecli && node ./gallery/mfiles/bin/GrpcTest.js",
1002
+ "mfiles:engine:test": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/mfiles/tests/EngineSmoke.rgr -d=./gallery/mfiles/bin -o=EngineSmoke.js -nodecli && node ./gallery/mfiles/bin/EngineSmoke.js",
1003
+ "mfiles:uix:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/mfiles/src/uix/MfUixHost.rgr -d=./gallery/mfiles/bin -o=MfUixHost.cjs",
1004
+ "mfiles:uix:test": "npm run mfiles:uix:build --silent && node gallery/mfiles/tests/uix-check.mjs",
1005
+ "mfiles:bench": "npm run mfiles:uix:build --silent && node gallery/mfiles/tests/uix-bench.mjs",
1006
+ "mfiles:test": "npm run mfiles:vault:test --silent && npm run mfiles:grpc:test --silent && npm run mfiles:engine:test --silent && npm run mfiles:uix:test --silent && npm run mfiles:web:check --silent",
1007
+ "mfiles:web:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/mfiles/web/MfilesApp.rgr -d=./gallery/mfiles/bin -o=MfilesApp.cjs",
1008
+ "mfiles:web:check": "npm run mfiles:web:build --silent && node gallery/mfiles/tests/app-check.mjs",
1009
+ "mfiles:web:page": "npm run mfiles:web:build --silent && node gallery/mfiles/web/build.mjs",
1010
+ "mfiles:web": "npm run mfiles:web:page --silent && node gallery/mfiles/web/serve.mjs",
1011
+ "firesim:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/firesim/src/FsSimBridge.rgr -d=./gallery/firesim/bin -o=FsSimBridge.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/firesim/src/FsClient.rgr -d=./gallery/firesim/bin -o=FsClient.cjs",
1012
+ "firesim:test": "npm run firesim:build --silent && node gallery/firesim/tests/firesim-check.mjs",
1013
+ "firesim:targets": "node gallery/firesim/tests/targets-check.mjs",
1014
+ "firesim:size": "npm run firesim:build --silent && node gallery/firesim/tests/size-check.mjs",
1015
+ "firesim:realtrainer": "npm run firesim:build --silent && npm run rt:build --silent && node gallery/firesim/tests/realtrainer-check.mjs",
1016
+ "firesim:demo:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/firesim/demo/FiresimConsole.rgr -d=./gallery/firesim/bin -o=FiresimConsole.cjs",
1017
+ "firesim:demo": "npm run firesim:demo:build --silent && node gallery/firesim/tests/console-check.mjs",
1018
+ "firesim:demo:page": "npm run firesim:demo:build --silent && node gallery/firesim/demo/build.mjs",
1019
+ "firesim:demo:frame": "npm run firesim:demo:page --silent && node gallery/firesim/tests/page-render-check.mjs",
1020
+ "firesim:demo:shots": "npm run firesim:demo:page --silent && node gallery/firesim/tests/page-render-check.mjs --shots gallery/firesim/demo/shots",
1021
+ "firesim:demo:web": "npm run firesim:demo:page --silent && node gallery/firesim/demo/serve.mjs",
1022
+ "firesim:serve": "npm run firesim:build --silent && node gallery/firesim/host/serve.mjs",
1023
+ "rt:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr:./lib node bin/output.js -es6 -nodemodule ./gallery/realtrainer/src/RtHost.rgr -d=./gallery/realtrainer/bin -o=RealTrainerDemo.cjs",
1024
+ "rt:compact:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/realtrainer/src/CompactRows.rgr -d=./gallery/realtrainer/bin -o=CompactRows.cjs",
1025
+ "statechart:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/statechart/src/Statechart.rgr -d=./gallery/statechart/bin -o=Statechart.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/statechart/src/StatechartJson.rgr -d=./gallery/statechart/bin -o=StatechartJson.cjs",
1026
+ "statechart:viz:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 ./gallery/statechart/demo/statechart_viz.rgr -d=./gallery/statechart/bin -o=statechart_viz.js -nodecli",
1027
+ "statechart:viz": "npm run statechart:viz:build --silent && node ./gallery/statechart/bin/statechart_viz.js",
1028
+ "statechart:parity": "npm run statechart:build --silent && node gallery/statechart/tests/xstate-parity.mjs",
1029
+ "statechart:viz:check": "npm run statechart:viz:build --silent && node gallery/statechart/tests/viz-check.mjs",
1030
+ "statechart:test": "npm run statechart:parity --silent && npm run statechart:viz:check --silent",
1031
+ "rt:machine:build": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/statechart/src/Statechart.rgr -d=./gallery/statechart/bin -o=Statechart.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/realtrainer/src/AddWorkoutDialog.rgr -d=./gallery/realtrainer/bin -o=AddWorkoutDialog.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/realtrainer/src/AddWorkoutChart.rgr -d=./gallery/realtrainer/bin -o=AddWorkoutChart.cjs && RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr node bin/output.js -es6 -nodemodule ./gallery/statechart/src/StatechartJson.rgr -d=./gallery/statechart/bin -o=StatechartJson.cjs",
1032
+ "rt:machine": "npm run rt:machine:build --silent && node gallery/realtrainer/web/machine-check.mjs",
1033
+ "rt:machine:live": "npm run statechart:build --silent && node gallery/statechart/tests/xstate-parity.mjs --manifest gallery/realtrainer/fixtures/machines/manifest.mjs",
1034
+ "rt:machine:config": "node gallery/realtrainer/scripts/check-machine-config.mjs",
1035
+ "rt:bench": "npm run rt:build --silent && node gallery/realtrainer/web/bench.mjs",
1036
+ "evg:a11y:paint": "node gallery/evg/gl/a11y-paint-check.mjs",
1037
+ "rt:add": "npm run rt:build --silent && node gallery/realtrainer/web/add-check.mjs",
1038
+ "rt:scroll": "npm run rt:build --silent && node gallery/realtrainer/web/scroll-check.mjs",
1039
+ "rt:theme": "npm run rt:build --silent && node gallery/realtrainer/web/theme-check.mjs",
1040
+ "rt:clock": "npm run rt:build --silent && node gallery/realtrainer/web/clock-check.mjs",
1041
+ "rt:keys": "npm run rt:build --silent && node gallery/realtrainer/web/keys-check.mjs",
1042
+ "rt:svg": "npm run rt:build --silent && node gallery/realtrainer/web/shot-svg.mjs --themes",
1043
+ "rt:trace": "npm run rt:build --silent && node gallery/realtrainer/web/trace-check.mjs",
1044
+ "rt:trace:record": "npm run rt:build --silent && node gallery/realtrainer/web/trace-check.mjs --record",
1045
+ "rt:trace:diff": "node gallery/realtrainer/web/trace-diff.mjs",
1046
+ "rt:trace:reference": "node gallery/realtrainer/scripts/record-reference-trace.mjs",
1047
+ "rt:compact": "npm run rt:compact:build --silent && node gallery/realtrainer/web/compact-check.mjs",
1048
+ "rt:l0": "npm run rt:compact:build --silent && node gallery/realtrainer/web/l0-check.mjs",
1049
+ "rt:l0:record": "npm run rt:compact:build --silent && node gallery/realtrainer/oracle/record.mjs",
1050
+ "rt:coverage": "npm run rt:compact:build --silent && node gallery/realtrainer/scripts/coverage.mjs",
1051
+ "rt:coverage:check": "npm run rt:compact:build --silent && node gallery/realtrainer/scripts/coverage.mjs --check",
1052
+ "rt:check": "npm run rt:build --silent && node gallery/realtrainer/web/loader-check.mjs",
1053
+ "rt:evg": "RANGER_LIB=./compiler/Lang.rgr:./lib/stdops.rgr:./lib node bin/output.js -es6 ./gallery/realtrainer/src/rt_evg_dump.rgr -d=./gallery/realtrainer/bin -o=rt_evg_dump.js -nodecli && node ./gallery/realtrainer/bin/rt_evg_dump.js",
1054
+ "rt:fig": "npm run --silent rt:evg -- / gallery/realtrainer/out/home.evg.json && npm run --silent rt:evg -- rt-nav-calendar gallery/realtrainer/out/calendar.evg.json && npm run --silent rt:evg -- rt-nav-dashboard gallery/realtrainer/out/dashboard.evg.json && npm run --silent rt:evg -- rt-nav-chat gallery/realtrainer/out/chat.evg.json && npm run --silent figma:cli:build && node gallery/figma/bin/fig_cli.js pack gallery/realtrainer/out/realtrainer.fig 430 932 gallery/realtrainer/out/home.evg.json gallery/realtrainer/out/calendar.evg.json gallery/realtrainer/out/dashboard.evg.json gallery/realtrainer/out/chat.evg.json",
1055
+ "rt:page": "npm run rt:build --silent && node gallery/realtrainer/web/build.mjs",
1056
+ "rt:dom": "npm run rt:page --silent && node gallery/realtrainer/web/dom-check.mjs",
1057
+ "rt:shot:sync": "npm run rt:build --silent && node gallery/realtrainer/web/snapshot.mjs",
1058
+ "rt:shot:check": "npm run rt:build --silent && node gallery/realtrainer/web/snapshot.mjs --check",
1059
+ "rt:shell": "npm run rt:page --silent && node gallery/realtrainer/web/shell-check.mjs",
1060
+ "rt:boot": "npm run rt:page --silent && node gallery/evg/web/tools/boot-bench.mjs --url gallery/realtrainer/web/index.html --variant 'engine on this thread=?engine=main' --variant 'engine in a Worker=?engine=worker'",
1061
+ "rt:shaken": "npm run rt:page --silent && node gallery/realtrainer/web/shaken-check.mjs",
1062
+ "rt:sheet": "npm run rt:build --silent && node gallery/realtrainer/web/sheet-check.mjs",
1063
+ "rt:split": "npm run rt:page --silent && node gallery/realtrainer/web/split-check.mjs",
1064
+ "hosts:verify": "bash gallery/realtrainer/ios/scripts/verify.sh && bash gallery/realtrainer/android/scripts/verify.sh && bash gallery/ui/ios/scripts/verify.sh",
1065
+ "rt:node": "npm run rt:build --silent && node gallery/realtrainer/web/loader-check.mjs && node gallery/realtrainer/web/add-check.mjs && node gallery/realtrainer/web/scroll-check.mjs && node gallery/realtrainer/web/theme-check.mjs && node gallery/realtrainer/web/clock-check.mjs && node gallery/realtrainer/web/keys-check.mjs && node gallery/realtrainer/web/sheet-check.mjs",
1066
+ "rt:frame": "npm run rt:page --silent && node gallery/realtrainer/web/frame-check.mjs && node gallery/realtrainer/web/frame-check.mjs --engine worker",
1067
+ "rt:shots": "npm run rt:page --silent && node gallery/realtrainer/web/frame-check.mjs --png gallery/realtrainer/web/shots/realtrainer.png",
1068
+ "rt:web": "npm run rt:page --silent && node gallery/realtrainer/web/serve.mjs",
1069
+ "rt:ios": "bash gallery/realtrainer/ios/scripts/build-app.sh",
1070
+ "rt:ios:run": "bash gallery/realtrainer/ios/scripts/build-app.sh --run",
1071
+ "rt:ios:device": "bash gallery/realtrainer/ios/scripts/build-app.sh --target=ios-device --run",
1072
+ "rt:ios:device:console": "bash gallery/realtrainer/ios/scripts/build-app.sh --target=ios-device --run --console",
1073
+ "rt:ios:check": "bash gallery/realtrainer/ios/scripts/build-app.sh --check",
1074
+ "rt:ios:plan": "bash gallery/realtrainer/ios/scripts/build-app.sh --dry-run",
1075
+ "rt:ios:verify": "bash gallery/realtrainer/ios/scripts/verify.sh",
1076
+ "rt:ios:swift": "bash gallery/realtrainer/ios/scripts/build-ranger.sh",
1077
+ "rt:android": "bash gallery/realtrainer/android/scripts/build-app.sh debug",
1078
+ "rt:android:run": "bash gallery/realtrainer/android/scripts/run-emulator.sh",
1079
+ "rt:android:ranger": "bash gallery/realtrainer/android/scripts/build-ranger.sh",
1080
+ "rt:android:assets": "bash gallery/realtrainer/android/scripts/prepare-assets.sh",
1081
+ "rt:android:verify": "bash gallery/realtrainer/android/scripts/verify.sh",
1082
+ "rt:android:desktop": "bash gallery/realtrainer/android/scripts/verify-desktop.sh",
1083
+ "rt:android:typecheck": "bash gallery/realtrainer/android/scripts/typecheck-host.sh",
1084
+ "rt:sdl": "bash gallery/realtrainer/platform/sdl/build.sh",
1085
+ "rt:sdl:ranger": "bash gallery/realtrainer/platform/sdl/build.sh --ranger",
1086
+ "rt:sdl:run": "bash gallery/realtrainer/platform/sdl/build.sh --run",
1087
+ "rt:sdl:smoke": "bash gallery/realtrainer/platform/sdl/build.sh && SDL_VIDEODRIVER=dummy ./tmp/rt-sdl/rt_sdl --frames 30 --today 2026-02-09"
1088
+ },
1089
+ "repository": {
1090
+ "type": "git",
1091
+ "url": "git+https://github.com/terotests/Ranger.git"
1092
+ },
1093
+ "keywords": [
1094
+ "Compiler"
1095
+ ],
1096
+ "author": "Tero Tolonen",
1097
+ "license": "MIT",
1098
+ "bugs": {
1099
+ "url": "https://github.com/terotests/Ranger/issues"
1100
+ },
1101
+ "homepage": "https://github.com/terotests/Ranger#readme",
1102
+ "devDependencies": {
1103
+ "@types/node": "^22.19.2",
1104
+ "cross-env": "^10.1.0",
1105
+ "openfig-core": "^0.4.1",
1106
+ "playwright-core": "^1.62.1",
1107
+ "typescript": "^5.9.3",
1108
+ "vitest": "^3.2.7",
1109
+ "wabt": "^1.0.39"
1110
+ },
1111
+ "overrides": {
1112
+ "vite": "^6.4.3",
1113
+ "esbuild": "^0.25.0",
1114
+ "rollup": "^4.59.0",
1115
+ "postcss": "^8.5.23",
1116
+ "nanoid": "^3.3.17"
1117
+ },
1118
+ "optionalDependencies": {
1119
+ "@duckdb/node-api": "^1.5.5-r.4"
1120
+ }
1121
+ }