feat(web): add audio speaker and particle authoring
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-08-29 06:30:42 +08:00
parent 81113159dc
commit 43d0c437bb
44 changed files with 2228 additions and 54 deletions

View File

@@ -4,7 +4,7 @@ import path from "node:path";
import { fileURLToPath } from "node:url";
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
const ids = ["WBV2-P24-003", "WBV2-P25-000", "WBV2-P25-001", "WBV2-P25-002", "WBV2-P25-003", "WBV2-P25-004", "WBV2-P25-005", "WBV2-P25-006", "WBV2-P25-007", "WBV2-P25-008", "WBV2-P26-000", "WBV2-P26-001", "WBV2-P26-002", "WBV2-P26-003", "WBV2-P26-004", "WBV2-P26-005", "WBV2-P26-006", "WBV2-P27-000", "WBV2-P27-001", "WBV2-P27-002", "WBV2-P28-000", "WBV2-P28-001", "WBV2-P28-002", "WBV2-P28-003", "WBV2-P28-004", "WBV2-P28-005", "WBV2-P29-000", "WBV2-P29-001", "WBV2-P29-002", "WBV2-P29-003", "WBV2-P29-004", "WBV2-P30-000", "WBV2-P30-001", "WBV2-P30-002", "WBV2-P30-003", "WBV2-P30-004", "WBV2-P31-000", "WBV2-P31-001", "WBV2-P31-002", "WBV2-P31-003"];
const ids = ["WBV2-P24-003", "WBV2-P25-000", "WBV2-P25-001", "WBV2-P25-002", "WBV2-P25-003", "WBV2-P25-004", "WBV2-P25-005", "WBV2-P25-006", "WBV2-P25-007", "WBV2-P25-008", "WBV2-P26-000", "WBV2-P26-001", "WBV2-P26-002", "WBV2-P26-003", "WBV2-P26-004", "WBV2-P26-005", "WBV2-P26-006", "WBV2-P27-000", "WBV2-P27-001", "WBV2-P27-002", "WBV2-P28-000", "WBV2-P28-001", "WBV2-P28-002", "WBV2-P28-003", "WBV2-P28-004", "WBV2-P28-005", "WBV2-P29-000", "WBV2-P29-001", "WBV2-P29-002", "WBV2-P29-003", "WBV2-P29-004", "WBV2-P30-000", "WBV2-P30-001", "WBV2-P30-002", "WBV2-P30-003", "WBV2-P30-004", "WBV2-P31-000", "WBV2-P31-001", "WBV2-P31-002", "WBV2-P31-003", "WBV2-P32-000", "WBV2-P32-001", "WBV2-P32-002", "WBV2-P32-003", "WBV2-P33-000", "WBV2-P33-001", "WBV2-P33-002", "WBV2-P33-003"];
const abs = (file) => path.join(root, file);
const sha = (file) => crypto.createHash("sha256").update(fs.readFileSync(abs(file))).digest("hex");
for (let pass = 0; pass < ids.length; pass += 1) {