@expofp/wayfinding

中文文档
3.49.2发布于 2026/11/14MITTypeScriptES Module近 30 天下载 8410

ExpoFP SDK 内部: 框架中和的查找方式(路径、抓取、场景渲染)

中文使用文档
文档目录4 节
  1. 安装
  2. 层
  3. 端口( 主机工具)
  4. 使用量

@ expofp/ 公路搜索

ExpoFP SDK框架中立的路径搜索: 路由/吸附引擎 和场景渲染器 没有 组合到 effp商店或MobX. core 财务报告和审定财务报表 runtime 环境不可知; 场景 渲染器假设类似浏览器的环境( :requestAnimationFrame, (中文(简体) ), document, (中文(简体) ), 因此软件包不适合节点/SSR作为-is. 三层都坐在两层后面 切入点: initWayfindingLayers,用于构建主机的层块 要挂载,和 createWayfinding在现场找到它并填满它.

安装

pnpm add @expofp/wayfinding @expofp/renderer

@expofp/renderer 是一个 同伴依赖 消费者必须安装: 包的公用类型(例如:. RenderableDef 打开 Wayfinding编号 :RendererPort(中文(简体) ) 因此,它的类型必须解决 @expofp/wayfinding是因为 .d.ts 要编译.

层

层这是什么
core图形构建 + A* 路径勘察,路线几何,快取,过渡点. 纯功能.
runtime紧急指挥员setRoute 编号 : setPosition 编号 : notifyFloorChanged发动机上.
renderer场景变异器(相机、小径、路线线)对抗被注射者 RendererPort。 。 。 .

这些地层是内部的. 软件包只输出 createWayfinding 伪装, initWayfindingLayers (它进入的层块,供主机使用) 挂载) resolveWayfindingLayers (又在一幕中发现了那个街区), 端口接口 CURRENT_POSITION_POINT_ID 协议发送器和 optimizeWaypointOrder 帮手.

端口( 主机工具)

软件包对主机渲染器、图表数据或应用程序一无所知 状态。 东道主通过下列途径供应四个港口: WayfindingConfig数字 :

  • dataSource (单位:千美元)GraphDataSource)——图行+行尾进行路径查找.
  • renderer (单位:千美元)RendererPort)——东道主的"红外线"规则与承诺.
  • iconProvider (单位:千美元)IconProvider)——画布取出图标名称.
  • floorContext (单位:千美元)FloorContext) ——活地层/能见度上游.

@expofp/renderer 是一个 仅类型端点 (其类型出现在公共API 混凝土成像器通过 RendererPort) (中文(简体) ). @expofp/geometry 是一个常规 运行时间依赖( e)Rect, (中文(简体) ), Box,几何帮助).

使用量

import { createWayfinding } from '@expofp/wayfinding';

const wayfinding = createWayfinding({
  dataSource, // GraphDataSource
  renderer, // RendererPort
  iconProvider, // IconProvider
  floorContext, // FloorContext
  layers, // WayfindingLayers, from resolveWayfindingLayers(scene.rootLayer)
  gpsConfig, // optional GPS calibration + snap/reroute thresholds
  onTransitionClick: (point) => {
    /* switch active floor */
  },
  onRouteUpdate: (lines, bounds) => {
    /* fit camera, update UI */
  },
  onRouteDistance: (distance) => {
    /* show remaining distance */
  },
});

// Drive it with route/position/floor updates:
wayfinding.setRoute({ from, to, accessible: false });
wayfinding.setPosition(position); // or null to hide
wayfinding.notifyFloorChanged();

// Forward pointer events:
wayfinding.handleClick(pickedDefs);

wayfinding.destroy();

optimizeWaypointOrder 单独导出,以便在一个字段前订购位点 createWayfinding 实例存在(它支持 SDK ) getOptimizedRoutes) (中文(简体) ).

版本与发布记录

@expofp/wayfinding 共发布 117 个版本,首次发布于 2026/07/15;过去 12 个月发布了 117 个版本。

版本发布日期距今
3.49.2latest2026/11/14今天
0.0.0-experimental.3b0db16feat/wayfinding-compiler2026/11/13今天
3.49.12026/11/121 天前
3.49.02026/11/112 天前
3.48.02026/11/112 天前
3.47.22026/11/103 天前

其他发布通道:multi-venue → 0.0.0-experimental.cf063fc,stable → 3.47.0,eurotier → 0.0.0-experimental.6dabc65,feat/wayfinding-compiler → 0.0.0-experimental.3b0db16。

关于 @expofp/wayfinding 的常见问题

@expofp/wayfinding 是什么?

ExpoFP SDK 内部: 框架中和的查找方式(路径、抓取、场景渲染)

如何安装 @expofp/wayfinding?

在项目目录运行 npm install @expofp/wayfinding,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@expofp/renderer(3.49.2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@expofp/wayfinding 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@expofp/wayfinding 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@expofp/wayfinding 可以商用吗?

@expofp/wayfinding 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@expofp/wayfinding 的下载量有多少?

根据 npm 官方下载统计,@expofp/wayfinding 在 2026/10/14 – 2026/11/12 这 30 天内被下载 8,410 次,日均约 280 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@expofp/wayfinding 还在维护吗?

最新版本 3.49.2 发布于 2026/11/14(今天);至今共发布 117 个版本,其中过去 12 个月发布了 117 个;首次发布于 2026/07/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。