forked from code4history/MaplatTin
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
173 lines (160 loc) · 4.77 KB
/
index.html
File metadata and controls
173 lines (160 loc) · 4.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MaplatTransform Demos</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: "Helvetica Neue", Arial, sans-serif;
background: #eef0f4;
color: #222;
min-height: 100vh;
display: flex;
flex-direction: column;
}
header {
background: #1a2744;
color: #fff;
padding: 18px 24px;
}
header h1 { font-size: 20px; font-weight: 700; letter-spacing: 0.02em; }
header p { font-size: 13px; color: #aac; margin-top: 4px; }
main {
flex: 1;
padding: 32px 24px;
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
}
.demo-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 20px;
width: 100%;
max-width: 900px;
}
.demo-card {
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.10);
overflow: hidden;
display: flex;
flex-direction: column;
text-decoration: none;
color: inherit;
transition: box-shadow 0.18s, transform 0.18s;
}
.demo-card:hover {
box-shadow: 0 6px 24px rgba(0,0,0,0.16);
transform: translateY(-2px);
}
.card-header {
padding: 18px 20px 12px;
border-bottom: 1px solid #eef0f4;
}
.card-header h2 {
font-size: 16px;
font-weight: 700;
color: #1a2744;
margin-bottom: 4px;
}
.card-header .badge {
display: inline-block;
padding: 2px 8px;
border-radius: 4px;
font-size: 11px;
font-weight: 600;
background: #e8f0fe;
color: #3a7bd5;
margin-bottom: 6px;
}
.card-body {
padding: 14px 20px 18px;
font-size: 13px;
line-height: 1.7;
color: #444;
flex: 1;
}
.card-body ul {
padding-left: 18px;
margin-top: 6px;
}
.card-body li { margin-bottom: 3px; }
.card-footer {
padding: 12px 20px;
background: #f8f9fb;
border-top: 1px solid #eef0f4;
font-size: 13px;
color: #3a7bd5;
font-weight: 600;
}
footer {
text-align: center;
font-size: 12px;
color: #999;
padding: 16px;
}
</style>
</head>
<body>
<header>
<h1>@maplat/transform — デモ一覧</h1>
<p>MaplatTransform の各機能を体験できるインタラクティブデモ</p>
</header>
<main>
<div class="demo-grid">
<a class="demo-card" href="./demo/singlemap.html">
<div class="card-header">
<div class="badge">Phase 1 — 単一TIN</div>
<h2>Single Map Demo</h2>
</div>
<div class="card-body">
Transform クラスによる単一 TIN の双方向変換を可視化。
<ul>
<li>無限遠半直線 / グリッド変換 / ラウンドトリップ誤差</li>
<li>v2 / v3 形式の切り替え</li>
<li>ズーム・パン対応の2座標系表示</li>
</ul>
</div>
<div class="card-footer">→ demo/singlemap.html</div>
</a>
<a class="demo-card" href="./demo/submaps.html">
<div class="card-header">
<div class="badge">Phase 2 — MapTransform / submap 選択</div>
<h2>Submaps Demo</h2>
</div>
<div class="card-body">
MapTransform クラスによる複数 TIN(sub_maps)の選択・変換を可視化。
<ul>
<li>priority / importance に基づくレイヤー選択</li>
<li>各 submap の envelope・三角網を色分け表示</li>
<li>クリックで双方向の対応点を複数表示</li>
<li>v2 / v3 切り替え対応</li>
</ul>
</div>
<div class="card-footer">→ demo/submaps.html</div>
</a>
<a class="demo-card" href="./demo/mapsync.html">
<div class="card-header">
<div class="badge">Phase 3・4 — ビューポート同期</div>
<h2>Map Sync Demo</h2>
</div>
<div class="card-body">
viewpoint2Mercs / mercs2Viewpoint を使って2つの絵地図間でビューポートを同期。
<ul>
<li>館林御城図 ↔ 館林城下町図 を並べて表示</li>
<li>片方のズーム・パン・回転がもう一方に伝搬</li>
<li>中央固定の方角矢印(N)とスケール円</li>
<li>Envelope・三角網(TIN)表示</li>
</ul>
</div>
<div class="card-footer">→ demo/mapsync.html</div>
</a>
</div>
</main>
<footer>@maplat/transform — MaplatTransform Demo Portal</footer>
</body>
</html>