This commit is contained in:
2026-06-07 18:21:10 +07:00
parent dfa0e720ac
commit 696d091efa
3 changed files with 47 additions and 34 deletions

View File

@@ -5,6 +5,8 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="d308d1cb-09fc-4331-ba20-00f7b43d1576" name="Changes" comment=""> <list default="true" id="d308d1cb-09fc-4331-ba20-00f7b43d1576" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/.idea.BABA_YAGA/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.BABA_YAGA/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/BABA_YAGA_Updater/mappers/markdown_builder.py" beforeDir="false" afterPath="$PROJECT_DIR$/BABA_YAGA_Updater/mappers/markdown_builder.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" /> <change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
@@ -23,34 +25,34 @@
<commands /> <commands />
<urls /> <urls />
</component> </component>
<component name="ProjectColorInfo"><![CDATA[{ <component name="ProjectColorInfo">{
"associatedIndex": 0 &quot;associatedIndex&quot;: 0
}]]></component> }</component>
<component name="ProjectId" id="3EntV1tfxFOvIa4cn84mOGJGhnc" /> <component name="ProjectId" id="3EntV1tfxFOvIa4cn84mOGJGhnc" />
<component name="ProjectViewState"> <component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" /> <option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" /> <option name="showLibraryContents" value="true" />
</component> </component>
<component name="PropertiesComponent"><![CDATA[{ <component name="PropertiesComponent">{
"keyToString": { &quot;keyToString&quot;: {
"ModuleVcsDetector.initialDetectionPerformed": "true", &quot;ModuleVcsDetector.initialDetectionPerformed&quot;: &quot;true&quot;,
"RunOnceActivity.MCP Project settings loaded": "true", &quot;RunOnceActivity.MCP Project settings loaded&quot;: &quot;true&quot;,
"RunOnceActivity.ShowReadmeOnStart": "true", &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true", &quot;RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252&quot;: &quot;true&quot;,
"RunOnceActivity.git.unshallow": "true", &quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
"RunOnceActivity.typescript.service.memoryLimit.init": "true", &quot;RunOnceActivity.typescript.service.memoryLimit.init&quot;: &quot;true&quot;,
"com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultModelSelectionForGA.v1": "true", &quot;com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultModelSelectionForGA.v1&quot;: &quot;true&quot;,
"git-widget-placeholder": "main", &quot;git-widget-placeholder&quot;: &quot;main&quot;,
"junie.onboarding.icon.badge.shown": "true", &quot;junie.onboarding.icon.badge.shown&quot;: &quot;true&quot;,
"node.js.detected.package.eslint": "true", &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
"node.js.detected.package.tslint": "true", &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
"node.js.selected.package.eslint": "(autodetect)", &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
"node.js.selected.package.tslint": "(autodetect)", &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
"nodejs_package_manager_path": "npm", &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
"to.speed.mode.migration.done": "true", &quot;to.speed.mode.migration.done&quot;: &quot;true&quot;,
"vue.rearranger.settings.migration": "true" &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
} }
}]]></component> }</component>
<component name="RunManager" selected="Attach to Unity Editor.Attach to Unity Editor"> <component name="RunManager" selected="Attach to Unity Editor.Attach to Unity Editor">
<configuration name="Start Unity" type="RunUnityExe" factoryName="Unity Executable"> <configuration name="Start Unity" type="RunUnityExe" factoryName="Unity Executable">
<option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\6000.3.10f1\Editor\Unity.exe" /> <option name="EXE_PATH" value="C:\Program Files\Unity\Hub\Editor\6000.3.10f1\Editor\Unity.exe" />
@@ -96,7 +98,7 @@
<option name="number" value="Default" /> <option name="number" value="Default" />
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1780826181670</updated> <updated>1780826181670</updated>
<workItem from="1780826183468" duration="3073000" /> <workItem from="1780826183468" duration="4921000" />
</task> </task>
<servers /> <servers />
</component> </component>

View File

