创建AXIS风格仿真实现文档

结论:新增 AXIS-style browser simulation 实现计划,明确布局、阶段、API、验收 gate 和 LinuxCNC 语义边界,并接入文档 smoke 与 release gate。
This commit is contained in:
2026-06-16 21:41:30 +08:00
parent 9e149107dc
commit c88aac551b
9 changed files with 357 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
import assert from "node:assert/strict";
import { readFileSync } from "node:fs";
import { dirname, resolve } from "node:path";
import { fileURLToPath } from "node:url";
const root = resolve(dirname(fileURLToPath(import.meta.url)), "../../..");
const doc = readFileSync(resolve(root, "docs/axis-style-simulation-implementation.md"), "utf8");
const readme = readFileSync(resolve(root, "README.md"), "utf8");
const priority = readFileSync(resolve(root, "docs/real-browser-simulation-priority.md"), "utf8");
for (const required of [
"AXIS-Style Browser Simulation Implementation Plan",
"LinuxCNC remains the only CNC semantic source",
"Manual Control and MDI",
"Preview and DRO",
"G-code source with active execution line",
"window.linuxCncRealSimulationApi",
"SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh",
"Immediate Next Batch",
]) {
assert.ok(doc.includes(required), `axis-style simulation doc missing ${required}`);
}
for (const forbidden of [
"reimplement LinuxCNC CNC semantics in JavaScript",
]) {
assert.ok(doc.includes(forbidden), `axis-style simulation doc should explicitly reject ${forbidden}`);
}
assert.ok(
readme.includes("docs/axis-style-simulation-implementation.md"),
"README should link AXIS-style implementation plan",
);
assert.ok(
priority.includes("docs/axis-style-simulation-implementation.md"),
"priority doc should link AXIS-style implementation plan",
);
console.log("axis_style_simulation_docs_node_smoke=ok");

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "$0")/../../.." && pwd)"
node "$ROOT_DIR/tests/docs/node/verify_axis_style_simulation_docs.mjs"

View File

@@ -19,6 +19,7 @@ SKIP_TP_BUILD=1 "$ROOT_DIR/tests/wasm/node/verify_tp_wasm.sh"
"$ROOT_DIR/tests/docs/node/verify_host_runtime_boundary_docs.sh"
"$ROOT_DIR/tests/docs/node/verify_project_release_handoff_docs.sh"
"$ROOT_DIR/tests/docs/node/verify_real_browser_simulation_priority_docs.sh"
"$ROOT_DIR/tests/docs/node/verify_axis_style_simulation_docs.sh"
"$ROOT_DIR/tests/ui/node/verify_ui_node_smokes.sh"
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 "$ROOT_DIR/tests/browser/verify_ini_panel_browser.sh"
SKIP_INTERP_BUILD=1 "$ROOT_DIR/tests/browser/verify_real_simulation_browser.sh"

View File

@@ -19,6 +19,7 @@ SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 "$ROOT_DIR/tests/browser/verify_release_art
"$ROOT_DIR/tests/ui/node/verify_ui_node_smokes.sh"
"$ROOT_DIR/tests/sdk/node/verify_project_release_artifact_url_workflow.sh"
"$ROOT_DIR/tests/docs/node/verify_real_browser_simulation_priority_docs.sh"
"$ROOT_DIR/tests/docs/node/verify_axis_style_simulation_docs.sh"
"$ROOT_DIR/tests/host/verify_host_smokes.sh"
node "$ROOT_DIR/tests/host/write_project_release_readiness_artifact.mjs"