// Cấu hình tour VR360 Chùa Thái Lạc (Pháp Vân tự) — Xã Như Quỳnh, Hưng Yên. // File chỉ chứa DỮ LIỆU (type-only import từ engine để tránh circular import runtime). // Engine `VirtualTour.tsx` import `chuaThaiLacTour` rồi bọc qua createTourConfig(). // // Ảnh panorama đặt tại public/images/chua-thai-lac/01.jpg … 26.jpg // (đặt tên ASCII theo thứ tự cảnh để tránh lỗi mã hóa Unicode/đường dẫn khi triển khai). import type { TourConfig, TourScene, InfoMarker } from "@/app/components/VirtualTour"; const base = "/images/chua-thai-lac"; // Ảnh theo số thứ tự cảnh: scene-1 → 01.jpg, scene-2 → 02.jpg, … const imageFor = (index: number) => `${base}/${String(index + 1).padStart(2, "0")}.jpg`; type SceneSeed = { title: string; location: string; initialYaw?: number; infoMarkers?: InfoMarker[]; }; // Tuyến tham quan: cổng → đường/vòm → tiền đường & chính điện → khu thờ → ban tượng → cảnh quan. // Thứ tự mảng = thứ tự ảnh (01..26). yaw/pitch hotspot để mặc định (tiến: 0, lùi: 180); // tinh chỉnh trực quan khi chạy dev. const seeds: SceneSeed[] = [ { title: "Chính diện cổng chùa", location: "Khu cổng", infoMarkers: [ { id: "gioi-thieu", title: "Giới thiệu", eyebrow: "Chùa Thái Lạc · Pháp Vân tự", yaw: 0, pitch: -2, iconType: "info", content: [ "Chùa Thái Lạc, tên chữ là Pháp Vân tự, là ngôi chùa cổ thờ Pháp Vân — vị thần Mây trong tín ngưỡng Tứ Pháp của cư dân nông nghiệp đồng bằng Bắc Bộ.", "Di tích được xếp hạng cấp quốc gia, nổi tiếng với hệ thống ván chạm khắc gỗ thời Trần (thế kỷ 14) thuộc hàng quý hiếm bậc nhất Việt Nam.", ], }, ], }, { title: "Cổng bên phải", location: "Khu cổng" }, { title: "Cổng bên trái", location: "Khu cổng" }, { title: "Lối vào bên trái", location: "Khu cổng" }, { title: "Đường bên phải", location: "Đường vào" }, { title: "Đường bên trái qua vòm", location: "Đường vào" }, { title: "Đường tả qua vòm", location: "Đường vào" }, { title: "Chính sảnh", location: "Tiền đường & Chính điện" }, { title: "Gian giữa", location: "Tiền đường & Chính điện" }, { title: "Trung tâm chính điện", location: "Tiền đường & Chính điện" }, { title: "Chính điện", location: "Tiền đường & Chính điện", infoMarkers: [ { id: "cham-khac-go", title: "Chạm khắc gỗ thời Trần", eyebrow: "Giá trị di sản", yaw: 0, pitch: -4, iconType: "landmark", content: [ "Hệ thống ván chạm khắc gỗ có niên đại thời Trần (thế kỷ 14) khắc họa các nhạc công, vũ nữ và hình tượng Phật giáo với kỹ thuật điêu luyện.", "Đây là nguồn tư liệu quý cho nghiên cứu mỹ thuật cổ Việt Nam, làm nên giá trị đặc biệt của Chùa Thái Lạc.", ], }, ], }, { title: "Gian trong chính điện", location: "Tiền đường & Chính điện" }, { title: "Ban thờ bên trái", location: "Khu thờ trong chùa" }, { title: "Ban thờ chính giữa", location: "Khu thờ trong chùa" }, { title: "Ban thờ bên phải", location: "Khu thờ trong chùa" }, { title: "Gian trong - giữa", location: "Khu thờ trong chùa" }, { title: "Gian trong bên trái", location: "Khu thờ trong chùa" }, { title: "Hành lang bên phải", location: "Khu thờ trong chùa" }, { title: "Hành lang bên phải (tiếp)", location: "Khu thờ trong chùa" }, { title: "Tượng Quan Âm", location: "Ban thờ tượng", infoMarkers: [ { id: "dai-quan-am", title: "Đài Quan Âm", eyebrow: "Không gian thờ tự", yaw: 0, pitch: -2, iconType: "envelope", content: [ "Khu vực tôn trí tượng Quan Âm Bồ Tát cùng các pho tượng La Hán, Phật — không gian chiêm bái trang nghiêm trong khuôn viên chùa.", ], }, ], }, { title: "Tượng La Hán bên trái", location: "Ban thờ tượng" }, { title: "Nhà thờ Phật bên phải", location: "Ban thờ tượng" }, { title: "Ao cá Koi", location: "Cảnh quan" }, { title: "Gốc ngõa bên trái", location: "Cảnh quan" }, { title: "Gốc ngõa bên phải", location: "Cảnh quan" }, { title: "Phía sau chùa", location: "Cảnh quan" }, ]; const sceneId = (index: number) => `scene-${index + 1}`; const scenes: TourScene[] = seeds.map((seed, index) => { const hotspots = []; if (index < seeds.length - 1) { hotspots.push({ targetId: sceneId(index + 1), label: seeds[index + 1].title, yaw: 0, pitch: -8, }); } if (index > 0) { hotspots.push({ targetId: sceneId(index - 1), label: seeds[index - 1].title, yaw: 180, pitch: -8, }); } // Sơ đồ tuyến dạng ngoằn ngoèo: cổng ở dưới (y lớn) tiến dần lên trên (y nhỏ). const progress = index / (seeds.length - 1); const mapPosition = { x: index % 2 === 0 ? 32 : 68, y: Math.round(92 - progress * 84), }; return { id: sceneId(index), order: String(index + 1).padStart(2, "0"), title: seed.title, location: seed.location, image: imageFor(index), initialYaw: seed.initialYaw ?? 0, mapPosition, hotspots, infoMarkers: seed.infoMarkers, }; }); const mapRoutes = scenes .slice(0, -1) .map((scene, index) => ({ from: scene.id, to: scenes[index + 1].id })); export const chuaThaiLacTour: Omit = { id: "chua-thai-lac", title: "Chùa Thái Lạc (Pháp Vân tự)", subtitle: "Di tích quốc gia — chạm khắc gỗ thời Trần", welcomeTitle: "Chùa Thái Lạc", welcomeAccent: "Pháp Vân tự", welcomeSubtitle: "Tham quan 360° ngôi chùa cổ thờ Pháp Vân, nổi tiếng với mảng chạm khắc gỗ thời Trần.", welcomeBackgroundImage: imageFor(7), // 08.jpg — Chính sảnh welcomeCards: [ { image: imageFor(0), label: "Cổng chùa", rotate: "-rotate-6", sceneId: "scene-1" }, { image: imageFor(19), label: "Đài Quan Âm", rotate: "rotate-5", sceneId: "scene-20" }, ], backgroundAudio: "", // chưa có nhạc nền; engine bỏ qua chuỗi rỗng (không render thẻ audio) practicalInfo: { intro: "Thông tin phục vụ tham quan và lễ chùa tại Chùa Thái Lạc (Pháp Vân tự).", items: [ { label: "Địa chỉ", value: "Xã Như Quỳnh, tỉnh Hưng Yên." }, { label: "Người phụ trách", value: "Đang cập nhật." }, { label: "Số điện thoại", value: "Đang cập nhật." }, { label: "Giờ mở cửa", value: "Đón khách theo giờ hành chính và lịch sinh hoạt của nhà chùa." }, ], notes: [ "Giữ trang phục lịch sự, đi nhẹ nói khẽ, không tự ý di chuyển đồ thờ.", "Thông tin người phụ trách và liên hệ sẽ được cập nhật khi có dữ liệu xác thực.", ], }, scenes, sceneNarration: new Map(), continuousNarrationGroups: [], mapRoutes, };