kigo-gui-framework 3.2__tar.gz → 3.4__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 (74) hide show
  1. {kigo_gui_framework-3.2/kigo_gui_framework.egg-info → kigo_gui_framework-3.4}/PKG-INFO +5 -16
  2. kigo_gui_framework-3.4/kigo/_api.py +8 -0
  3. kigo_gui_framework-3.4/kigo/compile/ast_opt.py +23 -0
  4. kigo_gui_framework-3.4/kigo/compile/pipeline.py +17 -0
  5. kigo_gui_framework-3.4/kigo/gl/__init__.py +10 -0
  6. kigo_gui_framework-3.4/kigo/gl/ssao.py +13 -0
  7. kigo_gui_framework-3.4/kigo/inspector/ECS/ecs_inspector.py +19 -0
  8. kigo_gui_framework-3.4/kigo/inspector/ECS/panel.py +5 -0
  9. kigo_gui_framework-3.4/kigo/inspector/ECS/tree.py +19 -0
  10. kigo_gui_framework-3.4/kigo/inspector/web/bridge.py +8 -0
  11. kigo_gui_framework-3.4/kigo/inspector/web/dom_inspector.py +34 -0
  12. kigo_gui_framework-3.4/kigo/nui/node.py +13 -0
  13. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4/kigo_gui_framework.egg-info}/PKG-INFO +5 -16
  14. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo_gui_framework.egg-info/SOURCES.txt +11 -1
  15. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/pyproject.toml +3 -3
  16. kigo_gui_framework-3.2/README.md +0 -13
  17. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/MANIFEST.in +0 -0
  18. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/README.txt +0 -0
  19. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/_init_.py +0 -0
  20. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/accelerate.py +0 -0
  21. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/android/__init__.py +0 -0
  22. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/android/info.py +0 -0
  23. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/android/lifecycle.py +0 -0
  24. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/android/ossupport.py +0 -0
  25. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/app.py +0 -0
  26. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/cli/__init__.py +0 -0
  27. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/cli/doctor.py +0 -0
  28. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/cli/main.py +0 -0
  29. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/debug/__init__.py +0 -0
  30. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/debug/freeze.py +0 -0
  31. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/ecs/__init__.py +0 -0
  32. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/ecs/component.py +0 -0
  33. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/ecs/entity.py +0 -0
  34. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/ecs/render.py +0 -0
  35. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/ecs/system.py +0 -0
  36. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/ecs/world.py +0 -0
  37. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/fx_gl2d.py +0 -0
  38. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/fx_quick.py +0 -0
  39. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/gpu.py +0 -0
  40. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/hud.py +0 -0
  41. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/hwaccel.py +0 -0
  42. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/inspector/__init__.py +0 -0
  43. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/inspector/inspector.py +0 -0
  44. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/inspector/overlay.py +0 -0
  45. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/inspector/panel.py +0 -0
  46. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/logging/__init__.py +0 -0
  47. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/logging/jsonlog.py +0 -0
  48. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/media.py +0 -0
  49. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/net/__init__.py +0 -0
  50. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/net/qnetwork.py +0 -0
  51. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/physics.py +0 -0
  52. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/physics_policy.py +0 -0
  53. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/platform.py +0 -0
  54. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/qt/__init__.py +0 -0
  55. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/qt/backend.py +0 -0
  56. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/runtime.py +0 -0
  57. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/shader_demo.py +0 -0
  58. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/shim.py +0 -0
  59. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/skins.py +0 -0
  60. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/studio/__init__.py +0 -0
  61. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/studio/core.py +0 -0
  62. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/studio/overlay.py +0 -0
  63. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/style.py +0 -0
  64. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/tree.py +0 -0
  65. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/wasm/__init__.py +0 -0
  66. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/wasm/executor.py +0 -0
  67. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/wasm/module.py +0 -0
  68. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo/widgets.py +0 -0
  69. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo_gui_framework.egg-info/dependency_links.txt +0 -0
  70. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo_gui_framework.egg-info/entry_points.txt +0 -0
  71. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo_gui_framework.egg-info/requires.txt +0 -0
  72. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/kigo_gui_framework.egg-info/top_level.txt +0 -0
  73. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/setup.cfg +0 -0
  74. {kigo_gui_framework-3.2 → kigo_gui_framework-3.4}/setup.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kigo-gui-framework
