frontengine 1.0.6__tar.gz → 1.0.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. {frontengine-1.0.6 → frontengine-1.0.7}/PKG-INFO +1 -1
  2. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/pet/desktop_pet.py +30 -3
  3. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/multi_language/english.py +1 -1
  4. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/multi_language/traditional_chinese.py +1 -1
  5. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine.egg-info/PKG-INFO +1 -1
  6. {frontengine-1.0.6 → frontengine-1.0.7}/pyproject.toml +1 -1
  7. {frontengine-1.0.6 → frontengine-1.0.7}/LICENSE +0 -0
  8. {frontengine-1.0.6 → frontengine-1.0.7}/README.md +0 -0
  9. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/__init__.py +0 -0
  10. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/__main__.py +0 -0
  11. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/__init__.py +0 -0
  12. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/base_widget.py +0 -0
  13. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/gif/__init__.py +0 -0
  14. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/gif/paint_gif.py +0 -0
  15. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/image/__init__.py +0 -0
  16. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/image/paint_image.py +0 -0
  17. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/load/__init__.py +0 -0
  18. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/load/load_someone_make_ui.py +0 -0
  19. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/overlay_factory.py +0 -0
  20. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/particle/__init__.py +0 -0
  21. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/particle/particle_ui.py +0 -0
  22. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/pet/__init__.py +0 -0
  23. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/scene/__init__.py +0 -0
  24. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/scene/extend_graphic_scene.py +0 -0
  25. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/scene/extend_graphic_view.py +0 -0
  26. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/scene/scene.py +0 -0
  27. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/sound_player/__init__.py +0 -0
  28. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/sound_player/sound_effect.py +0 -0
  29. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/sound_player/sound_player.py +0 -0
  30. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/text/__init__.py +0 -0
  31. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/text/draw_text.py +0 -0
  32. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/video/__init__.py +0 -0
  33. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/video/video_player.py +0 -0
  34. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/web/__init__.py +0 -0
  35. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/web/webview.py +0 -0
  36. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/show/window_helpers.py +0 -0
  37. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/system_tray/__init__.py +0 -0
  38. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/system_tray/extend_system_tray.py +0 -0
  39. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/__init__.py +0 -0
  40. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/color/__init__.py +0 -0
  41. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/color/global_color.py +0 -0
  42. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/dialog/__init__.py +0 -0
  43. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/dialog/choose_file_dialog.py +0 -0
  44. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/dialog/hotkey_settings_dialog.py +0 -0
  45. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/dialog/save_file_dialog.py +0 -0
  46. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/main_ui.py +0 -0
  47. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/menu/__init__.py +0 -0
  48. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/menu/help_menu.py +0 -0
  49. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/menu/how_to_menu.py +0 -0
  50. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/menu/language_menu.py +0 -0
  51. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/menu/preset_menu.py +0 -0
  52. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/menu/settings_menu.py +0 -0
  53. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/__init__.py +0 -0
  54. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/control_center/__init__.py +0 -0
  55. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/control_center/control_center_ui.py +0 -0
  56. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/gif/__init__.py +0 -0
  57. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/gif/gif_setting_ui.py +0 -0
  58. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/image/__init__.py +0 -0
  59. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/image/image_setting_ui.py +0 -0
  60. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/particle/__init__.py +0 -0
  61. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/particle/particle_setting_ui.py +0 -0
  62. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/pet/__init__.py +0 -0
  63. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/pet/pet_setting_ui.py +0 -0
  64. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/__init__.py +0 -0
  65. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/scene_manager.py +0 -0
  66. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/scene_page/__init__.py +0 -0
  67. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/scene_page/base_scene_page.py +0 -0
  68. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/scene_page/gif.py +0 -0
  69. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/scene_page/image.py +0 -0
  70. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/scene_page/registry.py +0 -0
  71. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/scene_page/sound.py +0 -0
  72. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/scene_page/text.py +0 -0
  73. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/scene_page/video.py +0 -0
  74. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/scene_page/web.py +0 -0
  75. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/scene_setting/scene_setting_ui.py +0 -0
  76. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/sound_player/__init__.py +0 -0
  77. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/sound_player/sound_player_setting_ui.py +0 -0
  78. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/text/__init__.py +0 -0
  79. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/text/text_setting_ui.py +0 -0
  80. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/utils.py +0 -0
  81. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/video/__init__.py +0 -0
  82. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/video/video_setting_ui.py +0 -0
  83. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/web/__init__.py +0 -0
  84. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/ui/page/web/web_setting_ui.py +0 -0
  85. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/user_setting/__init__.py +0 -0
  86. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/user_setting/preset_repository.py +0 -0
  87. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/user_setting/scene_setting.py +0 -0
  88. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/user_setting/user_setting_file.py +0 -0
  89. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/__init__.py +0 -0
  90. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/browser/__init__.py +0 -0
  91. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/browser/browser.py +0 -0
  92. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/critical_exit/__init__.py +0 -0
  93. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/critical_exit/check_key_is_press.py +0 -0
  94. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/critical_exit/critical_exit.py +0 -0
  95. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/critical_exit/win32_vk.py +0 -0
  96. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/exception/__init__.py +0 -0
  97. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/exception/exception_tags.py +0 -0
  98. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/exception/exceptions.py +0 -0
  99. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/file/__init__.py +0 -0
  100. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/file/open/__init__.py +0 -0
  101. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/file/open/open_file.py +0 -0
  102. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/file/save/__init__.py +0 -0
  103. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/file/save/save_file.py +0 -0
  104. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/hotkey/__init__.py +0 -0
  105. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/hotkey/hotkey_service.py +0 -0
  106. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/json/__init__.py +0 -0
  107. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/json/json_file.py +0 -0
  108. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/json/json_repository.py +0 -0
  109. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/json_format/__init__.py +0 -0
  110. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/json_format/json_process.py +0 -0
  111. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/logging/__init__.py +0 -0
  112. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/logging/loggin_instance.py +0 -0
  113. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/multi_language/__init__.py +0 -0
  114. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/multi_language/france.py +0 -0
  115. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/multi_language/germany.py +0 -0
  116. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/multi_language/italy.py +0 -0
  117. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/multi_language/language_wrapper.py +0 -0
  118. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/multi_language/russian.py +0 -0
  119. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/multi_language/simplified_chinese.py +0 -0
  120. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/preset_schedule/__init__.py +0 -0
  121. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/preset_schedule/preset_schedule_service.py +0 -0
  122. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/redirect_manager/__init__.py +0 -0
  123. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/redirect_manager/redirect_manager_class.py +0 -0
  124. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/smart_pause/__init__.py +0 -0
  125. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/smart_pause/smart_pause_service.py +0 -0
  126. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/theme_schedule/__init__.py +0 -0
  127. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/theme_schedule/theme_schedule_service.py +0 -0
  128. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/utils/web_url.py +0 -0
  129. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/worker/__init__.py +0 -0
  130. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine/worker/qthread_worker.py +0 -0
  131. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine.egg-info/SOURCES.txt +0 -0
  132. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine.egg-info/dependency_links.txt +0 -0
  133. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine.egg-info/entry_points.txt +0 -0
  134. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine.egg-info/requires.txt +0 -0
  135. {frontengine-1.0.6 → frontengine-1.0.7}/frontengine.egg-info/top_level.txt +0 -0
  136. {frontengine-1.0.6 → frontengine-1.0.7}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: frontengine
