OpenEndedGroup / Field2

Field2 — an coding environment for making art
http://openendedgroup.com/field2
57 stars 10 forks source link

Cannot create new boxes in Windows build #115

Open jharaldson opened 1 year ago

jharaldson commented 1 year ago

After building the Windows version it is not possible to add new boxes. When pressing "n" a new untitled box is created in the background, but not drawn on the canvas.

It seems boxOutline and boxBackground are not created as expected. Not sure where the plane parameter comes from. Probably something wrong with the build, since the prebuilt version "field_alpha41_windows" works as expected.

The box that is created gets saved in a new file:

{
  "plane" "__page_-1__"
  "__boxclass__" "fieldbox.boxes.Box"
  "__id__" "_28b991bf_bf8b_4e8e_b402_4e3ab1dee98e"
  "__datafilename__" "{{workspace}}/Untitled00000.box"
  "name" "Untitled"
  "frame" #field/rect{
    :x 528.0
    :y 312.0
    :w 100.0
    :h 100.0
  }
}

A box that is created using the pre-built version of Field results in the following:

{
  "boxOutline" #field/serializable{
    :base64 "rO0ABXNyABFmaWVsZC5saW5hbGcuVmVjNAAAAAAAAAABDAAAeHB3IAAAAAAAAAAAAAAAAAAAAAA/0zMzMzMzMz/QAAAAAAAAeA=="
  }
  "__boxclass__" "fieldbox.boxes.Box"
  "__id__" "_cdf41fa3_4a1b_49f0_ac05_f8af6402c636"
  "__datafilename__" "{{workspace}}/Untitled.box"
  "boxBackground" #field/serializable{
    :base64 "rO0ABXNyABFmaWVsZC5saW5hbGcuVmVjNAAAAAAAAAABDAAAeHB3ID/wAAAAAAAAP+5mZmZmZmY/7MzMzMzMzT/oAAAAAAAAeA=="
  }
  "name" "Untitled"
  "frame" #field/rect{
    :x 378.0
    :y 180.0
    :w 100.0
    :h 100.0
  }
}
marcdownie commented 1 year ago

That's obviously unexpected --- wondering if there's a stacktrace in the terminal either when Field launches or when you hit 'n' for the first time?

jharaldson commented 1 year ago

When I instead build the field_alpha41_windows code it works as expected.

This is the terminal output from launching and closing Field:

PS C:\Users\johan\sandbox\Field> ./field.ps1 -file helloWorld.field2
Listening for transport dt_socket at address: 5005
   -- args --
-retina
0
-extraZoomLevel
1.0
-file
helloWorld.field2
   -- args --
-workspace = C:\Users\johan/Documents/FieldWorkspace/(default)
 lauching toolkit
 args [--disable-features=SpareRendererForSitePerProcess, --no-sandbox]
 -- creating router for CEFSYSTEM
 ** state has changed NEW **
 ** state has changed INITIALIZING **
-file = helloWorld.field2
 -- B
 >>>>>>>>>>>>>>>>>>>>>>>>> about to open the window
||||||||||||||||||||||||||||||| already main thread

DevTools listening on ws://127.0.0.1:10560/devtools/browser/d4840f5d-30f0-46a1-83dd-1dbb9ee29de8
 ** state has changed INITIALIZED **
final cef system is called fieldcef.browser.CefSystem@6ff00193
Hello LWJGL 3.3.1 build 7!
 >>>>>>>>>>>>>>>>>>>>>>>>> window is now onscreen
 -- D
 Fast jpeg loading is not available. This isn't typically going to be a problem.
 loading from 'file:/C:/Users/johan/sandbox/Field/src/main/java/fieldcef/plugins/Pads.padFactory.js'
 >> C:/Users/johan/sandbox/Field/src/main/java/fieldcef/plugins/Pads.padFactory.js
 loading from 'file:/C:/Users/johan/sandbox/Field/src/main/java/fieldcef/plugins/Interventions.track.js'
 >> C:/Users/johan/sandbox/Field/src/main/java/fieldcef/plugins/Interventions.track.js
 loading from 'file:/C:/Users/johan/sandbox/Field/src/main/java/fieldcef/plugins/Interventions.keyframe.js'
 >> C:/Users/johan/sandbox/Field/src/main/java/fieldcef/plugins/Interventions.keyframe.js
 loading from 'file:/C:/Users/johan/sandbox/Field/src/main/java/fieldbox/boxes/plugins/SimpleTweaks.tweakNow.js'
 >> C:/Users/johan/sandbox/Field/src/main/java/fieldbox/boxes/plugins/SimpleTweaks.tweakNow.js
 loading from 'file:/C:/Users/johan/sandbox/Field/src/main/java/fieldnashorn/Nashorn.stdlib.js'
 >> C:/Users/johan/sandbox/Field/src/main/java/fieldnashorn/Nashorn.stdlib.js
 -- port 9080 cannot be opened
 websocketPort is 9081 true
