canvasengine 1.3.0 → 2.0.0-beta.1

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 (122) hide show
  1. package/.cursorrules +0 -0
  2. package/README.md +71 -0
  3. package/dist/compiler/vite.js +119 -0
  4. package/dist/compiler/vite.js.map +1 -0
  5. package/dist/index.d.ts +846 -0
  6. package/dist/index.js +3340 -0
  7. package/dist/index.js.map +1 -0
  8. package/logo.png +0 -0
  9. package/package.json +88 -18
  10. package/src/compiler/grammar.pegjs +180 -0
  11. package/src/compiler/vite.ts +166 -0
  12. package/src/components/Canvas.ts +134 -0
  13. package/src/components/Container.ts +46 -0
  14. package/src/components/DisplayObject.ts +458 -0
  15. package/src/components/DrawMap/index.ts +65 -0
  16. package/src/components/Graphic.ts +147 -0
  17. package/src/components/NineSliceSprite.ts +46 -0
  18. package/src/components/ParticleEmitter.ts +39 -0
  19. package/src/components/Scene.ts +6 -0
  20. package/src/components/Sprite.ts +493 -0
  21. package/src/components/Text.ts +145 -0
  22. package/src/components/Tilemap/Tile.ts +79 -0
  23. package/src/components/Tilemap/TileGroup.ts +207 -0
  24. package/src/components/Tilemap/TileLayer.ts +163 -0
  25. package/src/components/Tilemap/TileSet.ts +41 -0
  26. package/src/components/Tilemap/index.ts +80 -0
  27. package/src/components/TilingSprite.ts +39 -0
  28. package/src/components/Viewport.ts +159 -0
  29. package/src/components/index.ts +12 -0
  30. package/src/components/types/DisplayObject.ts +68 -0
  31. package/src/components/types/MouseEvent.ts +3 -0
  32. package/src/components/types/Spritesheet.ts +389 -0
  33. package/src/components/types/index.ts +4 -0
  34. package/src/directives/Drag.ts +84 -0
  35. package/src/directives/KeyboardControls.ts +922 -0
  36. package/src/directives/Scheduler.ts +112 -0
  37. package/src/directives/Sound.ts +91 -0
  38. package/src/directives/Transition.ts +45 -0
  39. package/src/directives/ViewportCull.ts +40 -0
  40. package/src/directives/ViewportFollow.ts +26 -0
  41. package/src/directives/index.ts +7 -0
  42. package/src/engine/animation.ts +113 -0
  43. package/src/engine/bootstrap.ts +19 -0
  44. package/src/engine/directive.ts +23 -0
  45. package/src/engine/reactive.ts +379 -0
  46. package/src/engine/signal.ts +138 -0
  47. package/src/engine/trigger.ts +40 -0
  48. package/src/engine/utils.ts +135 -0
  49. package/src/hooks/addContext.ts +6 -0
  50. package/src/hooks/useProps.ts +155 -0
  51. package/src/hooks/useRef.ts +21 -0
  52. package/src/index.ts +14 -0
  53. package/src/presets/Bar.ts +89 -0
  54. package/src/presets/Button.ts +0 -0
  55. package/src/presets/Joystick.ts +286 -0
  56. package/src/presets/NightAmbiant.ts +122 -0
  57. package/src/presets/Particle.ts +53 -0
  58. package/src/utils/Ease.ts +33 -0
  59. package/src/utils/RadialGradient.ts +86 -0
  60. package/starter/assets/logo.png +0 -0
  61. package/starter/components/app.ce +18 -0
  62. package/starter/components/hello.ce +34 -0
  63. package/starter/index.html +21 -0
  64. package/starter/main.ts +4 -0
  65. package/starter/package.json +16 -0
  66. package/starter/vite.config.ts +12 -0
  67. package/tsconfig.json +32 -0
  68. package/tsconfig.node.json +10 -0
  69. package/tsup.config.ts +28 -0
  70. package/vitest.config.ts +12 -0
  71. package/.gitattributes +0 -22
  72. package/.npmignore +0 -163
  73. package/canvasengine-1.3.0.all.min.js +0 -21
  74. package/canvasengine.js +0 -5802
  75. package/core/DB.js +0 -24
  76. package/core/ModelServer.js +0 -348
  77. package/core/Users.js +0 -190
  78. package/core/engine-common.js +0 -952
  79. package/doc/cocoonjs.md +0 -36
  80. package/doc/doc-lang.yml +0 -43
  81. package/doc/doc-router.yml +0 -14
  82. package/doc/doc-tuto.yml +0 -9
  83. package/doc/doc.yml +0 -39
  84. package/doc/element.md +0 -37
  85. package/doc/entity.md +0 -90
  86. package/doc/extend.md +0 -47
  87. package/doc/get_started.md +0 -19
  88. package/doc/images/entity.png +0 -0
  89. package/doc/multitouch.md +0 -58
  90. package/doc/nodejs.md +0 -142
  91. package/doc/scene.md +0 -44
  92. package/doc/text.md +0 -156
  93. package/examples/server/client.html +0 -31
  94. package/examples/server/server.js +0 -16
  95. package/examples/tiled_server/client.html +0 -52
  96. package/examples/tiled_server/images/tiles_spritesheet.png +0 -0
  97. package/examples/tiled_server/server/map.json +0 -50
  98. package/examples/tiled_server/server/map.tmx +0 -16
  99. package/examples/tiled_server/server/server.js +0 -16
  100. package/extends/Animation.js +0 -910
  101. package/extends/Effect.js +0 -252
  102. package/extends/Gleed2d.js +0 -252
  103. package/extends/Hit.js +0 -1509
  104. package/extends/Input.js +0 -699
  105. package/extends/Marshal.js +0 -716
  106. package/extends/Scrolling.js +0 -388
  107. package/extends/Soundmanager2.js +0 -5466
  108. package/extends/Spritesheet.js +0 -196
  109. package/extends/Text.js +0 -366
  110. package/extends/Tiled.js +0 -403
  111. package/extends/Window.js +0 -575
  112. package/extends/gamepad.js +0 -397
  113. package/extends/socket.io.min.js +0 -2
  114. package/extends/swf/soundmanager2.swf +0 -0
  115. package/extends/swf/soundmanager2_debug.swf +0 -0
  116. package/extends/swf/soundmanager2_flash9.swf +0 -0
  117. package/extends/swf/soundmanager2_flash9_debug.swf +0 -0
  118. package/extends/swf/soundmanager2_flash_xdomain.zip +0 -0
  119. package/extends/workers/transition.js +0 -43
  120. package/index.js +0 -46
  121. package/license.txt +0 -19
  122. package/readme.md +0 -483