@@ -6,19 +6,30 @@ class MarkdownBuilder:
if not report.tasks: if not report.tasks:
return "_No tasks updated._" return "_No tasks updated._"
# Table header
header = "| Category | Task | Status | Progress | Notes |\n" header = "| Category | Task | Status | Progress | Notes |\n"
separator = "| :--- | :--- | :--- | :--- | :--- |\n" separator = "| :--- | :--- | :--- | :--- | :--- |\n"
rows = [] rows = []
for task in report.tasks: for task in report.tasks:
# Format status with some icons if possible, or just plain text # Map status to professional badges
status_text = task.status status_clean = task.status.lower().strip()
if "done" in status_text.lower() or "complete" in status_text.lower():
status_text = f"{status_text}"
elif "progress" in status_text.lower():
status_text = f"🔄 {status_text}"
row = f"| {task.category} | {task.task_name} | {status_text} | {task.progress} | {task.notes} |" if any(x in status_clean for x in ["done", "complete", "finished"]):
badge = "![Done](https://img.shields.io/badge/-DONE-2ea44f?style=flat-square)"
elif any(x in status_clean for x in ["progress", "doing", "active"]):
badge = "![In Progress](https://img.shields.io/badge/-PROGRESS-005cc5?style=flat-square)"
elif any(x in status_clean for x in ["planned", "todo", "waiting"]):
badge = "![Planned](https://img.shields.io/badge/-PLANNED-6a737d?style=flat-square)"
elif any(x in status_clean for x in ["bug", "error", "fix"]):
badge = "![Bug](https://img.shields.io/badge/-FIXING-d73a49?style=flat-square)"
else:
badge = f"`{task.status}`" # Fallback to code text
# Progress bar simulation using HTML/Unicode if needed,
# but simple text "75%" is often cleaner.
row = f"| **{task.category}** | {task.task_name} | {badge} | `{task.progress}` | {task.notes} |"
rows.append(row) rows.append(row)
return header + separator + "\n".join(rows) return header + separator + "\n".join(rows)

View File

@@ -1,8 +1,8 @@
# 🌑 BABA_YAGA: The Asymmetric Mind-Game # ![Header](https://img.shields.io/badge/PROJECT-BABA_YAGA-black?style=for-the-badge&logo=shadow)
[![Unity 6000.3.10f1](https://img.shields.io/badge/Unity-6000.3.10f1_LTS-black?logo=unity&logoColor=white)](https://unity.com/) [![Unity 6000.3.10f1](https://img.shields.io/badge/Unity-6000.3.10f1_LTS-black?logo=unity&logoColor=white)](https://unity.com/)
[![Photon Fusion](https://img.shields.io/badge/Networking-Photon_Fusion-blue)](https://www.photonengine.com/fusion) [![Photon Fusion](https://img.shields.io/badge/Networking-Photon_Fusion-blue?style=flat-square)](https://www.photonengine.com/fusion)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![License: MIT](https://img.shields.io/badge/License-MIT-lightgrey?style=flat-square)](https://opensource.org/licenses/MIT)
> **"Trong bóng tối của sự ảo giác, thị giác là công cụ mạnh mẽ nhất, nhưng sự tin tưởng lại là sai lầm chết người."** > **"Trong bóng tối của sự ảo giác, thị giác là công cụ mạnh mẽ nhất, nhưng sự tin tưởng lại là sai lầm chết người."**
@@ -10,7 +10,7 @@
--- ---
## 📑 Mục lục (Table of Contents) ## ![Docs](https://img.shields.io/badge/--Mục_lục-black?style=flat-square&logo=read-the-docs&logoColor=white)
1. [Tầm nhìn Dự án (Project Vision)](#-tầm-nhìn-dự-án-project-vision) 1. [Tầm nhìn Dự án (Project Vision)](#-tầm-nhìn-dự-án-project-vision)
2. [Cơ chế Trò chơi (Core Mechanics)](#-cơ-chế-trò-chơi-core-mechanics) 2. [Cơ chế Trò chơi (Core Mechanics)](#-cơ-chế-trò-chơi-core-mechanics)
3. [Kiến trúc Kỹ thuật (Technical Architecture)](#-kiến-trúc-kỹ-thuật-technical-architecture) 3. [Kiến trúc Kỹ thuật (Technical Architecture)](#-kiến-trúc-kỹ-thuật-technical-architecture)