diff --git a/README.md b/README.md
index d95d6f48..01cae2c2 100644
--- a/README.md
+++ b/README.md
@@ -4,4 +4,23 @@
# 说明
-- [DialogueManager 使用与维护说明](https://docs.qq.com/doc/DWG5vaEZ1Qk9EdVVw)
\ No newline at end of file
+- animation frames:res://config/animation/entity_sprite_frames.tres
+
+## 插件
+
+- [DialogueManager 使用与维护说明](https://docs.qq.com/doc/DWG5vaEZ1Qk9EdVVw)
+- [GIF 插件](https://godotengine.org/asset-library/asset/2255)
+
+## Ground 与 GroundLoader
+
+- 正常游戏:Main -> GroundLoader -> Ground
+- 开发阶段:直接编辑 Ground
+
+## 存档结构
+
+- 开发阶段存档:save0
+- 正常继续游戏存档:save1
+
+每个场景都有一份 GroundArchive 存档,通过 ArchiveManager.archive.ground_archive() 可以获得。
+
+current_scene 是通过 GroundLoader 加载的,在 ground loader 加载 ground 时,会先更新 archive 的 current scene,然后加载 ground。
diff --git a/addons/godotgif/LICENSE.txt b/addons/godotgif/LICENSE.txt
new file mode 100644
index 00000000..f8a23348
--- /dev/null
+++ b/addons/godotgif/LICENSE.txt
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 B0TLANNER Games
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/addons/godotgif/README.md b/addons/godotgif/README.md
new file mode 100644
index 00000000..019419b4
--- /dev/null
+++ b/addons/godotgif/README.md
@@ -0,0 +1,139 @@
+# Godot GIF
+
+
+
+
+
+
+
+
+
+
+
+
+## Description
+GDExtension for Godot 4+ to load GIF files as [AnimatedTexture](https://docs.godotengine.org/en/stable/classes/class_animatedtexture.html) and/or [SpriteFrames](https://docs.godotengine.org/en/stable/classes/class_spriteframes.html).
+
+NOTE: ~~**AnimatedTexture**~~ has been marked as deprecated according to development docs and could be removed in a future version of Godot.
+
+
+## Usage
+
+### Editor
+
+Gif files can be imported at edit time as one of the supported types via Import options.
+
+
+ Editor Imports Options
+
+
+
+
+See the [Editor Imports](./demo/editor_imports_example.tscn) example scene.
+
+ Editor Imports Example
+
+
+
+
+
+
+### Runtime
+
+Gif files can be loaded at runtime as one of the supported types via the `GifManager` singleton.
+
+`GifManager` exposes the following methods for loading gifs either from file or from bytes directly:
+
+
+e.g. to load from file
+```py
+get_node("AnimFromRuntimeFile").texture = GifManager.animated_texture_from_file("res://examples/file/optic.gif")
+
+get_node("AnimatedSprite2RuntimeFile").sprite_frames = GifManager.sprite_frames_from_file("res://examples/file/optic.gif")
+```
+
+See the [Runtime Imports](./demo/main.tscn) example scene.
+
+ Runtime Imports Example
+
+
+
+
+
+## Installation
+
+Download the `gdextension` artifact from the [latest successful build](https://github.com/BOTLANNER/godot-gif/actions/workflows/build_releases.yml). (It should be right at the bottom of the **Summary**)
+
+
+Extract the contents to your Godot project directory.
+
+You should have an `addons` directory at the root with the following structure:
+```bash
+└───addons
+ └───godotgif
+ │ godotgif.gdextension
+ │ LICENSE.txt
+ │ README.md
+ │
+ └───bin
+ │ godotgif.windows.template_debug.x86_32.dll
+ │ godotgif.windows.template_debug.x86_64.dll
+ │ godotgif.windows.template_release.x86_32.dll
+ │ godotgif.windows.template_release.x86_64.dll
+ │ libgodotgif.android.template_debug.arm64.so
+ │ libgodotgif.android.template_release.arm64.so
+ │ libgodotgif.linux.template_debug.x86_32.so
+ │ libgodotgif.linux.template_debug.x86_64.so
+ │ libgodotgif.linux.template_release.x86_32.so
+ │ libgodotgif.linux.template_release.x86_64.so
+ │
+ ├───godotgif.macos.template_debug.framework
+ │ libgodotgif.macos.template_debug
+ │
+ └───godotgif.macos.template_release.framework
+ libgodotgif.macos.template_release
+```
+
+Open your project. Any exisitng gifs should auto-import. New gifs in the project directory will automatically import as `SpriteFrames`. To convert them into `AnimatedTexture`, update the [import settings](#editor).
+
+The `GifManager` class should also now be available for access within GDScript.
+
+## Contributing
+
+### Setup
+
+Ensure **SCons** is setup. Refer to [Introduction to the buildsystem](https://docs.godotengine.org/en/stable/contributing/development/compiling/introduction_to_the_buildsystem.html)
+
+* If using a different version of Godot, be sure to dump the bindings e.g.
+ ```sh
+ godot --dump-extension-api extension_api.json
+ ```
+* Compile with
+ ```sh
+ scons platform= custom_api_file=extension_api.json
+ ```
+
+### Debugging
+
+This repository is configured for use with [VSCode](https://code.visualstudio.com/)
+
+[Launch configurations](./.vscode/launch.json) have been setup for both debugging in editor and in runtime provided certain **VSCode** extensions are present and environment variables are defined.
+
+The following environment variables are required:
+
+1. `GODOT_PATH` - The directory in which Godot is installed
+1. `GODOT_EXECUTABLE` - The executable name of the Godot installation
+
+### More Details
+Refer to [GDExtension C++ example](https://docs.godotengine.org/en/stable/tutorials/scripting/gdextension/gdextension_cpp_example.html)
+
+
+## License
+
+Unless otherwise specified, the extension is released under the
+[MIT license](LICENSE.txt).
+
+See the full list of third-party libraries with their licenses used by this
+extension at [src/thirdparty/README.md](src/thirdparty/README.md).
+
+This implementation heavily borrowed inspiration from the [gif module](https://github.com/goostengine/goost/tree/gd3/modules/gif) for [Goost](https://github.com/goostengine/goost) that is currently only based on Godot 3
diff --git a/addons/godotgif/bin/godotgif.macos.template_debug.framework/libgodotgif.macos.template_debug b/addons/godotgif/bin/godotgif.macos.template_debug.framework/libgodotgif.macos.template_debug
new file mode 100644
index 00000000..1c6c7739
Binary files /dev/null and b/addons/godotgif/bin/godotgif.macos.template_debug.framework/libgodotgif.macos.template_debug differ
diff --git a/addons/godotgif/bin/godotgif.macos.template_release.framework/libgodotgif.macos.template_release b/addons/godotgif/bin/godotgif.macos.template_release.framework/libgodotgif.macos.template_release
new file mode 100644
index 00000000..dcbb2eaf
Binary files /dev/null and b/addons/godotgif/bin/godotgif.macos.template_release.framework/libgodotgif.macos.template_release differ
diff --git a/addons/godotgif/bin/godotgif.windows.template_debug.x86_32.dll b/addons/godotgif/bin/godotgif.windows.template_debug.x86_32.dll
new file mode 100644
index 00000000..84b492d4
Binary files /dev/null and b/addons/godotgif/bin/godotgif.windows.template_debug.x86_32.dll differ
diff --git a/addons/godotgif/bin/godotgif.windows.template_debug.x86_64.dll b/addons/godotgif/bin/godotgif.windows.template_debug.x86_64.dll
new file mode 100644
index 00000000..503c2d67
Binary files /dev/null and b/addons/godotgif/bin/godotgif.windows.template_debug.x86_64.dll differ
diff --git a/addons/godotgif/bin/godotgif.windows.template_release.x86_32.dll b/addons/godotgif/bin/godotgif.windows.template_release.x86_32.dll
new file mode 100644
index 00000000..021e7bdb
Binary files /dev/null and b/addons/godotgif/bin/godotgif.windows.template_release.x86_32.dll differ
diff --git a/addons/godotgif/bin/godotgif.windows.template_release.x86_64.dll b/addons/godotgif/bin/godotgif.windows.template_release.x86_64.dll
new file mode 100644
index 00000000..4ffd517f
Binary files /dev/null and b/addons/godotgif/bin/godotgif.windows.template_release.x86_64.dll differ
diff --git a/addons/godotgif/bin/libgodotgif.android.template_debug.arm64.so b/addons/godotgif/bin/libgodotgif.android.template_debug.arm64.so
new file mode 100644
index 00000000..a5d8f535
Binary files /dev/null and b/addons/godotgif/bin/libgodotgif.android.template_debug.arm64.so differ
diff --git a/addons/godotgif/bin/libgodotgif.android.template_release.arm64.so b/addons/godotgif/bin/libgodotgif.android.template_release.arm64.so
new file mode 100644
index 00000000..6f349587
Binary files /dev/null and b/addons/godotgif/bin/libgodotgif.android.template_release.arm64.so differ
diff --git a/addons/godotgif/bin/libgodotgif.linux.template_debug.x86_32.so b/addons/godotgif/bin/libgodotgif.linux.template_debug.x86_32.so
new file mode 100644
index 00000000..ed99762c
Binary files /dev/null and b/addons/godotgif/bin/libgodotgif.linux.template_debug.x86_32.so differ
diff --git a/addons/godotgif/bin/libgodotgif.linux.template_debug.x86_64.so b/addons/godotgif/bin/libgodotgif.linux.template_debug.x86_64.so
new file mode 100644
index 00000000..1368208f
Binary files /dev/null and b/addons/godotgif/bin/libgodotgif.linux.template_debug.x86_64.so differ
diff --git a/addons/godotgif/bin/libgodotgif.linux.template_release.x86_32.so b/addons/godotgif/bin/libgodotgif.linux.template_release.x86_32.so
new file mode 100644
index 00000000..eb9dc8d3
Binary files /dev/null and b/addons/godotgif/bin/libgodotgif.linux.template_release.x86_32.so differ
diff --git a/addons/godotgif/bin/libgodotgif.linux.template_release.x86_64.so b/addons/godotgif/bin/libgodotgif.linux.template_release.x86_64.so
new file mode 100644
index 00000000..d53992d3
Binary files /dev/null and b/addons/godotgif/bin/libgodotgif.linux.template_release.x86_64.so differ
diff --git a/addons/godotgif/godotgif.gdextension b/addons/godotgif/godotgif.gdextension
new file mode 100644
index 00000000..fb241a26
--- /dev/null
+++ b/addons/godotgif/godotgif.gdextension
@@ -0,0 +1,23 @@
+[configuration]
+
+entry_symbol = "godot_gif_library_init"
+compatibility_minimum = "4.1"
+
+[libraries]
+
+macos.debug = "bin/godotgif.macos.template_debug.framework/libgodotgif.macos.template_debug"
+macos.release = "bin/godotgif.macos.template_release.framework/libgodotgif.macos.template_release"
+windows.debug.x86_32 = "bin/godotgif.windows.template_debug.x86_32.dll"
+windows.release.x86_32 = "bin/godotgif.windows.template_release.x86_32.dll"
+windows.debug.x86_64 = "bin/godotgif.windows.template_debug.x86_64.dll"
+windows.release.x86_64 = "bin/godotgif.windows.template_release.x86_64.dll"
+linux.debug.x86_64 = "bin/libgodotgif.linux.template_debug.x86_64.so"
+linux.release.x86_64 = "bin/libgodotgif.linux.template_release.x86_64.so"
+linux.debug.arm64 = "bin/libgodotgif.linux.template_debug.arm64.so"
+linux.release.arm64 = "bin/libgodotgif.linux.template_release.arm64.so"
+linux.debug.rv64 = "bin/libgodotgif.linux.template_debug.rv64.so"
+linux.release.rv64 = "bin/libgodotgif.linux.template_release.rv64.so"
+android.debug.x86_64 = "bin/libgodotgif.android.template_debug.x86_64.so"
+android.release.x86_64 = "bin/libgodotgif.android.template_release.x86_64.so"
+android.debug.arm64 = "bin/libgodotgif.android.template_debug.arm64.so"
+android.release.arm64 = "bin/libgodotgif.android.template_release.arm64.so"
diff --git a/asset/art/右1跑动男孩ceshi.gif b/asset/art/右1跑动男孩ceshi.gif
new file mode 100644
index 00000000..ea3e9388
Binary files /dev/null and b/asset/art/右1跑动男孩ceshi.gif differ