@@ -0,0 +1,84 @@
1
+ import { effect, isSignal } from '@signe/reactive';
2
+ import { Container, Rectangle } from 'pixi.js';
3
+ import { Directive, registerDirective } from '../engine/directive';
4
+ import { Element } from '../engine/reactive';
5
+ import { snap } from 'popmotion';
6
+ import { addContext } from '../hooks/addContext';
7
+
8
+ export class Drop extends Directive {
9
+ onInit(element: Element<Container>) {}
10
+
11
+ onMount(element: Element<Container>) {
12
+ addContext(element, 'drop', element)
13
+ }
14
+
15
+ onUpdate() {}
16
+
17
+ onDestroy() {}
18
+ }
19
+
20
+ export class Drag extends Directive {
21
+ onInit(element: Element<Container>) {}
22
+
23
+ onMount(element: Element<Container>) {
24
+ const { rootElement, canvasSize } = element.props.context
25
+ const { propObservables } = element
26
+ const { drag } = element.props
27
+ const instance = element.componentInstance
28
+ const stage = rootElement.componentInstance
29
+ instance.eventMode = 'static'
30
+ stage.eventMode = 'static'
31
+
32
+ const snapTo = snap(drag?.snap ?? 0);
33
+
34
+ effect(() => {
35
+ stage.hitArea = new Rectangle(0, 0, canvasSize().width, canvasSize().height)
36
+ })
37
+
38
+ let x = 0
39
+ let y = 0
40
+
41
+ const onDragMove = (event) => {
42
+ drag.move?.(event)
43
+ x += event.movementX
44
+ y += event.movementY
45
+ if (drag?.snap) {
46
+ instance.position.x = snapTo(x)
47
+ instance.position.y = snapTo(y)
48
+ } else {
49
+ instance.position.x = x
50
+ instance.position.y = y
51
+ }
52
+ const { x: xProp, y: yProp } = propObservables as any
53
+ if (xProp !== undefined && isSignal(xProp)) {
54
+ xProp.set(instance.position.x)
55
+ }
56
+ if (yProp !== undefined && isSignal(yProp)) {
57
+ yProp.set(instance.position.y)
58
+ }
59
+ }
60
+
61
+ const onDragEnd = () => {
62
+ drag.end?.()
63
+ stage.off('pointermove', onDragMove)
64
+ console.log(rootElement.allElements)
65
+ }
66
+
67
+ instance.on('pointerdown', () => {
68
+ drag.start?.()
69
+ stage.on('pointermove', onDragMove)
70
+ });
71
+
72
+ stage.on('pointerup', onDragEnd)
73
+ stage.on('pointerupoutside', onDragEnd)
74
+ }
75
+
76
+ onUpdate() {}
77
+
78
+ onDestroy() {
79
+
80
+ }
81
+ }
82
+
83
+ // registerDirective('drag', Drag)
84
+ // registerDirective('drop', Drop)