proposal.md 1.2 KB

Why

The component library needs a reusable three-dimensional bus line network component based on the Beijing bus GeoJSON dataset from Mars3D.

What Changes

  • Add busLineNetworkComponent, a Vue 3 + TresJS component that loads https://data.mars3d.cn/file/geojson/bj-bus.json and renders bus routes as elevated line primitives.
  • Convert GeoJSON longitude/latitude coordinates to local Three.js X/Z coordinates with Web Mercator projection, avoiding a new dependency for a small deterministic transform.
  • Expose runtime controls for data sampling, route count, map scale, line width, opacity, color theme, height layering, and pulse animation.
  • Register the component in src/dcsConfig.ts with defaults and configuration controls.
  • Add a lightweight preview asset for the component card.

Impact

  • Code: src/components/busLineNetworkComponent.vue, src/dcsConfig.ts, public/preview/busLineNetworkComponent.svg.
  • No shared preview view changes are required.
  • Runtime network access is required to fetch the remote GeoJSON unless a host provides another compatible URL.
  • Rollback: remove the dcsConfig.ts entry, then delete the component file, preview asset, and this OpenSpec change directory.