Newer
Older
// IDDE sends msgs to manager, does display etc
// starts with a native manager
/* codename NROL39 aka cuttlefish */
/* aka the teuthologist */
// this is toplevel, UI is meta-hunk
// we run loop where UI passes messages to bower manager
// this is like the manager 'bootstrap' file ?
// but heirarchichally, we can slave views to managers ...
// views push messages to managers ...
NROL.name = 'nrol'
// this is going to sit in the outbuffer until the view resolves
// want handles on this we think ?
let view = {}
let land
// runs the loop inside of V8's loop: this way our interpreter is non-blocking
// for other js async business
// js u wyldin ! (this is probably slow)
try {
NROL.loop()
} catch (err) {
console.error('ERR @ top of loop:', err)
// write to the toplevel msgbox
view.msgbox.write('ERR @ top of loop, see console, program halting!')
console.error('loop halting, mgr bailing')
return
}
window.onload = () => {
console.log('BOOTUP')
NROL.addHunk('view', 'tlview').then((vw) => {
// console.log('ADDHUNK VIEW RESOLVES')
// gotta git this
view = vw
$('#wrapper').get(0).append(view.dom)
}).then(() => {
// outHunkIndex, outIndex, inHunkIndex, inIndex, debug
NROL.addLink(1, 0, 0, 0, false)
NROL.addLink(0, 0, 1, 0, false)
bootloop()
// kick this later
// if you make links work properly (directionfull)
// you can just pin view outputs to the left, collected,
//view.defs[0].floaters[0].fixTo(700,200)
view.defs[1].unwrap()
view.defs[1].floaters[0].fixTo(400, 100)
//view.defs[1].floaters[1].fixTo(800, 300)
view.patchset.mergePatch('lsocket').then(() => {
let nlink = view.defs.find((cnd) => {
return cnd.type === 'link'
})
nlink.floaters[0].fixTo(500,500)
let nview = view.defs.find((cnd) =>{
return (cnd.type === 'view' && cnd.name !== 'tlview')
view.zoomExtents()
nview.hunk.refresh()
})
}).catch((err) => {
console.log(err)
})