diff --git a/.superpowers/sdd/progress.md b/.superpowers/sdd/progress.md new file mode 100644 index 0000000..36883fb --- /dev/null +++ b/.superpowers/sdd/progress.md @@ -0,0 +1,9 @@ +# Subagent-driven development progress + +Plan: docs/superpowers/plans/2026-06-29-sgs-hall-poi-display.md + +Task 1: complete (commits a6a88e6..e826c92, review conflict resolved by user: keep stronger script) +Task 2: complete (commits e826c92..9f59a85, review clean; type-check verified in main workspace) +Task 3: complete (commits 9f59a85..24699d2, review clean; smoke and type-check verified in main workspace) +Task 4: complete (source-only, commit a934e1e, review clean) +Task 5: complete (final validation passed; smoke/type-check/lint/build:h5 exit 0; report pending commit) diff --git a/.superpowers/sdd/task-5-report.md b/.superpowers/sdd/task-5-report.md new file mode 100644 index 0000000..76eced6 --- /dev/null +++ b/.superpowers/sdd/task-5-report.md @@ -0,0 +1,38 @@ +# Task 5 Report + +Status: DONE_WITH_CONCERNS + +Files changed: +- `scripts/check-sgs-hall-poi-adapter.mjs` +- `.superpowers/sdd/task-5-report.md` +- `.superpowers/sdd/progress.md` + +Commands run with exact output summary: +- `node scripts/check-sgs-hall-poi-adapter.mjs && pnpm type-check && pnpm lint && pnpm build:h5` + - Exit code: 0 + - Smoke output: `SGS hall POI adapter smoke check passed` + - Type-check: `vue-tsc --noEmit` completed successfully. + - Lint: `eslint "src/**/*.{ts,vue}"` completed successfully. + - H5 build: `uni build -p h5 && node scripts/copy-h5-nav-assets.cjs` completed successfully. + - Build copied assets to: + - `dist\build\h5\static\nav-assets` + - `dist\build\h5\static\guide-data` + - `dist\build\h5\static\sgs-map-sdk` + - `dist\build\h5\static\three` + +Warnings recorded: +- `uni-app` update notice for HBuilderX/uni compiler package. +- Dart Sass deprecation warnings: + - legacy JS API deprecation. + - Sass `@import` deprecation from `src\App.vue` importing `./styles/variables.scss`. + +Self-review notes: +- Public exhibition spaces are classified by Task 2 via a whitelist (`exhibition_hall`, `theater`, `education_activity`, `ramp`) plus exhibition-name/keyword checks where appropriate. +- Hall POI creation prefers route-capable entrance anchors only when both entrance coordinates and `routeNodeId` exist; otherwise it uses preview-only space-center fallback metadata. +- Task 3 adds repository-level dev diagnostics for failed SGS floor data requests and suspicious hall POI generation/filtering outcomes. +- Task 4 confirmed `ThreeMap` did not require code changes for floor-mode visibility because floor mode already uses the `full` visibility tier. +- The smoke script now prints the success line required by this task brief. + +Concerns: +- H5 build succeeded but emitted existing Sass deprecation warnings; they are build-tooling/style debt, not blockers for this SGS hall POI plan. +- `src/components/map/ThreeMap.vue` has pre-existing uncommitted changes in the main workspace; Task 5 did not include or modify them. diff --git a/scripts/check-sgs-hall-poi-adapter.mjs b/scripts/check-sgs-hall-poi-adapter.mjs index b1950ab..96ea721 100644 --- a/scripts/check-sgs-hall-poi-adapter.mjs +++ b/scripts/check-sgs-hall-poi-adapter.mjs @@ -304,3 +304,4 @@ assert.notEqual(byId.get('hall-place-L6-共享展厅').id, byId.get('hall-place- assert.equal(diagnostics.skippedSpaceCount, 0, 'place-only halls do not inflate skipped-space diagnostics when all eligible spaces have hall-{space.id}') assert.equal(diagnostics.skippedPlaceCount, 0, 'all hall places are represented by entrances') +console.log('SGS hall POI adapter smoke check passed') diff --git a/src/data/adapters/sgsSdkGuideAdapter.ts b/src/data/adapters/sgsSdkGuideAdapter.ts index c00e67e..798a444 100644 --- a/src/data/adapters/sgsSdkGuideAdapter.ts +++ b/src/data/adapters/sgsSdkGuideAdapter.ts @@ -263,7 +263,7 @@ export const isExhibitionHallNavigablePlace = (place: SgsNavigablePlacePayload) } const normalizedHallName = (value?: string | null) => normalizedText(value) - .replace(/[\s()()【】\[\]_-]/g, '') + .replace(/[\s()()【】[\]_-]/g, '') const normalizePosition = (poi: SgsPoiPayload): [number, number, number] | undefined => normalizePositionSource( poi.position || {