3
- Version: 1.0.6
3
+ Version: 1.0.7
4
4
  Summary: FrontEngine is use-define frontview or only use like screen saver
5
5
  Author-email: JE-Chen <jechenmailman@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/Intergration-Automation-Testing/FrontEngine
@@ -26,6 +26,7 @@ SURFACE_RIGHT = "right"
26
26
  # 視覺狀態(決定顯示哪張精靈)/ Visual states (which sprite to show)
27
27
  STATE_WALK = "walk"
28
28
  STATE_IDLE = "idle"
29
+ STATE_SLEEP = "sleep"
29
30
  STATE_CLIMB = "climb"
30
31
  STATE_FALL = "fall"
31
32
  STATE_DRAG = "drag"
@@ -34,13 +35,23 @@ STATE_DRAG = "drag"
34
35
  # Accepted file stems per state inside a pet pack folder (first match wins).
35
36
  _PACK_STATE_ALIASES = {
36
37
  STATE_WALK: ("walk", "run", "move"),
37
- STATE_IDLE: ("idle", "sit", "stand", "sleep"),
38
+ STATE_IDLE: ("idle", "sit", "stand"),
39
+ STATE_SLEEP: ("sleep", "zzz", "rest"),
38
40
  STATE_CLIMB: ("climb", "grab", "wall"),
39
41
  STATE_FALL: ("fall", "jump"),
40
42
  STATE_DRAG: ("drag", "pinch", "grabbed", "held"),
41
43
  }
42
44
  _PACK_EXTS = (".gif", ".webp", ".png", ".jpg", ".jpeg")
43
45
 
46
+ # 缺該狀態精靈時的退回順序 / Fallback order when a state's sprite is missing
47
+ _STATE_FALLBACKS = {
48
+ STATE_SLEEP: (STATE_IDLE, STATE_WALK),
49
+ STATE_IDLE: (STATE_WALK,),
50
+ STATE_CLIMB: (STATE_WALK,),
51
+ STATE_FALL: (STATE_WALK,),
52
+ STATE_DRAG: (STATE_WALK,),
53
+ }
54
+
44
55
 
45
56
  def scan_pet_pack(folder: str) -> dict:
46
57
  """
@@ -76,6 +87,8 @@ def derive_visual_state(dragging: bool, airborne: bool, surface: str, motion_sta
76
87
  return STATE_FALL
77
88
  if surface in (SURFACE_LEFT, SURFACE_RIGHT, SURFACE_CEILING):
78
89
  return STATE_CLIMB
90
+ if surface == SURFACE_FLOOR and motion_state == STATE_SLEEP:
91
+ return STATE_SLEEP
79
92
  if surface == SURFACE_FLOOR and motion_state == "idle":
80
93
  return STATE_IDLE
81
94
  return STATE_WALK
@@ -192,8 +205,9 @@ class PetMotion:
192
205
  self.vx = float(self.speed)
193
206
  self.vy = 0.0 if behaviour != BEHAVIOUR_WANDER else float(self.speed)
194
207
  self._airborne = False
195
- self.state = "walk" # walk | idle
208
+ self.state = "walk" # walk | idle | sleep
196
209
  self._state_ticks = 0
210
+ self._idle_count = 0
197
211
  self.target: Optional[Tuple[float, float]] = None
198
212
  self.asleep = False
199
213
  self.climb = bool(climb)
@@ -329,13 +343,25 @@ class PetMotion:
329
343
  def _new_state(self, force_walk: bool = False) -> None:
330
344
  if force_walk or self._rng.random() < 0.65:
331
345
  self.state = "walk"
346
+ self._idle_count = 0
332
347
  if not force_walk:
333
348
  self.vx = float(self.speed) if self._rng.random() < 0.5 else float(-self.speed)
334
349
  self._state_ticks = self._rng.randint(30, 120)
350
+ elif self._idle_count >= 2:
351
+ # been idling a while -> doze off
352
+ self.state = STATE_SLEEP
353
+ self._idle_count = 0
354
+ self._state_ticks = self._rng.randint(120, 300)
335
355
  else:
336
356
  self.state = "idle"
357
+ self._idle_count += 1
337
358
  self._state_ticks = self._rng.randint(20, 80)
338
359
 
360
+ def wake(self) -> None:
361
+ """喚醒寵物並恢復走動(互動時呼叫)/ Wake the pet and resume walking."""
362
+ self._idle_count = 0
363
+ self._new_state(force_walk=True)
364
+
339
365
  # --- free wander ---
340
366
  def _step_wander(self, left, top, right, bottom) -> Tuple[int, int]:
341
367
  if abs(self.vy) < 1e-9:
@@ -461,7 +487,7 @@ class DesktopPetWidget(BaseWidget):
461
487
  return self._sprites["default"]
462
488
  if state in self._sprites:
463
489
  return self._sprites[state]
464
- for fallback in (STATE_WALK, STATE_IDLE):
490
+ for fallback in _STATE_FALLBACKS.get(state, (STATE_WALK,)):
465
491
  if fallback in self._sprites:
466
492
  return self._sprites[fallback]
467
493
  return next(iter(self._sprites.values()), None)
@@ -558,6 +584,7 @@ class DesktopPetWidget(BaseWidget):
558
584
  self._moved = False
559
585
  self._last_move_delta = (0, 0)
560
586
  self._drag_offset = event.globalPosition().toPoint() - self.frameGeometry().topLeft()
587
+ self.motion.wake() # interacting wakes a sleeping pet
561
588
  self._set_active_sprite(STATE_DRAG)
562
589
  super().mousePressEvent(event)
563
590
 
@@ -226,7 +226,7 @@ english_word_dict = {
226
226
  "pet_climb_label": "Climb walls",
227
227
  "pet_clone": "Clone",
228
228
  "pet_choose_pack": "Choose pet pack...",
229
- "pet_pack_empty": "No sprites (walk/idle/climb/fall/drag) found in that folder.",
229
+ "pet_pack_empty": "No sprites (walk/idle/sleep/climb/fall/drag) found in that folder.",
230
230
  "pet_talk_label": "Speech bubbles",
231
231
  "pet_chatter_morning": "Good morning!|Rise and shine!|Ready for the day?",
232
232
  "pet_chatter_afternoon": "Good afternoon!|Taking a break?|Keep it up!",
@@ -227,7 +227,7 @@ traditional_chinese_word_dict = {
227
227
  "pet_climb_label": "攀爬牆壁",
228
228
  "pet_clone": "複製",
229
229
  "pet_choose_pack": "選擇動作包資料夾...",
230
- "pet_pack_empty": "該資料夾找不到精靈檔(walk/idle/climb/fall/drag)。",
230
+ "pet_pack_empty": "該資料夾找不到精靈檔(walk/idle/sleep/climb/fall/drag)。",
231
231
  "pet_talk_label": "對話泡泡",
232
232
  "pet_chatter_morning": "早安!|新的一天開始囉!|準備好了嗎?",
233
233
  "pet_chatter_afternoon": "午安!|要不要休息一下?|繼續加油!",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: frontengine
3
- Version: 1.0.6
3
+ Version: 1.0.7
4
4
  Summary: FrontEngine is use-define frontview or only use like screen saver
5
5
  Author-email: JE-Chen <jechenmailman@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/Intergration-Automation-Testing/FrontEngine
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "frontengine"
9
- version = "1.0.6"
9
+ version = "1.0.7"
10
10
  authors = [
11
11
  { name = "JE-Chen", email = "jechenmailman@gmail.com" },
12
12
  ]
File without changes
File without changes
File without changes