GLERROR:1282 -- on internalScene entry for bx[Scene]
State tracker is:
GLERROR:1282 -- on fieldbox.execution.InverseDebugMapping$$Lambda$146/0x000000080018bdd0@449a4f23
State tracker is:
GLERROR:1282 -- error on fieldbox.execution.InverseDebugMapping$$Lambda$146/0x000000080018bdd0@449a4f23
State tracker is:
GLERROR:1282 -- on fieldbox.execution.InverseDebugMapping$$Lambda$146/0x000000080018bdd0@449a4f23
State tracker is:
GLERROR:1282 -- on field.graphics.Windows$$Lambda$55/0x00000008000de6e8@dd8ba08
State tracker is:
GLERROR:1282 -- error on field.graphics.Windows$$Lambda$55/0x00000008000de6e8@dd8ba08
State tracker is:
GLERROR:1282 -- on field.graphics.Windows$$Lambda$55/0x00000008000de6e8@dd8ba08
State tracker is:
GLERROR:1282 -- on field.graphics.Window$$Lambda$111/0x000000080012d128@3c77d488
State tracker is:
 drawing (resizing) :layer<__main__:0>
 drawing (resizing) :layer<glass:0>
 drawing (resizing) :layer<glass2:0>
 drawing (resizing) :layer<__main__blurx:0>
 drawing (resizing) :layer<__main__blury:0>
 drawing (resizing) :layer<__main__composited:0>
 drawing (resizing) :layer<__main__gblurx:0>
 drawing (resizing) :layer<__main__gblury:0>
.a            graphics.stats :: uploaded 576 bytes to OpenGL
. websocketPort is 8181 true
a                  io.debug :: created :[]
 booting up text editor
 -- preamble to execute is []
 -- port 8080 cannot be opened
 websocketPort is 8082 true
 webapps port is :8081 / 8082
-welcomeTo = null(default)
 -- trying to call loaded?? --
a        glassbrowser.debug :: initializing browser
-startup = null(default)
 -- no longer running :main.__updateStatusBarWidth__
.......^.^^^..^^^..... -- going to boot the glass browser
access at: http://localhost:8180/22345731-4e28-43d7-9c65-5f8e4f994698
.a         glassBrowser.boot :: WAITING url:
 ** loading state change **
 -- hello-- /22345731-4e28-43d7-9c65-5f8e4f994698
.a         glassBrowser.boot :: WAITING url:
.a         glassBrowser.boot :: WAITING url:
.a         glassBrowser.boot :: WAITING url:
 ** loading state onLoadStart **
. ** loading state onLoadEnd **
 ** loading state change **
..^...a        glassbrowser.debug :: inject 2 is happening
a        glassbrowser.debug :: executing :preamble2.js
 -- websocket opened -- org.java_websocket.handshake.HandshakeImpl1Client@3048e18
a        glassbrowser.debug :: executing :jquery-2.1.0.min.js
a        glassbrowser.debug :: executing :jquery.autosize.input.js
a        glassbrowser.debug :: executing :modal.js
. ** loading state change **
. -- hello-- /init
..... ** loading state onLoadStart **
 console message [org.cef.browser.CefBrowserOsrWithHandler@89c65d5] LOGSEVERITY_ERROR Uncaught ReferenceError: $ is not defined http://localhost:8080/init 1
 console message [org.cef.browser.CefBrowserOsrWithHandler@89c65d5] LOGSEVERITY_ERROR Uncaught ReferenceError: $ is not defined http://localhost:8080/init 1
. console message [org.cef.browser.CefBrowserOsrWithHandler@89c65d5] LOGSEVERITY_ERROR Uncaught ReferenceError: $ is not defined http://localhost:8080/init 1
 console message [org.cef.browser.CefBrowserOsrWithHandler@89c65d5] LOGSEVERITY_ERROR Uncaught ReferenceError: $ is not defined http://localhost:8080/init 1
 -- hello-- /field/filesystem/lazyload/lazyload.js
 ** loading state onLoadEnd **
 ** loading state change **
 -- websocket opened -- org.java_websocket.handshake.HandshakeImpl1Client@55d01903