3
- Version: 3.2
4
- Summary: Kigo has Time Freeze Debugging and a Visual Inspector now.
3
+ Version: 3.4
4
+ Summary: Kigo has SSAO,Compile-Time Optimisation. Also, thanks for 20k downloads in 5 months!
5
5
  Author: Anand Kumar
6
6
  License: Zlib
7
7
  Keywords: gui,qt,pyqt,webengine,opengl,wasm,android,chromeos,framework
@@ -12,7 +12,7 @@ Classifier: Operating System :: Microsoft :: Windows
12
12
  Classifier: Operating System :: POSIX :: Linux
13
13
  Classifier: Operating System :: MacOS :: MacOS X
14
14
  Requires-Python: >=3.9
15
- Description-Content-Type: text/markdown
15
+ Description-Content-Type: text/plain
16
16
  Requires-Dist: PyQt6
17
17
  Requires-Dist: pybullet
18
18
  Requires-Dist: pybullet-data
@@ -20,16 +20,5 @@ Requires-Dist: PyQt6-WebEngine
20
20
  Requires-Dist: PyOpenGL
21
21
  Requires-Dist: wasmtime
22
22
 
23
- Kigo now has support for networking and
24
- SunOS
25
- Solaris
26
- FreeBSD
27
- Android
28
- Linux
29
- Mac
30
- Windous
31
- ChromeOS
32
- Kigo also has two CLI commands:
33
- kigo run
34
- kigo doctor.
35
- CLASS 5 IS TOUGH. VERY TOUGH. but you will get updates
23
+ Kigo now has time freeze debugging and a scene inspector using my Neolog
24
+ engine (well, it is based off of Qt's things, but who cares, neolog is a good name)
@@ -0,0 +1,8 @@
1
+ PUBLIC_API = {
2
+ "App",
3
+ "freeze",
4
+ "enable_inspector",
5
+ "enable_dom_inspector",
6
+ "ECSInspector",
7
+ "req",
8
+ }
@@ -0,0 +1,23 @@
1
+ # SPDX-License-Identifier: Zlib
2
+ # kigo/compile/ast_opt.py
3
+
4
+ import ast
5
+
6
+
7
+ class KigoASTOptimizer(ast.NodeTransformer):
8
+ def __init__(self, *, release: bool):
9
+ self.release = release
10
+
11
+ def visit_If(self, node):
12
+ # Remove `if dev:` blocks in release
13
+ if self.release and isinstance(node.test, ast.Name):
14
+ if node.test.id == "dev":
15
+ return None
16
+
17
+ return self.generic_visit(node)
18
+
19
+ def visit_Assert(self, node):
20
+ # Strip asserts in release mode
21
+ if self.release:
22
+ return None
23
+ return node
@@ -0,0 +1,17 @@
1
+ # SPDX-License-Identifier: Zlib
2
+ # kigo/compile/pipeline.py
3
+
4
+ import ast
5
+ from kigo.compile.ast_opt import KigoASTOptimizer
6
+
7
+
8
+ def kigo_compile(source: str, *, filename="<kigo>", release=False):
9
+ tree = ast.parse(source, filename=filename)
10
+
11
+ # AST optimization pass
12
+ tree = KigoASTOptimizer(release=release).visit(tree)
13
+ ast.fix_missing_locations(tree)
14
+
15
+ # Compile with optimize flags
16
+ optimize_level = 2 if release else 0
17
+ return compile(tree, filename, "exec", optimize=optimize_level)
@@ -0,0 +1,10 @@
1
+ # SPDX-License-Identifier: Zlib
2
+ # kigo/ssao/__init__.py
3
+
4
+ from .ssao import SSAO, SSAOConfig, enable_ssao
5
+
6
+ __all__ = [
7
+ "SSAO",
8
+ "SSAOConfig",
9
+ "enable_ssao",
10
+ ]
@@ -0,0 +1,13 @@
1
+ class SSAOSettings:
2
+ def __init__(self, radius=0.5, bias=0.025, samples=32):
3
+ self.radius = radius
4
+ self.bias = bias
5
+ self.samples = samples
6
+
7
+
8
+ def enable_ssao(*, radius=0.5, strength=1.0, blur=True):
9
+ """
10
+ Enable screen-space ambient occlusion in the current GL pipeline.
11
+ """
12
+ # Internals handled by renderer
13
+ pass
@@ -0,0 +1,19 @@
1
+ from kigo.qt.backend import QtWidgets
2
+ from kigo.inspector.ecs.tree import EntityTree
3
+ from kigo.inspector.ecs.panel import ComponentPanel
4
+
5
+ class ECSInspector(QtWidgets.QDockWidget):
6
+ def __init__(self, world):
7
+ super().__init__("ECS Inspector")
8
+ self.world = world
9
+
10
+ splitter = QtWidgets.QSplitter()
11
+
12
+ self.tree = EntityTree(world)
13
+ self.panel = ComponentPanel()
14
+
15
+ self.tree.entitySelected.connect(self.panel.inspect)
16
+
17
+ splitter.addWidget(self.tree)
18
+ splitter.addWidget(self.panel)
19
+ self.setWidget(splitter)
@@ -0,0 +1,5 @@
1
+ from kigo.qt.backend import QtWidgets
2
+
3
+ class ComponentPanel(QtWidgets.QPlainTextEdit):
4
+ def inspect(self, entity_id):
5
+ self.setPlainText(f"Components for entity {entity_id}")
@@ -0,0 +1,19 @@
1
+ from kigo.qt.backend import QtWidgets, QtCore
2
+
3
+ class EntityTree(QtWidgets.QTreeWidget):
4
+ entitySelected = QtCore.Signal(object)
5
+
6
+ def __init__(self, world):
7
+ super().__init__()
8
+ self.world = world
9
+ self.setHeaderLabels(["Entity"])
10
+ self.refresh()
11
+ self.itemClicked.connect(self.on_click)
12
+
13
+ def refresh(self):
14
+ self.clear()
15
+ for eid in self.world.entities:
16
+ QtWidgets.QTreeWidgetItem(self, [str(eid)])
17
+
18
+ def on_click(self, item):
19
+ self.entitySelected.emit(item.text(0))
@@ -0,0 +1,8 @@
1
+ from kigo.qt.backend import QtCore
2
+
3
+ class DOMBridge(QtCore.QObject):
4
+ nodeSelected = QtCore.Signal(dict)
5
+
6
+ @QtCore.Slot(dict)
7
+ def notify(self, data):
8
+ self.nodeSelected.emit(data)
@@ -0,0 +1,34 @@
1
+ from kigo.qt.backend import QtWebEngineWidgets, QtWebChannel
2
+ from kigo.inspector.web.bridge import DOMBridge
3
+
4
+ def enable_dom_inspector(view: QtWebEngineWidgets.QWebEngineView):
5
+ page = view.page()
6
+
7
+ channel = QtWebChannel.QWebChannel(page)
8
+ bridge = DOMBridge()
9
+ channel.registerObject("kigoInspector", bridge)
10
+ page.setWebChannel(channel)
11
+
12
+ page.runJavaScript("""
13
+ (function () {
14
+ document.addEventListener('click', function (e) {
15
+ e.preventDefault();
16
+ e.stopPropagation();
17
+
18
+ const el = e.target;
19
+ const rect = el.getBoundingClientRect();
20
+
21
+ kigoInspector.notify({
22
+ tag: el.tagName,
23
+ id: el.id,
24
+ class: el.className,
25
+ x: rect.x,
26
+ y: rect.y,
27
+ width: rect.width,
28
+ height: rect.height
29
+ });
30
+ }, true);
31
+ })();
32
+ """)
33
+
34
+ return bridge
@@ -0,0 +1,13 @@
1
+ class Node:
2
+ def __init__(self, backend, ref):
3
+ self.backend = backend
4
+ self.ref = ref
5
+
6
+ def set(self, **props):
7
+ if self.backend == "qt":
8
+ for k, v in props.items():
9
+ setattr(self.ref, k, v)
10
+ elif self.backend == "web":
11
+ self.ref.page().runJavaScript(
12
+ f"Object.assign(window.__node, {props})"
13
+ )
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kigo-gui-framework
3
- Version: 3.2
4
- Summary: Kigo has Time Freeze Debugging and a Visual Inspector now.
3
+ Version: 3.4
4
+ Summary: Kigo has SSAO,Compile-Time Optimisation. Also, thanks for 20k downloads in 5 months!
5
5
  Author: Anand Kumar
6
6
  License: Zlib
7
7
  Keywords: gui,qt,pyqt,webengine,opengl,wasm,android,chromeos,framework
@@ -12,7 +12,7 @@ Classifier: Operating System :: Microsoft :: Windows
12
12
  Classifier: Operating System :: POSIX :: Linux
13
13
  Classifier: Operating System :: MacOS :: MacOS X
14
14
  Requires-Python: >=3.9
15
- Description-Content-Type: text/markdown
15
+ Description-Content-Type: text/plain
16
16
  Requires-Dist: PyQt6
17
17
  Requires-Dist: pybullet
18
18
  Requires-Dist: pybullet-data
@@ -20,16 +20,5 @@ Requires-Dist: PyQt6-WebEngine
20
20
  Requires-Dist: PyOpenGL
21
21
  Requires-Dist: wasmtime
22
22
 
23
- Kigo now has support for networking and
24
- SunOS
25
- Solaris
26
- FreeBSD
27
- Android
28
- Linux
29
- Mac
30
- Windous
31
- ChromeOS
32
- Kigo also has two CLI commands:
33
- kigo run
34
- kigo doctor.
35
- CLASS 5 IS TOUGH. VERY TOUGH. but you will get updates
23
+ Kigo now has time freeze debugging and a scene inspector using my Neolog
24
+ engine (well, it is based off of Qt's things, but who cares, neolog is a good name)
@@ -1,8 +1,8 @@
1
1
  MANIFEST.in
2
- README.md
3
2
  README.txt
4
3
  pyproject.toml
5
4
  setup.py
5
+ kigo/_api.py
6
6
  kigo/_init_.py
7
7
  kigo/accelerate.py
8
8
  kigo/app.py
@@ -29,6 +29,8 @@ kigo/android/ossupport.py
29
29
  kigo/cli/__init__.py
30
30
  kigo/cli/doctor.py
31
31
  kigo/cli/main.py
32
+ kigo/compile/ast_opt.py
33
+ kigo/compile/pipeline.py
32
34
  kigo/debug/__init__.py
33
35
  kigo/debug/freeze.py
34
36
  kigo/ecs/__init__.py
@@ -37,14 +39,22 @@ kigo/ecs/entity.py
37
39
  kigo/ecs/render.py
38
40
  kigo/ecs/system.py
39
41
  kigo/ecs/world.py
42
+ kigo/gl/__init__.py
43
+ kigo/gl/ssao.py
40
44
  kigo/inspector/__init__.py
41
45
  kigo/inspector/inspector.py
42
46
  kigo/inspector/overlay.py
43
47
  kigo/inspector/panel.py
48
+ kigo/inspector/ECS/ecs_inspector.py
49
+ kigo/inspector/ECS/panel.py
50
+ kigo/inspector/ECS/tree.py
51
+ kigo/inspector/web/bridge.py
52
+ kigo/inspector/web/dom_inspector.py
44
53
  kigo/logging/__init__.py
45
54
  kigo/logging/jsonlog.py
46
55
  kigo/net/__init__.py
47
56
  kigo/net/qnetwork.py
57
+ kigo/nui/node.py
48
58
  kigo/qt/__init__.py
49
59
  kigo/qt/backend.py
50
60
  kigo/studio/__init__.py
@@ -5,9 +5,9 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "kigo-gui-framework"
8
- version = "3.2"
9
- description = "Kigo has Time Freeze Debugging and a Visual Inspector now."
10
- readme = "README.md"
8
+ version = "3.4"
9
+ description = "Kigo has SSAO,Compile-Time Optimisation. Also, thanks for 20k downloads in 5 months!"
10
+ readme = "README.txt"
11
11
  license = { text = "Zlib" }
12
12
 
13
13
  authors = [
@@ -1,13 +0,0 @@
1
- Kigo now has support for networking and
2
- SunOS
3
- Solaris
4
- FreeBSD
5
- Android
6
- Linux
7
- Mac
8
- Windous
9
- ChromeOS
10
- Kigo also has two CLI commands:
11
- kigo run
12
- kigo doctor.
13
- CLASS 5 IS TOUGH. VERY TOUGH. but you will get updates