Skip to content

feat(raster): implement audit v4 phase 8 raster parity - #45

Merged
dhanyyudi merged 13 commits into
mainfrom
audit-v4-phase8-raster-parity
May 4, 2026
Merged

dhanyyudi merged 13 commits into
mainfrom
audit-v4-phase8-raster-parity

Conversation

@dhanyyudi

Copy link
Copy Markdown
Owner

Summary

@codex Audit V4 Phase 8 menambah raster parity untuk image overlay, WMS, dan PMTiles di parser, editor preview, runtime preview, dan ZIP export.

PR ini juga membuka inspector raster dasar untuk visibility, layer toggle, opacity, dan source summary, lalu menutup gap PMTiles editor parity dengan render nyata di editor dan bukti fetch sample.pmtiles pada test Playwright.

Changes

  • src/types/project.ts
    • tambah union ProjectLayer untuk vector, raster-image, raster-wms, raster-pmtiles
  • src/lib/rasterParsing.ts
    • parse L.imageOverlay(...), L.tileLayer.wms(...), dan pmtiles.leafletRasterLayer(new pmtiles.PMTiles(...))
  • src/lib/qgis2webParser.ts
    • merge hasil parse raster ke project import
  • src/components/mapCanvasHooks.ts
    • render raster image, WMS, dan PMTiles di editor preview
  • src/components/Inspector/RasterLayerTab.tsx
    • inspector raster dasar untuk label, visible, layer toggle, opacity, source
  • src/lib/exportProject.ts
    • serialize runtime config raster dan inject pmtiles.js untuk runtime yang butuh PMTiles
  • src/runtime/runtime.ts
    • create runtime raster layer untuk image overlay, WMS, dan PMTiles
  • scripts/smoke-fixture.ts, scripts/smoke-export.ts, tests/map-render.spec.ts
    • tambah smoke dan Playwright coverage raster parity
  • docs/example_export/qgis2web_raster_*.zip
    • fixture raster image overlay, WMS, dan PMTiles, termasuk asset Leaflet minimal untuk preview runtime lokal
  • public/vendor/pmtiles.js
    • vendor runtime PMTiles untuk export runtime path

Manual parity sweep

Editor preview

  • Image overlay import render di editor
  • WMS import parse dan config parity di editor path
  • PMTiles import render path aktif di editor, dibuktikan dengan fetch sample.pmtiles
  • Raster layer bisa dipilih dari side panel
  • Raster inspector dasar tampil dan bisa ubah visibility, layer toggle, opacity

Runtime preview

  • Runtime preview image overlay render via /preview/{token}
  • Runtime preview memakai asset raster hasil export ZIP virtual
  • Preview tidak lagi 404 untuk fixture raster karena asset Leaflet minimal ikut dibundle di fixture

ZIP runtime

  • Export ZIP image overlay render via static HTTP server
  • Runtime config preserve raster-image, raster-wms, raster-pmtiles
  • PMTiles runtime vendor asset tersedia di export path lewat js/pmtiles.js

Evidence

  • Build PASS: docs/screenshots/phase-8/npm-run-build-20260504-072851.txt
  • Smoke fixture PASS: docs/screenshots/phase-8/npm-run-smoke-fixture-20260504-072851.txt
  • Smoke export PASS: docs/screenshots/phase-8/npm-run-smoke-export-20260504-072851.txt
  • Playwright PASS: docs/screenshots/phase-8/npx-playwright-phase-8-20260504-072851.txt
  • Editor screenshot: docs/screenshots/phase-8/editor-20260504-072851.png
  • Runtime preview screenshot: docs/screenshots/phase-8/runtime-preview-20260504-072851.png
  • ZIP runtime screenshot: docs/screenshots/phase-8/runtime-20260504-072851.png
  • Console log: docs/screenshots/phase-8/console-20260504-072851.txt
  • Network log: docs/screenshots/phase-8/network-tile-20260504-072851.json

QA checklist

  • npm run build
  • npm run smoke:fixture
  • npm run smoke:export
  • npx playwright test tests/map-render.spec.ts -g "phase 8 raster"
  • Manual parity sweep editor, runtime preview, ZIP runtime
  • Root AGENTS and root changelog updated locally in parent repo

Notes

  • PMTiles coverage pada fase ini fokus ke parity import, editor render path, runtime wiring, export asset path, dan fetch proof. Dataset PMTiles fixture sengaja minimal untuk menjaga repo tetap ringan.
  • Root log files ada di parent repo, jadi tidak ikut commit branch app ini dan akan dicatat terpisah dari root workspace.

@chatgpt-codex-connector

Copy link
Copy Markdown

Terima kasih, saya sudah membaca <TRIGGER>, <PR_INFO>, dan konteks yang Anda kirim.

Saat ini tidak ada permintaan perubahan spesifik, bug report baru, atau review comment yang meminta revisi lanjutan. Jadi saya tidak melakukan perubahan kode, tidak membuat commit, dan tidak memanggil make_pr, karena itu memang hanya wajib jika ada perubahan yang benar benar dibuat.

Jika Anda ingin, saya bisa lanjut dengan salah satu opsi berikut:

  1. lakukan audit cepat terhadap klaim parity di PR ini (berbasis file dan test log),
  2. siapkan patch follow up kecil (misalnya hardening test atau cleanup),
  3. atau bantu tulis balasan review/PR comment yang merangkum evidence paling penting untuk reviewer.

View task →

@cloudflare-workers-and-pages

Copy link
Copy Markdown
Contributor

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
q2web-studio eeca3f0 Commit Preview URL

Branch Preview URL
May 04 2026, 12:35 AM

@dhanyyudi
dhanyyudi merged commit 5d61e38 into main May 4, 2026
2 checks passed
@dhanyyudi
dhanyyudi deleted the audit-v4-phase8-raster-parity branch May 4, 2026 07:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant