diff --git a/app_manifest.json b/app_manifest.json index 056e9cc..630684a 100644 --- a/app_manifest.json +++ b/app_manifest.json @@ -1,5 +1,5 @@ { - "version": "16.07.09", + "version": "16.07.20", "css": [ "css/base.css", "css/layout.css", @@ -65,7 +65,6 @@ "js/world_tool_actions.js", "js/world_placement_log.js", "js/world_event_effects.js", - "js/world_bootstrap.js", "js/text_catalog.js", "js/ui.js", "js/ui_log.js", @@ -103,7 +102,8 @@ "assets/objects/*.webp", "assets/sprites/*.webp", "assets/sounds/*.wav", - "assets/sounds/*.mp3" + "assets/sounds/*.mp3", + "assets/objects/*.png" ], "notes": "Source of truth for static loading order; generated files are index.html script/link tags and service-worker.js cache list. Item definitions are centralized in js/item_registry.js. Save compatibility migration is intentionally not retained. Snapshot restore is data-only; save and freeze are split into coordinator/codec/storage/panel/adapter modules. EventBus owns phase audio and log UI/audio notification side effects. World.update is phase-driven through js/world_update_phases.js; UI field input is split into shared/touch/mouse modules. Item construction, lifecycle, rendering, Tarinai targeting, ActionSpec definitions, consumable behavior, social action ticks, and building behavior are split into dedicated modules. Lightweight cleanup: item type constructor initialization is isolated; action selection bonus logic is shared; diagnostics no longer use removed performance-quality fields. Ground definitions, structure lifecycle, delete-tool actions, shared tooltips, and ground UI helpers are split into dedicated modules. FPS work: profiler, static/dynamic spatial buckets, item update scheduler, visible-cell rendering, chunked terrain cache, adaptive DPR, and render quality LOD are included." } diff --git a/assets/objects/plushie_bear.png b/assets/objects/plushie_bear.png new file mode 100644 index 0000000..46f25f9 Binary files /dev/null and b/assets/objects/plushie_bear.png differ diff --git a/assets/ui/apple-touch-icon.png b/assets/ui/apple-touch-icon.png new file mode 100644 index 0000000..6ea8bf4 Binary files /dev/null and b/assets/ui/apple-touch-icon.png differ diff --git a/assets/ui/favicon-64.png b/assets/ui/favicon-64.png new file mode 100644 index 0000000..92594d7 Binary files /dev/null and b/assets/ui/favicon-64.png differ diff --git a/assets/ui/favicon.png b/assets/ui/favicon.png new file mode 100644 index 0000000..09ecce9 Binary files /dev/null and b/assets/ui/favicon.png differ diff --git a/css/base.css b/css/base.css index 1e8c35d..585dc1c 100644 --- a/css/base.css +++ b/css/base.css @@ -436,7 +436,6 @@ h1 { .tool[data-tool="bed"] { --tool-icon: url("../assets/ui/tool_bed.webp"); } .tool[data-tool="love_mochi"] { --tool-icon: url("../assets/ui/tool_love_mochi.webp"); } .tool[data-tool="fight_mochi"] { --tool-icon: url("../assets/ui/tool_fight_mochi.webp"); } -.tool[data-tool="water_bowl"] { --tool-icon: url("../assets/ui/tool_water_bowl.webp"); } .tool[data-tool="signboard"] { --tool-icon: url("../assets/ui/tool_signboard.webp"); } .tool[data-tool="duplicator"] { --tool-icon: url("../assets/ui/tool_duplicator.webp"); } diff --git a/css/components.css b/css/components.css index 052e0ca..ed6227d 100644 --- a/css/components.css +++ b/css/components.css @@ -675,3 +675,64 @@ font-size: 16px; line-height: 1.2; } +.ground-stat[data-ground-toggle] { + cursor: pointer; + user-select: none; +} +.ground-stat[data-ground-toggle]:focus-visible, +.ground-type-btn:focus-visible { + outline: 2px solid rgba(103,178,44,0.58); + outline-offset: 2px; +} +.save-hash-profile { + display: grid; + gap: 8px; + padding: 9px 10px; + border: 1px solid rgba(115, 91, 62, 0.18); + border-radius: 12px; + background: rgba(255,255,255,0.56); + color: #4a3929; + font-size: 12px; +} +.save-hash-profile:empty { + display: none; +} +.save-profile-summary { + display: flex; + flex-wrap: wrap; + gap: 6px 10px; +} +.save-profile-summary span { + padding: 3px 7px; + border-radius: 999px; + background: rgba(115, 91, 62, 0.08); +} +.save-profile-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); + gap: 5px; +} +.save-profile-grid > div { + display: grid; + grid-template-columns: 1fr auto auto; + gap: 6px; + align-items: center; + padding: 4px 6px; + border-radius: 8px; + background: rgba(255,255,255,0.54); +} +.save-profile-grid em { + opacity: 0.62; + font-style: normal; +} +.save-profile-items { + display: flex; + flex-wrap: wrap; + gap: 5px 7px; + align-items: center; +} +.save-profile-items span { + padding: 2px 6px; + border-radius: 999px; + background: rgba(111, 153, 102, 0.13); +} diff --git a/css/layout.css b/css/layout.css index 5a73860..18a35c9 100644 --- a/css/layout.css +++ b/css/layout.css @@ -105,7 +105,7 @@ box-shadow: 0 1px 4px rgba(42,36,29,0.16); pointer-events: none; } -.chart-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin: 3px 0 8px; } +.chart-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 3px 0 8px; } .chart-tabs button { border: 1px solid var(--line); background: rgba(255,255,255,0.62); border-radius: 999px; padding: 5px 4px; font-size: 11px; cursor: pointer; } .chart-tabs button.active { background: #efffde; border-color: rgba(103,178,44,0.46); font-weight: 700; } .log-accident { border-left-color: rgba(226, 136, 54, 0.76); } diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..f5ef16a Binary files /dev/null and b/favicon.ico differ diff --git a/index.html b/index.html index 01d2715..f789e69 100644 --- a/index.html +++ b/index.html @@ -3,24 +3,25 @@
-準備しています。
初期表示に必要な画像だけ先に読み込み、残りは後から順次ロードします。