| 1234567891011121314151617181920212223242526272829303132333435363738 |
- // 票 33 离线闸门的 'cesium' 桩(配合 t33-jitter-diff.mjs 的 module.register 使用)。
- // 只替换裸 'cesium':引擎层用到的最小面(常量 + 两个坐标类 + 颜色 + 数据源),
- // 被测模块 cesiumPipeLayer / 领域层 modeLayerPlan 一律保持真实。
- // 实体集合的 add/remove/removeAll 是行为桩:add 保留 spec 的**对象引用**,
- // 「属性有没有被重赋值」靠比对引用身份判定——这是零重赋值断言的牙。
- const STUB = `
- function makeEntityCollection() {
- const values = []
- return {
- values,
- add(spec) { const entity = { ...spec }; values.push(entity); return entity },
- remove(entity) { const i = values.indexOf(entity); if (i === -1) return false; values.splice(i, 1); return true },
- removeAll() { values.length = 0 },
- }
- }
- export class Cartesian2 { constructor(x = 0, y = 0) { this.x = x; this.y = y } }
- export class Cartesian3 {
- static fromDegrees(lon, lat) { return { lon, lat } }
- static fromDegreesArray(flat) { return flat }
- static fromRadians(lon, lat, h) { return { lon, lat, h } }
- }
- export class Color {
- static fromCssColorString(css) { return { css, withAlpha: (alpha) => ({ css, alpha }) } }
- }
- export class CustomDataSource {
- constructor(name) { this.name = name; this.entities = makeEntityCollection() }
- }
- export const HeightReference = { CLAMP_TO_GROUND: 'CLAMP_TO_GROUND' }
- export const LabelStyle = { FILL_AND_OUTLINE: 'FILL_AND_OUTLINE' }
- export const VerticalOrigin = { CENTER: 'CENTER', BOTTOM: 'BOTTOM' }
- `
- export async function resolve(specifier, context, nextResolve) {
- if (specifier === 'cesium') {
- return { url: 'data:text/javascript,' + encodeURIComponent(STUB), shortCircuit: true }
- }
- return nextResolve(specifier, context)
- }
|