428 lines
31 KiB
HTML
428 lines
31 KiB
HTML
<!doctype html>
|
|
<html lang="ja">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>たりない観察</title>
|
|
<link rel="icon" type="image/png" href="assets/ui/favicon.png?v=39.16.18" />
|
|
<link rel="apple-touch-icon" href="assets/ui/apple-touch-icon.png?v=39.16.18" />
|
|
<link rel="shortcut icon" href="favicon.ico?v=39.16.18" />
|
|
<link rel="stylesheet" href="css/base.css?v=39.16.18" />
|
|
<link rel="stylesheet" href="css/layout.css?v=39.16.18" />
|
|
<link rel="stylesheet" href="css/panel.css?v=39.16.18" />
|
|
<link rel="stylesheet" href="css/components.css?v=39.16.18" />
|
|
<link rel="stylesheet" href="css/mobile.css?v=39.16.18" />
|
|
</head>
|
|
<body>
|
|
<div id="loadingScreen" class="loading-screen" aria-live="polite">
|
|
<div class="loading-panel">
|
|
<div class="loading-kicker">たりない観察</div>
|
|
<h1 class="loading-title">読み込み中…</h1>
|
|
<p id="loadingText" class="loading-text">準備しています。</p>
|
|
<div id="loadingSpriteStrip" class="loading-sprite-strip" aria-hidden="true"></div>
|
|
<div class="loading-progress-track"><div id="loadingBar" class="loading-progress-bar" style="width:0%"></div></div>
|
|
<div class="loading-progress-meta"><span>進行状況</span><strong id="loadingPercent">0%</strong></div>
|
|
</div>
|
|
</div>
|
|
<div id="app">
|
|
<header class="topbar">
|
|
<div class="top-left">
|
|
<a class="btn room-link" href="https://2012r2.nishi.boats/~333/">333の部屋に移動</a>
|
|
<div class="brand">
|
|
<h1>たりない観察</h1>
|
|
</div>
|
|
</div>
|
|
<div class="top-actions">
|
|
<button id="pauseBtn" class="btn primary">一時停止</button>
|
|
<button id="speedBtn" class="btn">速度 x1</button>
|
|
<button id="ecologyBtn" class="btn">たりないの生態</button>
|
|
<div id="soundMenu" class="sound-menu">
|
|
<button id="soundBtn" class="btn sound-menu-btn" type="button" aria-haspopup="true" aria-expanded="false">音 ON</button>
|
|
<div id="soundPanel" class="sound-panel hidden" role="menu" aria-label="音">
|
|
<label class="sound-master"><input id="soundMasterToggle" type="checkbox" checked><span>効果音</span></label>
|
|
<div class="sound-panel-divider"></div>
|
|
<label><input type="checkbox" data-sound-category="voice"><span>たりないの声</span></label>
|
|
<label><input type="checkbox" data-sound-category="notify" checked><span>通知</span></label>
|
|
<label><input type="checkbox" data-sound-category="ops" checked><span>操作</span></label>
|
|
</div>
|
|
</div>
|
|
<button id="creditsBtn" class="btn">クレジット</button>
|
|
<button id="saveBtn" class="btn">セーブ</button>
|
|
<button id="visualSettingsBtn" class="btn" type="button">表示設定</button>
|
|
<button id="resetBtn" class="btn danger">リセット</button>
|
|
</div>
|
|
</header>
|
|
|
|
<main class="layout">
|
|
<section class="stage-wrap">
|
|
<canvas id="gameCanvas" aria-label="たりない観察キャンバス"></canvas>
|
|
<div id="mobileModeControls" class="mobile-mode-controls" aria-label="スマホ操作モード">
|
|
<button type="button" data-mobile-mode="auto" class="active">自動</button>
|
|
<button type="button" data-mobile-mode="camera">カメラ</button>
|
|
<button type="button" data-mobile-mode="tool">道具</button>
|
|
</div>
|
|
<div id="mobileRotateControls" class="mobile-rotate-controls" hidden aria-label="物理アイテムの回転">
|
|
<button type="button" data-mobile-rotate="left">左回転</button>
|
|
<button type="button" data-mobile-rotate="right">右回転</button>
|
|
</div>
|
|
<div id="toast" class="toast hidden"></div>
|
|
</section>
|
|
|
|
<aside class="panel">
|
|
<nav id="panelQuickTabs" class="panel-quick-tabs" aria-label="右メニューのタブ">
|
|
<button type="button" data-panel-tab="game">本体</button>
|
|
<button type="button" data-panel-tab="selected">たりない<br>データ</button>
|
|
<button type="button" data-panel-tab="tools">道具</button>
|
|
<button type="button" data-panel-tab="colony">コロニー</button>
|
|
<button type="button" data-panel-tab="events">イベント</button>
|
|
<button type="button" data-panel-tab="family">家系図</button>
|
|
</nav>
|
|
<section id="selectedCard" class="card selected-card hidden">
|
|
<div class="selected-head">
|
|
<h2>たりないデータ</h2>
|
|
<button id="selectedCloseBtn" class="selected-close" type="button" aria-label="たりないデータを閉じる">×</button>
|
|
</div>
|
|
<div id="selectedInfo" class="selected-info empty">たりないを選択してください</div>
|
|
</section>
|
|
|
|
<section id="toolCard" class="card tool-card collapsible-card">
|
|
<button class="panel-card-toggle" type="button" aria-expanded="true"><span class="panel-card-title">道具</span><span class="panel-card-state">折り畳み</span></button>
|
|
<div class="panel-card-body">
|
|
<div class="tool-body">
|
|
<div id="toolPalette" class="tool-palette" aria-live="polite"></div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="card colony-card collapsible-card">
|
|
<button class="panel-card-toggle" type="button" aria-expanded="true"><span class="panel-card-title">コロニー</span><span class="panel-card-state">折り畳み</span></button>
|
|
<div class="panel-card-body">
|
|
<div class="stats colony-stats">
|
|
<div class="stat"><span>総数</span><strong id="statPop">0</strong></div>
|
|
<div class="stat"><span>死亡</span><strong id="statDead">0</strong></div>
|
|
<div class="stat"><span>状態</span><strong id="statColonyMood">安定</strong></div>
|
|
<div class="stat ground-stat" data-ground-toggle role="button" tabindex="0"><span>地面</span><button id="groundTypeBtn" class="ground-type-btn" type="button" data-ground-toggle aria-label="地面をきりかえる"><strong id="statGroundType">砂</strong></button></div>
|
|
</div>
|
|
<div class="temperature-control" aria-label="気温調整">
|
|
<div class="temperature-control-head"><span>気温</span><strong id="temperatureValue">10℃</strong><label class="temperature-auto"><input id="temperatureAutoToggle" type="checkbox" checked> 自動</label></div>
|
|
<input id="temperatureSlider" class="temperature-slider" type="range" min="-100" max="120" step="1" value="10">
|
|
</div>
|
|
<div class="colony-limit-control" aria-label="コロニー上限設定">
|
|
<div class="colony-limit-head"><span>上限設定</span><small>0は上限なし</small></div>
|
|
<div class="colony-limit-grid">
|
|
<label class="colony-limit-row"><span>たりない個体数</span><input id="tarinaiPopulationLimitSlider" class="colony-limit-slider" type="range" min="0" max="300" step="1" value="0"><input id="tarinaiPopulationLimitInput" class="colony-limit-number" type="number" min="0" max="999" step="1" inputmode="numeric" placeholder="0"></label>
|
|
<label class="colony-limit-row"><span>オブジェクト総数</span><input id="objectLimitSlider" class="colony-limit-slider" type="range" min="0" max="1200" step="1" value="0"><input id="objectLimitInput" class="colony-limit-number" type="number" min="0" max="9999" step="1" inputmode="numeric" placeholder="0"></label>
|
|
</div>
|
|
<div id="colonyLimitStatus" class="colony-limit-status">たりない 0 / ∞ オブジェクト 0 / ∞</div>
|
|
</div>
|
|
<div id="colonyChartTabs" class="chart-tabs"><button data-chart="population" class="active">個体数</button><button data-chart="life">欲求</button><button data-chart="objects">環境</button></div>
|
|
<div id="colonyChartLegend" class="colony-chart-legend"></div>
|
|
<div id="colonyChart" class="colony-chart" aria-label="コロニーの推移グラフ" role="img"></div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="card log-card collapsible-card">
|
|
<button class="panel-card-toggle" type="button" aria-expanded="true"><span class="panel-card-title">イベント</span><span class="panel-card-state">折り畳み</span></button>
|
|
<div class="panel-card-body">
|
|
<div id="log" class="log"></div>
|
|
<div class="log-push-controls" id="logPushControls" aria-label="プッシュ通知設定">
|
|
<label class="push-master"><input id="logPushEnabled" type="checkbox"> プッシュ通知</label>
|
|
<div class="push-kind-grid">
|
|
<label><input type="checkbox" data-push-kind="death" checked> 死亡</label>
|
|
<label><input type="checkbox" data-push-kind="accident" checked> 事故</label>
|
|
<label><input type="checkbox" data-push-kind="birth" checked> 誕生</label>
|
|
<label><input type="checkbox" data-push-kind="fight"> 喧嘩</label>
|
|
<label><input type="checkbox" data-push-kind="food"> 食事</label>
|
|
<label><input type="checkbox" data-push-kind="weather"> 天気</label>
|
|
<label><input type="checkbox" data-push-kind="grass"> 草</label>
|
|
<label><input type="checkbox" data-push-kind="event"> 出来事</label>
|
|
<label><input type="checkbox" data-push-kind="relation"> 関係</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</aside>
|
|
</main>
|
|
|
|
|
|
|
|
<section class="card lineage-main-card">
|
|
<div class="lineage-head">
|
|
<h2>家系図<span class="lineage-title-note">重い場合があるので注意</span></h2>
|
|
<div class="lineage-actions">
|
|
<button id="archiveUpdateToggleBtn" class="btn" type="button" aria-pressed="false">更新 OFF</button>
|
|
<button id="archiveResetBtn" class="btn danger" type="button">家系図をリセット</button>
|
|
</div>
|
|
</div>
|
|
<div id="archiveContent" class="archive-content lineage-main-content"></div>
|
|
</section>
|
|
|
|
|
|
<button id="backToGameBtn" class="back-to-game-btn" type="button" hidden aria-label="ゲーム本体へ戻る">▲ 本体</button>
|
|
|
|
</div>
|
|
|
|
<div id="fieldDialog" class="field-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="fieldDialogTitle">
|
|
<div class="field-dialog-panel reset-dialog-panel">
|
|
<h2 id="fieldDialogTitle">リセット設定</h2>
|
|
<p class="field-dialog-lead">サイズとプリセットを組み合わせて観察環境を生成します。</p>
|
|
<div class="field-dialog-section-title">サイズ</div>
|
|
<div class="field-choice-grid">
|
|
<button class="field-choice" data-field-type="park" type="button" aria-pressed="false"><strong>公園</strong><span>大</span></button>
|
|
<button class="field-choice" data-field-type="garden" type="button" aria-pressed="true"><strong>庭</strong><span>中</span></button>
|
|
<button class="field-choice" data-field-type="cage" type="button" aria-pressed="false"><strong>ケージ</strong><span>小</span></button>
|
|
</div>
|
|
<div class="field-dialog-section-title">プリセット</div>
|
|
<div class="field-choice-grid reset-preset-choice-grid">
|
|
<button class="field-choice" data-reset-preset="empty" type="button" aria-pressed="false"><strong>空白</strong><span>何も無い</span></button>
|
|
<button class="field-choice" data-reset-preset="default" type="button" aria-pressed="true"><strong>デフォルト</strong><span>初期生成</span></button>
|
|
<button class="field-choice" data-reset-preset="athletic" type="button" aria-pressed="false"><strong>アスレチック</strong><span>柵とボール</span></button>
|
|
<button class="field-choice" data-reset-preset="crowded" type="button" aria-pressed="false"><strong>過密</strong><span>大量のたりない。</span></button>
|
|
<button class="field-choice" data-reset-preset="family" type="button" aria-pressed="false"><strong>家族</strong><span>2匹とへこ餅</span></button>
|
|
<button class="field-choice" data-reset-preset="war" type="button" aria-pressed="false"><strong>戦争</strong><span>けんかと柵</span></button>
|
|
<button class="field-choice" data-reset-preset="happy" type="button" aria-pressed="false"><strong>幸福</strong><span>掃除機と巣箱</span></button>
|
|
</div>
|
|
<div class="field-dialog-actions">
|
|
<button id="fieldCancelBtn" class="btn" type="button">キャンセル</button>
|
|
<button id="fieldConfirmBtn" class="btn danger" type="button">再生成</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div id="visualSettingsDialog" class="field-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="visualSettingsDialogTitle">
|
|
<div class="field-dialog-panel visual-settings-dialog-panel">
|
|
<h2 id="visualSettingsDialogTitle">表示設定</h2>
|
|
<p class="hint">自動ではFPSに応じて3段階の負荷制御を行います。高はシミュレーション間引きなし、低は常時軽量化です。</p>
|
|
<div class="visual-setting-row">
|
|
<div><strong>エフェクト</strong><span>破片、雨、光の演出</span></div>
|
|
<div class="visual-setting-options" role="group" aria-label="エフェクト">
|
|
<button type="button" data-visual-setting="effects" data-visual-value="off">OFF</button>
|
|
<button type="button" data-visual-setting="effects" data-visual-value="high">ON</button>
|
|
</div>
|
|
</div>
|
|
<div class="visual-setting-row">
|
|
<div><strong>影</strong><span>地面の落ち影とスプライトの影</span></div>
|
|
<div class="visual-setting-options" role="group" aria-label="影">
|
|
<button type="button" data-visual-setting="shadows" data-visual-value="off">OFF</button>
|
|
<button type="button" data-visual-setting="shadows" data-visual-value="high">ON</button>
|
|
</div>
|
|
</div>
|
|
<div class="visual-setting-row">
|
|
<div><strong>描画</strong><span>装飾と解像度の設定</span></div>
|
|
<div class="visual-setting-options" role="group" aria-label="描画">
|
|
<button type="button" data-visual-setting="details" data-visual-value="auto">自動</button>
|
|
<button type="button" data-visual-setting="details" data-visual-value="low">低</button>
|
|
<button type="button" data-visual-setting="details" data-visual-value="high">高</button>
|
|
</div>
|
|
</div>
|
|
<div class="field-dialog-actions">
|
|
<button id="visualSettingsCloseBtn" class="btn" type="button">閉じる</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div id="creditsDialog" class="field-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="creditsDialogTitle">
|
|
<div class="field-dialog-panel">
|
|
<h2 id="creditsDialogTitle">クレジット</h2>
|
|
<div>
|
|
<p><strong>製作:</strong> 333</p>
|
|
<p><strong>イラスト:</strong> むらさき氏 / いらすとや: <a href="https://www.irasutoya.com/" target="_blank" rel="noopener">https://www.irasutoya.com/</a></p>
|
|
<p><strong>効果音:</strong> VOICEVOX: ずんだもん 効果音ラボ: <a href="https://soundeffect-lab.info/" target="_blank" rel="noopener">https://soundeffect-lab.info/</a></p>
|
|
</div>
|
|
<div class="field-dialog-actions">
|
|
<button id="creditsCloseBtn" class="btn" type="button">閉じる</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="archiveResetDialog" class="field-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="archiveResetDialogTitle">
|
|
<div class="field-dialog-panel archive-reset-dialog-panel">
|
|
<h2 id="archiveResetDialogTitle">家系図をリセットしますか?</h2>
|
|
<p class="hint">現在の親子関係と世代情報を消去します。個体そのものや庭の状態は消えません。</p>
|
|
<div class="field-dialog-actions archive-reset-actions">
|
|
<button id="archiveResetCancelBtn" class="btn" type="button">キャンセル</button>
|
|
<button id="archiveResetConfirmBtn" class="btn danger" type="button">リセットする</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="ecologyDialog" class="field-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="ecologyDialogTitle">
|
|
<div class="field-dialog-panel ecology-dialog-panel">
|
|
<h2 id="ecologyDialogTitle">たりないの生態</h2>
|
|
<div id="ecologyGrid" class="ecology-grid"></div>
|
|
<div class="field-dialog-actions">
|
|
<button id="ecologyCloseBtn" class="btn" type="button">閉じる</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="logPushOverlay" class="log-push-overlay" aria-live="polite" aria-atomic="false"></div>
|
|
<script src="js/version.js?v=39.16.18" defer></script>
|
|
<script src="js/event_bus.js?v=39.16.18" defer></script>
|
|
<script src="js/domain_ids.js?v=39.16.18" defer></script>
|
|
<script src="js/registry_base.js?v=39.16.18" defer></script>
|
|
<script src="js/disease_registry.js?v=39.16.18" defer></script>
|
|
<script src="js/sound_pack.js?v=39.16.18" defer></script>
|
|
<script src="js/deterministic_helpers.js?v=39.16.18" defer></script>
|
|
<script src="js/item_tool_metadata.js?v=39.16.18" defer></script>
|
|
<script src="js/item_tool_definitions.js?v=39.16.18" defer></script>
|
|
<script src="js/item_visual_definitions.js?v=39.16.18" defer></script>
|
|
<script src="js/item_food_definitions.js?v=39.16.18" defer></script>
|
|
<script src="js/item_effect_definitions.js?v=39.16.18" defer></script>
|
|
<script src="js/item_registry.js?v=39.16.18" defer></script>
|
|
<script src="js/data.js?v=39.16.18" defer></script>
|
|
<script src="js/ground_types.js?v=39.16.18" defer></script>
|
|
<script src="js/input_mode_manager.js?v=39.16.18" defer></script>
|
|
<script src="js/math.js?v=39.16.18" defer></script>
|
|
<script src="js/geometry_helpers.js?v=39.16.18" defer></script>
|
|
<script src="js/collision_footprint_system.js?v=39.16.18" defer></script>
|
|
<script src="js/physics_helpers.js?v=39.16.18" defer></script>
|
|
<script src="js/placement_preview_system.js?v=39.16.18" defer></script>
|
|
<script src="js/pin_attachment_system.js?v=39.16.18" defer></script>
|
|
<script src="js/physics_shape_editor_system.js?v=39.16.18" defer></script>
|
|
<script src="js/mechanical_system.js?v=39.16.18" defer></script>
|
|
<script src="js/mechanical_shape_bridge.js?v=39.16.18" defer></script>
|
|
<script src="js/constraint_system.js?v=39.16.18" defer></script>
|
|
<script src="js/physics_world_system.js?v=39.16.18" defer></script>
|
|
<script src="js/physics_projection_system.js?v=39.16.18" defer></script>
|
|
<script src="js/signal_system.js?v=39.16.18" defer></script>
|
|
<script src="js/assets.js?v=39.16.18" defer></script>
|
|
<script src="js/audio.js?v=39.16.18" defer></script>
|
|
<script src="js/perf_profiler.js?v=39.16.18" defer></script>
|
|
<script src="js/display_helpers.js?v=39.16.18" defer></script>
|
|
<script src="js/render.js?v=39.16.18" defer></script>
|
|
<script src="js/sim_core.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_seed_factory.js?v=39.16.18" defer></script>
|
|
<script src="js/structures.js?v=39.16.18" defer></script>
|
|
<script src="js/item_type_catalog.js?v=39.16.18" defer></script>
|
|
<script src="js/items.js?v=39.16.18" defer></script>
|
|
<script src="js/item_type_initializers.js?v=39.16.18" defer></script>
|
|
<script src="js/item_lifecycle_support.js?v=39.16.18" defer></script>
|
|
<script src="js/item_update_policy.js?v=39.16.18" defer></script>
|
|
<script src="js/fire_runtime_system.js?v=39.16.18" defer></script>
|
|
<script src="js/robot_cleaner_system.js?v=39.16.18" defer></script>
|
|
<script src="js/item_dynamic_tool_system.js?v=39.16.18" defer></script>
|
|
<script src="js/item_dynamic_ball_system.js?v=39.16.18" defer></script>
|
|
<script src="js/item_dynamic_duplicator_system.js?v=39.16.18" defer></script>
|
|
<script src="js/item_dynamic_pin_system.js?v=39.16.18" defer></script>
|
|
<script src="js/item_dynamic_zunchi_system.js?v=39.16.18" defer></script>
|
|
<script src="js/item_dynamic_system.js?v=39.16.18" defer></script>
|
|
<script src="js/item_lifecycle_decay_system.js?v=39.16.18" defer></script>
|
|
<script src="js/item_lifecycle_growth_system.js?v=39.16.18" defer></script>
|
|
<script src="js/item_lifecycle_step_frame.js?v=39.16.18" defer></script>
|
|
<script src="js/item_lifecycle_step_decay.js?v=39.16.18" defer></script>
|
|
<script src="js/item_lifecycle_step_dynamic.js?v=39.16.18" defer></script>
|
|
<script src="js/item_lifecycle_step_growth.js?v=39.16.18" defer></script>
|
|
<script src="js/update_step_pipeline_runner.js?v=39.16.18" defer></script>
|
|
<script src="js/item_lifecycle_pipeline.js?v=39.16.18" defer></script>
|
|
<script src="js/item_runtime.js?v=39.16.18" defer></script>
|
|
<script src="js/structure_lifecycle.js?v=39.16.18" defer></script>
|
|
<script src="js/item_render_helpers.js?v=39.16.18" defer></script>
|
|
<script src="js/item_render_runtime.js?v=39.16.18" defer></script>
|
|
<script src="js/burn_motion_util.js?v=39.16.18" defer></script>
|
|
<script src="js/ants.js?v=39.16.18" defer></script>
|
|
<script src="js/health.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_action_spec.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_behavior_state.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_identity_social.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_action_state.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_disease_nest.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_item_effects.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_needs_core.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_behavior_text.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_forced_behavior.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_nest_sleep_system.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_item_targeting.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_consumable_behavior.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_social_action_runtime.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_building_behavior.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_action_definitions.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_needs_items.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_food_prototype_mixin.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_need_planner_system.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_item_interaction_context.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_food_interaction_system.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_contact_item_system.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_item_interaction_system.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_sunbath_system.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_cursor_care_system.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_local_environment_system.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_social_move_life.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_update_step_frame.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_update_step_ai.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_update_step_environment.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_update_step_movement.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_update_step_health.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_update_pipeline.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_runtime.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_render.js?v=39.16.18" defer></script>
|
|
<script src="js/world.js?v=39.16.18" defer></script>
|
|
<script src="js/world_view.js?v=39.16.18" defer></script>
|
|
<script src="js/family_graph.js?v=39.16.18" defer></script>
|
|
<script src="js/world_reset_presets.js?v=39.16.18" defer></script>
|
|
<script src="js/world_family_social.js?v=39.16.18" defer></script>
|
|
<script src="js/impact_core_system.js?v=39.16.18" defer></script>
|
|
<script src="js/impact_response_system.js?v=39.16.18" defer></script>
|
|
<script src="js/collision_response_system.js?v=39.16.18" defer></script>
|
|
<script src="js/world_combat_effects.js?v=39.16.18" defer></script>
|
|
<script src="js/world_environment.js?v=39.16.18" defer></script>
|
|
<script src="js/world_temperature_system.js?v=39.16.18" defer></script>
|
|
<script src="js/world_pathfinding_system.js?v=39.16.18" defer></script>
|
|
<script src="js/world_grass_placement_system.js?v=39.16.18" defer></script>
|
|
<script src="js/world_spatial_budget.js?v=39.16.18" defer></script>
|
|
<script src="js/world_ants_system.js?v=39.16.18" defer></script>
|
|
<script src="js/weather_system.js?v=39.16.18" defer></script>
|
|
<script src="js/item_update_scheduler.js?v=39.16.18" defer></script>
|
|
<script src="js/simulation_runtime_helpers.js?v=39.16.18" defer></script>
|
|
<script src="js/tarinai_update_policy.js?v=39.16.18" defer></script>
|
|
<script src="js/simulation_environment_system.js?v=39.16.18" defer></script>
|
|
<script src="js/simulation_item_ant_system.js?v=39.16.18" defer></script>
|
|
<script src="js/simulation_effects_system.js?v=39.16.18" defer></script>
|
|
<script src="js/simulation_creature_system.js?v=39.16.18" defer></script>
|
|
<script src="js/simulation_maintenance_system.js?v=39.16.18" defer></script>
|
|
<script src="js/simulation_ambient_system.js?v=39.16.18" defer></script>
|
|
<script src="js/simulation_systems.js?v=39.16.18" defer></script>
|
|
<script src="js/system_order.js?v=39.16.18" defer></script>
|
|
<script src="js/simulation.js?v=39.16.18" defer></script>
|
|
<script src="js/colony_situation_system.js?v=39.16.18" defer></script>
|
|
<script src="js/world_update.js?v=39.16.18" defer></script>
|
|
<script src="js/world_tool_actions.js?v=39.16.18" defer></script>
|
|
<script src="js/world_placement_log.js?v=39.16.18" defer></script>
|
|
<script src="js/world_event_effects.js?v=39.16.18" defer></script>
|
|
<script src="js/command_dispatcher.js?v=39.16.18" defer></script>
|
|
<script src="js/text_catalog.js?v=39.16.18" defer></script>
|
|
<script src="js/ui.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_log.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_helpers.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_selected.js?v=39.16.18" defer></script>
|
|
<script src="js/save_schema.js?v=39.16.18" defer></script>
|
|
<script src="js/snapshot_system.js?v=39.16.18" defer></script>
|
|
<script src="js/restore_coordinator.js?v=39.16.18" defer></script>
|
|
<script src="js/history_system.js?v=39.16.18" defer></script>
|
|
<script src="js/save_codec.js?v=39.16.18" defer></script>
|
|
<script src="js/save_storage.js?v=39.16.18" defer></script>
|
|
<script src="js/save_system.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_tooltips.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_layout_dialogs.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_ground.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_tools.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_input_shared.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_pointer_action_system.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_input_touch.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_input_mouse.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_bind.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_charts.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_family_data.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_family_async.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_family_layout.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_family_paths.js?v=39.16.18" defer></script>
|
|
<script src="js/ui_family_render.js?v=39.16.18" defer></script>
|
|
<script src="js/main.js?v=39.16.18" defer></script>
|
|
<script src="js/debug_tools.js?v=39.16.18" defer></script>
|
|
</body>
|
|
</html>
|