lecodes-cli 2.4.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -64,7 +64,7 @@ var package_default;
64
64
  var init_package = __esm(() => {
65
65
  package_default = {
66
66
  name: "lecodes-cli",
67
- version: "2.4.0",
67
+ version: "2.4.1",
68
68
  dependencies: {
69
69
  "@letary/chisel": "^0.15.0",
70
70
  jimp: "^1.6.1",
@@ -88,7 +88,7 @@ var init_package = __esm(() => {
88
88
  },
89
89
  peerDependencies: {
90
90
  "lecodes-design": "^0.11.0",
91
- "lecodes-headless": "^2.4.0",
91
+ "lecodes-headless": "^2.4.1",
92
92
  "lecodes-3d-editor": "^0.9.0",
93
93
  "lecodes-assets": "^0.2.1",
94
94
  "heic-decode": "^2.1.0",
@@ -158,7 +158,7 @@ var init_package = __esm(() => {
158
158
  });
159
159
 
160
160
  // ../../sdk/src/version.ts
161
- var SDK_VERSION = "2.4.0";
161
+ var SDK_VERSION = "2.4.1";
162
162
 
163
163
  // src/cli/args.ts
164
164
  var isNegativeNumber = (s) => /^-(\d|\.\d)/.test(s), isValue = (s) => !s.startsWith("-") || isNegativeNumber(s), parseArgv = (argv, booleans = new Set) => {
@@ -171004,6 +171004,7 @@ var extractMatBlocks = (text) => {
171004
171004
  culling: "back",
171005
171005
  depthWrite: true,
171006
171006
  shadowMultiplier: false,
171007
+ flipUV: true,
171007
171008
  params: [],
171008
171009
  samplers: [],
171009
171010
  fragmentCode: "",
@@ -171056,6 +171057,7 @@ var extractMatBlocks = (text) => {
171056
171057
  culling,
171057
171058
  depthWrite,
171058
171059
  shadowMultiplier: def.shadowMultiplier === true,
171060
+ flipUV: def.flipUV !== false,
171059
171061
  params,
171060
171062
  samplers,
171061
171063
  fragmentCode,
@@ -228253,6 +228255,7 @@ init_browserAuth();
228253
228255
  init_cli();
228254
228256
 
228255
228257
  // src/web/build.ts
228258
+ init_compile();
228256
228259
  import { createHash as createHash9 } from "node:crypto";
228257
228260
  import { copyFileSync as copyFileSync2, cpSync as cpSync6, existsSync as existsSync53, mkdirSync as mkdirSync34, readFileSync as readFileSync42, readdirSync as readdirSync24, rmSync as rmSync17, statSync as statSync20, writeFileSync as writeFileSync36 } from "node:fs";
228258
228261
  import { dirname as dirname27, extname as extname2, join as join56, resolve as resolve35 } from "node:path";
@@ -228288,14 +228291,21 @@ var buildWeb = async (options) => {
228288
228291
  const base = normalBase(config.base);
228289
228292
  const warnings = [];
228290
228293
  const assetUrl = (path) => "assets" + encodeURI(path);
228291
- const collected = collectLocalEntries(root, manifest, "assets");
228294
+ const collected = collectLocalEntries(root, manifest, "assets", { localShaders: true });
228292
228295
  const entries = collected.entries.filter((e) => {
228293
228296
  const abs = e.absPath ? resolve35(e.absPath) : null;
228294
228297
  return !(abs && (abs === out || abs.startsWith(out + "\\") || abs.startsWith(out + "/")));
228295
228298
  });
228296
- for (const w of collected.warnings)
228297
- if (!/shaders compile on the server/.test(w))
228298
- warnings.push(w);
228299
+ warnings.push(...collected.warnings);
228300
+ const shaders = new Map;
228301
+ for (const entry of entries) {
228302
+ if (entry.type !== "shader" || !entry.absPath)
228303
+ continue;
228304
+ const text = readFileSync42(entry.absPath, "utf8");
228305
+ const hash = createHash9("sha256").update(text).digest("hex").slice(0, 16);
228306
+ shaders.set(hash, JSON.stringify(buildLiteMaterialArtifact(text)));
228307
+ entry.shaders = [{ platform: "opengl", src: `shaders/${hash}_opengl.filamat` }];
228308
+ }
228299
228309
  const fontsHeader = await applyProjectFonts(entries, {
228300
228310
  mode: "vendor",
228301
228311
  root,
@@ -228381,6 +228391,12 @@ var buildWeb = async (options) => {
228381
228391
  mkdirSync34(dirname27(to), { recursive: true });
228382
228392
  copyFileSync2(entry.absPath, to);
228383
228393
  }
228394
+ for (const [hash, artifact] of shaders) {
228395
+ if (!js.includes(`shaders/${hash}_`))
228396
+ continue;
228397
+ mkdirSync34(join56(out, "shaders"), { recursive: true });
228398
+ writeFileSync36(join56(out, "shaders", `${hash}_webgl-lite.filamat`), artifact);
228399
+ }
228384
228400
  const app = readAppConfigAt(root);
228385
228401
  let html = readFileSync42(join56(lite, "index.html"), "utf8");
228386
228402
  const head = [];
package/package.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "name": "lecodes-cli",
3
- "version": "2.4.0",
3
+ "version": "2.4.1",
4
4
  "dependencies": {
5
5
  "@letary/chisel": "^0.15.0",
6
6
  "jimp": "^1.6.1",
7
- "lecodes-sdk": "2.4.0"
7
+ "lecodes-sdk": "2.4.1"
8
8
  },
9
9
  "devDependencies": {
10
10
  "lecodes-design": "https://storage.yandexcloud.net/le-codes/releases/packages/lecodes-design/lecodes-design-0.11.0.tgz",
11
- "lecodes-headless": "2.4.0",
11
+ "lecodes-headless": "2.4.1",
12
12
  "qrcode-terminal": "^0.12.0",
13
13
  "lecodes-3d-editor": "https://storage.yandexcloud.net/le-codes/releases/packages/lecodes-3d-editor/lecodes-3d-editor-0.9.0.tgz",
14
14
  "lecodes-assets": "0.2.1",
15
15
  "lecodes-creator-nav": "0.19.0",
16
- "lecodes-gl-lite": "2.4.0",
17
- "lecodes-web-frame": "2.4.0",
18
- "lecodes-web-player": "2.4.0",
19
- "lecodes-web-shared": "2.4.0",
16
+ "lecodes-gl-lite": "2.4.1",
17
+ "lecodes-web-frame": "2.4.1",
18
+ "lecodes-web-player": "2.4.1",
19
+ "lecodes-web-shared": "2.4.1",
20
20
  "lecodes-web-lite": "2.0.2",
21
21
  "heic-decode": "^2.1.0",
22
22
  "marcidb-embedded": "^0.15.0",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "peerDependencies": {
26
26
  "lecodes-design": "^0.11.0",
27
- "lecodes-headless": "^2.4.0",
27
+ "lecodes-headless": "^2.4.1",
28
28
  "lecodes-3d-editor": "^0.9.0",
29
29
  "lecodes-assets": "^0.2.1",
30
30
  "heic-decode": "^2.1.0",