Спасибо EmperioAf за наводку на правильный путь! Документацию читал, то даже в голову не пришло что так можно было.
Напишу как понял почему программа так себя вела.
Файлы Основного процесса и процесса Отображения находятся как бы каждый в своей песочнице. Если просто обратиться к файлу из другого процесса, то он возвратит данные, которые находятся в файле. А при работе сценария новые данные записываются не в файл, а в оперативную память.
Для передачи данных между двумя процессами есть модуль IPC. В моем случае нужно из Основного процесса передать сообщение на запрос данных. В процессе Представления запрос будет услышан и отправлено сообщение с массивом данных. И в конце в Основном процессе будет получено сообщение с массивом из процесса Отображения.
Код:
main.js
// Отправить запрос в процесс Представления на получение массива элементов сцены
mainWindow.webContents.send('get-scene-arr');
// Получить ответ...
ipcMain.on('dispatch-scene-arr', (e, sceneElems) => {
// Вывести данные в консоле
console.log( sceneElems );
});
render.js
// Получить запрос из Основного процесса на получение массива с элементами сцены
ipcRenderer.on('get-scene-arr', function (e, args) {
// Отправить сообщение в Основной процесс с массивом элементов сцены
ipcRenderer.sendSync('dispatch-scene-arr', sceneElems);
});