.^ -- hello-- /field/filesystem/CodeMirror/lib/codemirror.js
 -- hello-- /field/filesystem/CodeMirror/lib/codemirror.css
. -- hello-- /field/filesystem/CodeMirror/mode/javascript/javascript.js
. -- hello-- /field/filesystem/CodeMirror/mode/python/python.js
 -- hello-- /field/filesystem/CodeMirror/theme/default.css
 -- hello-- /field/filesystem/CodeMirror/mode/xml/xml.js
 -- hello-- /field/filesystem/CodeMirror/mode/lua/lua.js
. -- hello-- /field/filesystem/CodeMirror/mode/css/css.js
 -- hello-- /field/filesystem/CodeMirror/mode/htmlmixed/htmlmixed.js
. -- hello-- /field/filesystem/CodeMirror/mode/glsl/glsl.js
 -- hello-- /field/filesystem/CodeMirror/mode/clojure/clojure.js
 -- hello-- /field/filesystem/CodeMirror/theme/one-dark.css
. -- hello-- /field/filesystem/CodeMirror/mode/clike/clike.js
 -- hello-- /field/filesystem/renderjson.js
^ -- hello-- /field/filesystem/jshint.js
 -- hello-- /field/filesystem/CodeMirror/addon/lint/lint.css
 -- hello-- /field/filesystem/CodeMirror/addon/lint/lint.js
 -- hello-- /field/filesystem/CodeMirror/addon/fold/foldgutter.css
 -- hello-- /field/filesystem/CodeMirror/addon/lint/javascript-lint.js
 -- hello-- /field/filesystem/CodeMirror/addon/fold/foldcode.js
 -- hello-- /field/filesystem/CodeMirror/addon/fold/foldgutter.js
 -- hello-- /field/filesystem/CodeMirror/addon/fold/brace-fold.js
 -- hello-- /field/filesystem/CodeMirror/addon/edit/closebrackets.js
 -- hello-- /field/filesystem/CodeMirror/addon/edit/matchbrackets.js
 -- hello-- /field/filesystem/field-codemirror.css
 -- hello-- /field/filesystem/CodeMirror/addon/search/searchcursor.js
 -- hello-- /field/filesystem/CodeMirror/addon/dialog/dialog.js
 -- hello-- /field/filesystem/CodeMirror/addon/search/search.js
 -- hello-- /field/filesystem/CodeMirror/addon/comment/comment.js
 -- hello-- /field/filesystem/raphael-min.js
. -- hello-- /field/filesystem/jquery-2.1.0.min.js
 -- hello-- /field/filesystem/CodeMirror/addon/hint/show-hint.css
^^ -- hello-- /field/filesystem/jquery.color.js
 -- hello-- /field/filesystem/jquery.ui.js
 -- hello-- /field/filesystem/jquery.ui.position.js
 -- hello-- /field/filesystem/jquery.sizes.js
 -- hello-- /field/filesystem/CodeMirror/addon/tern/tern.css
 -- hello-- /field/filesystem/underscore-min.js
 -- hello-- /field/filesystem/postal.min.js
 -- hello-- /field/filesystem/CodeMirror/addon/tern/tern.js
 -- hello-- /field/filesystem/CodeMirror/addon/hint/show-hint.js
 -- hello-- /field/filesystem/CodeMirror/keymap/sublime.js
 -- hello-- /field/filesystem/d3.min.js
 -- hello-- /field/filesystem/jquery.autosize.input.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/messagebus.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/tabs.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/instantiate.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/kill.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/changehooks.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/status.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/helpbox.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/modal.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/brackets.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/output.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/doubleshift.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/JSHotkeyFunctions.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/colorPicker.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/drags.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/taps.js
 -- playlist :C:\Users\johan\sandbox\Field//lib/web/boxbrowser.js
 console message [org.cef.browser.CefBrowserOsrWithHandler@89c65d5] LOGSEVERITY_INFO  selected callback handler is 'function(){
    if (window.cm)
        cm.refresh()
    return undefined
}' C:\Users\johan\sandbox\Field//lib/web/tabs.js 47
 EDITOR IS NOT LOADED YET
