senangwebs-aframe-editor 1.6.5

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 (104) hide show
  1. package/.babelrc +3 -0
  2. package/.editorconfig +12 -0
  3. package/.eslintignore +2 -0
  4. package/.eslintrc +40 -0
  5. package/.github/workflows/ci.yml +39 -0
  6. package/.husky/pre-commit +4 -0
  7. package/.prettierignore +1 -0
  8. package/.prettierrc.json +5 -0
  9. package/.stylelintrc +12 -0
  10. package/LICENSE +21 -0
  11. package/README.md +75 -0
  12. package/assets/gltf.svg +49 -0
  13. package/dist/aframe-inspector.js +106250 -0
  14. package/dist/aframe-inspector.js.map +1 -0
  15. package/dist/aframe-inspector.min.js +29040 -0
  16. package/dist/aframe-inspector.min.js.LICENSE.txt +56 -0
  17. package/dist/aframe-inspector.min.js.map +1 -0
  18. package/examples/360video.html +48 -0
  19. package/examples/colors.html +18 -0
  20. package/examples/controllers.html +60 -0
  21. package/examples/embedded-zoom.html +78 -0
  22. package/examples/embedded.html +79 -0
  23. package/examples/empty.html +13 -0
  24. package/examples/index-aframe.html +66 -0
  25. package/examples/index.html +71 -0
  26. package/examples/supercraft.html +6 -0
  27. package/index.html +8 -0
  28. package/package.json +84 -0
  29. package/senangwebs-webverse-editor.png +0 -0
  30. package/src/components/AwesomeIcon.js +53 -0
  31. package/src/components/Collapsible.js +57 -0
  32. package/src/components/EntityRepresentation.js +83 -0
  33. package/src/components/Main.js +222 -0
  34. package/src/components/__tests__/Collapsible.test.js +30 -0
  35. package/src/components/components/AddComponent.js +104 -0
  36. package/src/components/components/CommonComponents.js +160 -0
  37. package/src/components/components/Component.js +151 -0
  38. package/src/components/components/ComponentsContainer.js +52 -0
  39. package/src/components/components/DefaultComponents.js +1 -0
  40. package/src/components/components/Mixins.js +83 -0
  41. package/src/components/components/PropertyRow.js +145 -0
  42. package/src/components/components/Sidebar.js +51 -0
  43. package/src/components/icons/BackViewIcon.js +27 -0
  44. package/src/components/icons/BottomViewIcon.js +26 -0
  45. package/src/components/icons/FrontViewIcon.js +23 -0
  46. package/src/components/icons/LeftViewIcon.js +24 -0
  47. package/src/components/icons/PerspectiveIcon.js +23 -0
  48. package/src/components/icons/PrimitiveBoxIcon.js +143 -0
  49. package/src/components/icons/PrimitiveConeIcon.js +44 -0
  50. package/src/components/icons/PrimitiveCylinderIcon.js +51 -0
  51. package/src/components/icons/PrimitiveEmptyEntityIcon.js +78 -0
  52. package/src/components/icons/PrimitiveImageIcon.js +86 -0
  53. package/src/components/icons/PrimitiveLightIcon.js +107 -0
  54. package/src/components/icons/PrimitivePlaneIcon.js +87 -0
  55. package/src/components/icons/PrimitiveSphereIcon.js +39 -0
  56. package/src/components/icons/PrimitiveTextIcon.js +89 -0
  57. package/src/components/icons/PrimitiveTorusIcon.js +31 -0
  58. package/src/components/icons/RightViewIcon.js +24 -0
  59. package/src/components/icons/TopViewIcon.js +24 -0
  60. package/src/components/modals/Modal.js +107 -0
  61. package/src/components/modals/ModalHelp.js +97 -0
  62. package/src/components/modals/ModalPrimitive.js +114 -0
  63. package/src/components/modals/ModalTextures.js +430 -0
  64. package/src/components/scenegraph/Entity.js +142 -0
  65. package/src/components/scenegraph/SceneGraph.js +337 -0
  66. package/src/components/scenegraph/Toolbar.js +147 -0
  67. package/src/components/viewport/CameraToolbar.js +122 -0
  68. package/src/components/viewport/TransformToolbar.js +102 -0
  69. package/src/components/viewport/ViewportHUD.js +33 -0
  70. package/src/components/widgets/BooleanWidget.js +49 -0
  71. package/src/components/widgets/ColorWidget.js +89 -0
  72. package/src/components/widgets/InputWidget.js +42 -0
  73. package/src/components/widgets/NumberWidget.js +179 -0
  74. package/src/components/widgets/SelectWidget.js +58 -0
  75. package/src/components/widgets/TextureWidget.js +252 -0
  76. package/src/components/widgets/Vec2Widget.js +55 -0
  77. package/src/components/widgets/Vec3Widget.js +58 -0
  78. package/src/components/widgets/Vec4Widget.js +61 -0
  79. package/src/components/widgets/index.js +9 -0
  80. package/src/index.js +301 -0
  81. package/src/lib/EditorControls.js +336 -0
  82. package/src/lib/Events.js +6 -0
  83. package/src/lib/TransformControls.js +1365 -0
  84. package/src/lib/assetsLoader.js +43 -0
  85. package/src/lib/assetsUtils.js +30 -0
  86. package/src/lib/cameras.js +121 -0
  87. package/src/lib/entity.js +556 -0
  88. package/src/lib/history.js +30 -0
  89. package/src/lib/raycaster.js +129 -0
  90. package/src/lib/shortcuts.js +211 -0
  91. package/src/lib/utils.js +118 -0
  92. package/src/lib/viewport.js +268 -0
  93. package/src/style/components.styl +275 -0
  94. package/src/style/entity.styl +22 -0
  95. package/src/style/help.styl +40 -0
  96. package/src/style/index.styl +358 -0
  97. package/src/style/lib.styl +41 -0
  98. package/src/style/primitiveModal.styl +90 -0
  99. package/src/style/scenegraph.styl +173 -0
  100. package/src/style/select.styl +71 -0
  101. package/src/style/textureModal.styl +220 -0
  102. package/src/style/viewport.styl +168 -0
  103. package/src/style/widgets.styl +71 -0
  104. package/webpack.config.js +65 -0
