From 69f2d8942c77c43b0fbbc39e453557b494dc315e Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Mon, 31 Aug 2020 17:37:06 +0300 Subject: [PATCH] updated doc/ ... Signed-off-by: Alex A. Naanou --- Viewer/doc/BUILD-NOTES | 49 ++++++++++++++++---------------- Viewer/doc/NOTES | 59 ++++----------------------------------- Viewer/doc/PROJECT-LAYOUT | 10 +++++-- 3 files changed, 38 insertions(+), 80 deletions(-) diff --git a/Viewer/doc/BUILD-NOTES b/Viewer/doc/BUILD-NOTES index d648e96c..d471a828 100755 --- a/Viewer/doc/BUILD-NOTES +++ b/Viewer/doc/BUILD-NOTES @@ -1,39 +1,39 @@ -Basic build ------------ +Makefile +-------- -Default desktop electron app build (modifying the electron dist in-place): +For make help to work make requires: bash, sed, grep/fgrep and printf to +be available in the path, run this to double check: - make + $ make check-help + +To check the full list of dependencies run: + + $ make check -Build desktop electron app with full repack: +The make file is largely self-documented so run this for more info: - (export BUILD_MODE=repack && make) - - -Build package files for web: - - make web + $ make help Sharp and other native modules for nw/electron ---------------------------------------------- -To build sharp for a specific version of node and nwjs: - - cd ./node_modules/sharp/ - nw-gyp rebuild --target=0.17.4 --arch=x64 - - And for electron (done by make): electron-rebuild +To build sharp for a specific version of node and nwjs (outdated): -Chromium flicker issue (nw) ---------------------------- + cd ./node_modules/sharp/ + nw-gyp rebuild --target=0.17.4 --arch=x64 + + + +Chromium flicker issue (nw/outdated) +------------------------------------ The UI sometimes flickers -- at first blanks out to black then re-draws, this is most noticeable on white or gray backgrounds. @@ -47,8 +47,8 @@ This will fix the issue temporarily, but we still need a better solution. -Remote debugging via DevTools (nw) ----------------------------------- +Remote debugging via DevTools (nw/outdated) +------------------------------------------- Set this in package.json: "chromium-args": "--remote-debugging-port=9222", @@ -57,8 +57,8 @@ Then open http://localhost:9222 in chrome. -Speedup loading of app (nw) ---------------------------- +Speedup loading of app (nw/outdated) +------------------------------------ One of the ways to speed up the load times when packed is to store Node's modules ./node_modules in a separate location, outside of the app.zip @@ -73,8 +73,7 @@ To enable require(..) to find them: var path = require('path') require('app-module-path') .addPath(path.dirname(process.execPath) - + '/node_modules/') - } + + '/node_modules/') } diff --git a/Viewer/doc/NOTES b/Viewer/doc/NOTES index f2dfe1bf..7218a09b 100755 --- a/Viewer/doc/NOTES +++ b/Viewer/doc/NOTES @@ -3,8 +3,8 @@ Modules and RequireJS ===================== Most of the system is loaded via browser context RequireJS loader, in -node/nw context node-specific stuff is loaded with a second node-enabled -RequireJS instance or node require. +node/electron/nw context node-specific stuff is loaded with a second +node-enabled RequireJS instance or node require. The ideal solution would be to use one require that sees both the browser and node contexts, the problem is exactly in this, the browser requirejs @@ -15,8 +15,8 @@ Thus we are forced to use both mode requirejs loaders which may be confusing at times. -Different loaders: ------------------- +Different loaders +----------------- There are two RequireJS instances present in most contexts in nw.js within the define(..) runner: @@ -30,57 +30,10 @@ within the define(..) runner: This is needed as the above require(..) overloads the node native loader. -The future: ------------ +The future +---------- This seems a bit confusing, so at least the naming convention should be revised. - -Runtimes -======== - -ImageGrid.Viewer can be run in a number of runtimes on multiple platforms. - -Browser -------- - - npm install - index.html - - - -Node.js -------- - - npm install - node ig.js --help - - - -Electron --------- - - npm install - npm start - - - -NW.js ------ - -change "main" to "index.html" in package.json - - npm install - nw . - - - -Cordova/PhoneGap ----------------- - -XXX - - - diff --git a/Viewer/doc/PROJECT-LAYOUT b/Viewer/doc/PROJECT-LAYOUT index dffddc1e..03347a0b 100755 --- a/Viewer/doc/PROJECT-LAYOUT +++ b/Viewer/doc/PROJECT-LAYOUT @@ -30,17 +30,23 @@ Basic project layout: widgets/ - widget-specific css... images/ - system images... + data/ - data and assets... doc/ - various documentation... PROJECT-LAYOUT - this file BUILD-NOTES - notes on the build process NOTES - general notes... + HACKS - list of hacks around external + "features"... experiments/ - standalone experiments... package.json - npm/nw configuration... - ig.js - CLI entry point... - index.html - Browser/NW entry point... + electron.html - electron-specific html... ui.js - GUI root setup... + ig.js - CLI entry point... + index.html - Browser/NW entry point... + e.js - electron entry point... +