. console message [org.cef.browser.CefBrowserOsrWithHandler@89c65d5] LOGSEVERITY_ERROR  -- instantiate -- C:\Users\johan\sandbox\Field//lib/web/instantiate.js 257
 console message [org.cef.browser.CefBrowserOsrWithHandler@89c65d5] LOGSEVERITY_ERROR  setting extrakeys to  C:\Users\johan\sandbox\Field//lib/web/instantiate.js 345
 console message [org.cef.browser.CefBrowserOsrWithHandler@89c65d5] LOGSEVERITY_ERROR [object Object] C:\Users\johan\sandbox\Field//lib/web/instantiate.js 346
 -- hello-- /field/filesystem/fonts/SourceSansPro-Regular.ttf.woff
 -- hello-- /field/filesystem/fonts/iosevka-regular.woff2
 -- hello-- /field/filesystem/fonts/iosevka-light.woff2
.^^.^^a                  io.debug :: saving ....
 handling window space boxes
 calling onFinishingSaving ...
 ... calling onFinishingSaving complete
 -- WRITE TO FILE C:\Users\johan\Documents\FieldWorkspace\helloWorld.field2 #field/document{
  :externalList [
  ]
  :knownFiles {
    "compute" #field/filespec{
      :name "compute"
    }
    "txt" #field/filespec{
      :name "txt"
    }
    "fragment" #field/filespec{
      :name "fragment"
    }
    "code" #field/filespec{
      :name "code"
    }
    "vertex" #field/filespec{
      :name "vertex"
    }
    "geometry" #field/filespec{
      :name "geometry"
    }
    "html" #field/filespec{
      :name "html"
    }
    "edn" #field/filespec{
      :name "edn"
    }
  }
  :knownProperties #{
    "__id__"
    "comment"
    "classpath"
    "perDocument"
    "name"
    "frame"
    "lockHeight"
    "lockWidth"
    "tag"
    "windowSpace"
    "windowScale"
    "isPaired"
    "auto"
    "plane"
    "defaultEditorProperty"
    "_defaultEditorProperty_cookie"
    "_theVariant"
    "includes"
    "excludes"
  }
}
 -- sleeping for 2 seconds, then killing
 pid is :6616
java.io.IOException: Cannot run program "/bin/kill" (in directory "."): CreateProcess error=2, The system cannot find the file specified
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
        at field.utility.SimpleCommand.go(SimpleCommand.java:26)
        at fieldcef.browser.CefSystem._init_$lambda$0(CefSystem.kt:171)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
        at java.base/java.lang.ProcessImpl.create(Native Method)
        at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:494)
        at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:159)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)

This happens after hitting ´n´:

 -- mouse button 1707090985968 0 1 0
. -- mouse button 1707090985968 0 0 0
.key ! 1707090985968, 78, 49, 1, 0
down<[78]> now<[78]>
 key down ! KeyboardState{keysDown=[], charsDown={}, time=0} -> KeyboardState{keysDown=[78], charsDown={}, time=0}
 key down ! KeyboardState{keysDown=[], charsDown={}, time=0} -> KeyboardState{keysDown=[78], charsDown={}, time=0}
down<[n]> now<[78]>
 key down ! KeyboardState{keysDown=[78], charsDown={}, time=0} -> KeyboardState{keysDown=[78], charsDown={110=n}, time=0}
 key down ! KeyboardState{keysDown=[78], charsDown={}, time=0} -> KeyboardState{keysDown=[78], charsDown={110=n}, time=0}
up<[n]> now<[78]>
 key down ! KeyboardState{keysDown=[78], charsDown={110=n}, time=0} -> KeyboardState{keysDown=[78], charsDown={}, time=0}
 key down ! KeyboardState{keysDown=[78], charsDown={110=n}, time=0} -> KeyboardState{keysDown=[78], charsDown={}, time=0}
.key ! 1707090985968, 78, 49, 0, 0
up<[78]>key ! 1707090985968, 342, 56, 1, 4
down<[342]> now<[342]>
 key down ! KeyboardState{keysDown=[], charsDown={}, time=0} -> KeyboardState{keysDown=[342], charsDown={}, time=0}
 key down ! KeyboardState{keysDown=[], charsDown={}, time=0} -> KeyboardState{keysDown=[342], charsDown={}, time=0}
key ! 1707090985968, 342, 56, 0, 0
a            graphics.stats :: meshbuilder cache h167 | mc14 / meh14 / mih0 / mto0 | tex0
a            graphics.stats :: uploaded 372 bytes to OpenGL
 frame rate is :0.29997000098228455 for fieldbox.ui.FieldBoxWindow@64f5fd17