@@ -0,0 +1,90 @@
1
+ .modal-overlay
2
+ position fixed
3
+ top 0
4
+ left 0
5
+ right 0
6
+ bottom 0
7
+ backdrop-filter blur(4px)
8
+ background-color rgba(0, 0, 0, .5)
9
+ display flex
10
+ justify-content center
11
+ align-items center
12
+ z-index 1000 /* Ensure modal is on top */
13
+
14
+ .modal-content
15
+ color #eee /* Light text */
16
+ border-radius 8px
17
+ min-width 300px
18
+ max-width 600px
19
+ width 100%
20
+ box-shadow 0 4px 15px rgba(0, 0, 0, 0.2)
21
+
22
+ #primitive-modal .modal-header
23
+ display flex
24
+ justify-content space-between
25
+ align-items center
26
+
27
+ .modal-body
28
+ display flex
29
+ flex-direction column
30
+
31
+ #primitive-modal h3
32
+ text-align center
33
+ color #fff
34
+ font-size 16px
35
+ font-weight 500
36
+ margin 0.6em 0
37
+
38
+ .primitive-grid
39
+ display grid
40
+ grid-template-columns repeat(auto-fit, minmax(100px, 1fr)) /* Responsive grid */
41
+ gap 16px
42
+
43
+ .primitive-button
44
+ background-color #09090B
45
+ color white
46
+ padding 8px
47
+ border-radius 8px
48
+ cursor pointer
49
+ transition background-color 0.2s ease, transform 0.1s ease
50
+ text-align center
51
+ aspect-ratio 1
52
+ border none
53
+ display flex
54
+ flex-direction column
55
+ gap 8px
56
+ justify-content center
57
+ align-items center
58
+
59
+ svg
60
+ width 48px
61
+ height 48px
62
+ margin 4px auto
63
+ color red
64
+ opacity .4
65
+
66
+ .primitive-button:hover
67
+ border 1px solid #00FF99
68
+
69
+ svg
70
+ opacity 1
71
+
72
+
73
+ .primitive-button:active
74
+ border 1px solid #00FF99
75
+
76
+ svg
77
+ opacity 1
78
+
79
+ .modal-close-button
80
+ background-color #777 /* Different color for cancel */
81
+ color #eee
82
+ border 1px solid #999
83
+ padding 8px 15px
84
+ border-radius 4px
85
+ cursor pointer
86
+ transition background-color 0.2s ease
87
+ align-self flex-end /* Position cancel button to the right */
88
+
89
+ .modal-close-button:hover
90
+ background-color #888
@@ -0,0 +1,173 @@
1
+ @import './lib';
2
+
3
+ #toolbar
4
+ background-color $bgdark
5
+
6
+ .toolbarActions
7
+ padding 0
8
+ height 48px
9
+ display grid
10
+ grid-template-columns repeat(2, minmax(0, 1fr))
11
+
12
+ a.button
13
+ display flex
14
+ justify-content center
15
+ align-items center
16
+ flex-direction column
17
+ margin 0
18
+
19
+ svg
20
+ color inherit
21
+
22
+ span
23
+ font-size 12px
24
+
25
+ a.button:hover
26
+ color $primary
27
+
28
+ a.disabled
29
+ color #666
30
+ cursor default
31
+
32
+ #leftPanel
33
+ display flex
34
+ flex-direction column
35
+ width 20rem
36
+ height calc(100vh - 48px)
37
+
38
+ .scenegraph-menubar
39
+ display flex
40
+ height 40px
41
+ width 100%
42
+ justify-content space-between
43
+ background-color $bg
44
+
45
+ #scenegraph
46
+ background $bg
47
+ border-top 1px solid #111
48
+ display flex
49
+ flex-direction column
50
+ overflow auto
51
+ width 100%
52
+ height calc(100vh - 40px)
53
+
54
+ .entity
55
+ background $bg
56
+ cursor pointer
57
+ display flex
58
+ justify-content space-between
59
+ padding 10px
60
+ white-space nowrap
61
+
62
+ &:hover
63
+ background #1d2f39
64
+
65
+ &.active
66
+ background-color #09090B
67
+ color #fff
68
+ .component:hover
69
+ color rgba(0, 0, 0, 0.5)
70
+ .entityActions
71
+ display flex
72
+
73
+ &.novisible
74
+ &.active
75
+ span,
76
+ svg,
77
+ .collapsespace,
78
+ .id
79
+ color #999
80
+
81
+ &:not(.active)
82
+ span,
83
+ svg,
84
+ .collapsespace,
85
+ .id
86
+ color #626262
87
+
88
+ .component:hover
89
+ color rgba(0, 0, 0, 0.5)
90
+
91
+ .entityIcons
92
+ margin-left 2px
93
+
94
+ .entityActions
95
+ display none
96
+ margin 0 4px
97
+
98
+ .button
99
+ color #fff
100
+ font-size 12px
101
+ margin-left 6px
102
+
103
+ svg
104
+ color #CCC
105
+
106
+ .entityActions svg:hover
107
+ color $primary
108
+
109
+ .active svg
110
+ color #FAFAFA
111
+
112
+ .id
113
+ color #ccc
114
+
115
+ .option.active .id
116
+ color #fff
117
+
118
+ .collapsespace
119
+ color #eee
120
+ display inline-block
121
+ text-align center
122
+ width 14px
123
+ margin-left 8px
124
+
125
+ .fa-eye
126
+ color #bbb
127
+
128
+ .icons a.button
129
+ color #fff
130
+
131
+ .search
132
+ padding 0px
133
+ font-size 16px
134
+ position relative
135
+ overflow hidden
136
+
137
+ input
138
+ color $white
139
+ background $bg
140
+ border-radius 0px
141
+ border-bottom 1px solid $bgdark
142
+ height 40px
143
+ text-indent 10px
144
+ width 100%
145
+
146
+ svg
147
+ position absolute
148
+ right 12px
149
+ top 12px
150
+
151
+ .outliner
152
+ background $bg
153
+ color $white
154
+ cursor default
155
+ flex 1 1 auto
156
+ font-size 14px
157
+ line-height normal
158
+ outline none
159
+ overflow-y auto
160
+ padding 0px
161
+ width 100%
162
+
163
+ .scenegraph-bottom
164
+ background-color #323232
165
+ border-top 1px solid #111
166
+ bottom 10
167
+ height 40px
168
+ left 0
169
+ z-index 100
170
+
171
+ a
172
+ float right
173
+ margin 10px
@@ -0,0 +1,71 @@
1
+ @import './lib';
2
+
3
+ .select__control
4
+ border 0
5
+ border-radius 8px
6
+ cursor pointer
7
+ min-height 32px
8
+ font-family $monospace
9
+ font-size 14px
10
+
11
+ .select__indicator
12
+ height 26px
13
+
14
+ .select__indicator-separator
15
+ display none
16
+
17
+ .select__input
18
+ min-height auto !important
19
+
20
+ .select__control,
21
+ .select__menu
22
+ background $bgdark
23
+
24
+ .select__option
25
+ padding 5px 10px
26
+
27
+ .select__placeholder,
28
+ .select__menu
29
+ color $white
30
+
31
+ .select__single-value
32
+ color white
33
+
34
+ .select__control--is-focused
35
+ box-shadow none !important
36
+
37
+ .select__option
38
+ cursor pointer
39
+
40
+ .select__clear-indicator
41
+ display none
42
+
43
+ .select__label
44
+ font-size 14px
45
+
46
+ .select__option--is-focused
47
+ background $bg
48
+
49
+ .select__value-container
50
+ height 32px
51
+ position static
52
+ &.select__value-container--is-multi
53
+ height auto
54
+ padding 6px
55
+
56
+ .select__dropdown-indicator
57
+ padding 3px 8px
58
+
59
+ .select__multi-value
60
+ background $bg
61
+ color $primary
62
+
63
+ .select__multi-value__label
64
+ color $primary
65
+
66
+ .select__value-container--is-multi > :last-child
67
+ display none
68
+
69
+ .select__multi-value__remove:hover
70
+ color #fff
71
+ background $bg
@@ -0,0 +1,220 @@
1
+ .modal
2
+ animation animateopacity 0.2s ease-out
3
+ display flex
4
+ height 100%
5
+ left 0
6
+ overflow auto
7
+ position fixed
8
+ top 0
9
+ width 100%
10
+ z-index 9999999999
11
+ backdrop-filter blur(4px)
12
+ background-color rgba(0, 0, 0, .5)
13
+
14
+ .modal h3
15
+ font-size 16px
16
+ font-weight 500
17
+ margin 0.6em 0
18
+
19
+ #textureModal .modal-content
20
+ height calc(100% - 96px)
21
+ max-width calc(100% - 96px)
22
+ border-radius 8px
23
+
24
+ .modal-content
25
+ animation animatetop 0.2s ease-out
26
+ animation-duration 0.2s
27
+ animation-name animatetop
28
+ background-color #18181B
29
+ margin auto
30
+ overflow hidden
31
+ padding 0
32
+
33
+ .close
34
+ color #ffffff80
35
+ float right
36
+ font-size 24px
37
+ font-weight bold
38
+
39
+ &:hover
40
+ cursor pointer
41
+ color #ffffff
42
+
43
+ .closehover,
44
+ .closefocus
45
+ color #08f
46
+ cursor pointer
47
+ text-decoration none
48
+
49
+ .modal-header
50
+ color white
51
+ padding 2px 16px
52
+
53
+ .modal-body
54
+ overflow auto
55
+ padding 16px
56
+ height inherit
57
+
58
+ .modal-footer
59
+ color white
60
+ padding 2px 16px
61
+
62
+ /* Gallery */
63
+ .gallery
64
+ background #232323
65
+ display flex
66
+ flex-wrap wrap
67
+ margin 15px auto 0
68
+ overflow auto
69
+ padding 15px 3px 3px
70
+
71
+ .newimage .gallery
72
+ padding 8px
73
+
74
+ .gallery li
75
+ border-radius 8px
76
+ box-shadow 0 0 6px rgba(0, 0, 0, 0.6)
77
+ cursor pointer
78
+ margin 8px
79
+ overflow hidden
80
+ width 155px
81
+
82
+ .gallery li.selected,
83
+ .gallery li:hover
84
+ box-shadow 0 0 0 2px #00ff99
85
+
86
+ .gallery li .detail
87
+ background-color #323232
88
+ margin 0
89
+ min-height 60px
90
+ padding 4px 8px 8px 8px
91
+
92
+ .preview
93
+ padding 10px
94
+ width 150px
95
+
96
+ .preview input
97
+ display block
98
+ margin 8px 0
99
+ width 144px
100
+
101
+ .preview button
102
+ width 155px
103
+
104
+ .preview .detail .title
105
+ color #fff
106
+ display inline-block
107
+ max-width 155px
108
+ overflow hidden
109
+ text-overflow ellipsis
110
+ white-space nowrap
111
+
112
+ .gallery li.selected .detail,
113
+ .gallery li:hover .detail
114
+ background-color #444
115
+
116
+ .gallery li .detail span
117
+ color #777
118
+ display block
119
+ margin-top 4px
120
+ overflow hidden
121
+ text-overflow ellipsis
122
+ white-space nowrap
123
+ width 140px
124
+
125
+ .gallery li.selected .detail span,
126
+ .gallery li:hover .detail span
127
+ color #888
128
+
129
+ .gallery li .detail span.title
130
+ color #fff !important
131
+
132
+ .modal button
133
+ appearance none
134
+ border-radius 0
135
+ box-shadow none
136
+ cursor pointer
137
+ display inline-block
138
+ font-size 12px
139
+ line-height 1.8
140
+ margin 0 0 0 0
141
+ padding 5px 10px
142
+
143
+ .modal buttonfocus
144
+ outline none
145
+
146
+ .modal button
147
+ background-color #09090b
148
+ border none
149
+ color #fff
150
+ border-radius 8px
151
+ font-weight 500
152
+ padding 8px 16px
153
+ text-transform capitalize
154
+
155
+ .modal buttonhover,
156
+ .modal button.hover
157
+ background-color #346392
158
+ text-shadow -1px 1px #27496d
159
+
160
+ .modal buttonactive,
161
+ .modal button.active
162
+ background-color #27496d
163
+ text-shadow -1px 1px #193047
164
+
165
+ .modal buttondisabled
166
+ background-color #888
167
+ cursor none
168
+
169
+ .newimage
170
+ background-color #323232
171
+ color #A3A3A3
172
+ display flex
173
+ font-size 14px
174
+ justify-content space-between
175
+ margin-top 16px
176
+ overflow auto
177
+ padding 8px
178
+ border-radius 8px
179
+
180
+ .newimage input
181
+ color #00ff99
182
+ padding 3px 5px
183
+
184
+ .texture canvas + input
185
+ margin-left 5px
186
+
187
+ .texture svg
188
+ padding-right 5px
189
+
190
+ .uploader-normal-button .hidden
191
+ display none
192
+
193
+ .assets.search
194
+ position relative
195
+ margin-top 10px
196
+ width 200px
197
+
198
+ .assets.search svg
199
+ position absolute
200
+ right 0px
201
+ top 5px
202
+
203
+ .new_asset_options
204
+ margin 10px
205
+
206
+ .new_asset_options > ul
207
+ margin-left 10px
208
+ padding 5px
209
+
210
+ .new_asset_options > ul > li
211
+ padding 10px 0
212
+
213
+ .new_asset_options .imageUrl
214
+ margin-left 5px
215
+ width 350px
216
+
217
+ .texture canvas
218
+ border 1px solid rgba(255, 255, 255, .15)
219
+ border-radius 8px
220
+ cursor pointer
@@ -0,0 +1,168 @@
1
+ @import './lib';
2
+
3
+ #viewportBar
4
+ align-items center
5
+ color $white
6
+ position absolute
7
+ top 0
8
+ left 50%
9
+ transform translateX(-50%)
10
+ flex-grow 2
11
+ display flex
12
+ height 40px
13
+ font-size 14px
14
+ justify-content space-between
15
+ margin 8px auto
16
+ width auto
17
+ background $bg
18
+ border-radius 8px
19
+
20
+ .viewportHud-menubar
21
+ display flex
22
+ height 40px
23
+ width 240px
24
+ align-items center
25
+ justify-content flex-end
26
+
27
+ #viewportHud
28
+ padding 0px 4px
29
+ margin 0 4px
30
+ background $bgdark
31
+ overflow-x auto
32
+ overflow-y hidden
33
+ height 30px
34
+ width 230px
35
+ border-radius 8px
36
+ display flex!important
37
+ align-items center
38
+ justify-content end
39
+
40
+ p
41
+ margin 0
42
+ font-size 14px
43
+
44
+ #pageToolbar
45
+ display flex
46
+ align-items center
47
+ height 48px
48
+
49
+ .button
50
+ width 48px
51
+ height 48px
52
+ border 0
53
+ background none
54
+ font-size 16px
55
+ cursor pointer
56
+
57
+ .button:hover
58
+ background #141417
59
+
60
+ svg
61
+ color $primary
62
+
63
+ .toolbarButtons
64
+ display flex
65
+ align-items center
66
+ height 40px
67
+
68
+ *
69
+ margin-left 0 !important
70
+ vertical-align middle
71
+ height 48px
72
+ display flex
73
+ align-items center
74
+
75
+ a.button
76
+ & svg
77
+ padding 12px
78
+
79
+ &:not(.active) svg:hover
80
+ background-color #141417
81
+
82
+ .active svg
83
+ background-color #141417!important
84
+ color $primary
85
+
86
+ .active:hover svg
87
+ color #fff !important
88
+
89
+ .local-transform
90
+ padding-left 10px
91
+ padding-right 20px
92
+
93
+ .local-transform label
94
+ color $lightgray
95
+ padding-left 8px
96
+ font-size 14px
97
+
98
+ .local-transform a.button
99
+ padding-top 0
100
+
101
+ #cameraSelect
102
+ cursor pointer
103
+ width 120px
104
+ .select__dropdown-indicator
105
+ padding-left 3px
106
+ padding-right 3px
107
+
108
+ #cameraToolbar
109
+ align-items center
110
+ height 40px
111
+ padding 0 5px
112
+ display flex
113
+
114
+ #cameraSelect
115
+ width 160px // Adjust width to accommodate icon + text
116
+ .select__control
117
+ background-color $bgdark
118
+ border none
119
+ min-height 30px // Adjust height
120
+ height 30px
121
+ box-shadow none
122
+ &:hover
123
+ border-color $grey
124
+ .select__value-container
125
+ padding 0 4px
126
+ .select__single-value
127
+ color $white
128
+ display flex
129
+ align-items center
130
+ svg
131
+ margin-right 8px
132
+ width 16px
133
+ height 16px
134
+ .select__indicator-separator
135
+ display none
136
+ .select__dropdown-indicator
137
+ padding 4px
138
+ color $grey
139
+ &:hover
140
+ color $white
141
+ .select__menu
142
+ background-color $bgdark
143
+ .select__option
144
+ background-color $bgdark
145
+ color $white
146
+ display flex
147
+ align-items center
148
+ svg
149
+ margin-right 8px
150
+ width 24px
151
+ height 24px
152
+ &:hover
153
+ background-color #141417
154
+ color $primary
155
+ svg
156
+ fill $primary
157
+ &--is-focused
158
+ background-color #141417 // Keep focus style consistent with hover
159
+ &--is-selected
160
+ background-color $bgdark // Keep selected background subtle if needed
161
+ color $primary
162
+ svg
163
+ fill $primary
164
+
165
+ #viewportHud
166
+ display none
167
+ +media--1024()
168
+ display block