← back to Interiordesignershowroom

_scene_test.js

38 lines

// throwaway test for AD-grade room renders
require('dotenv').config();
const { generateScene } = require('./lib/scene');

const P = (u) => ({ image_url: u });
const cases = [
  {
    style: 'mid-century', color: 'walnut', room_type: 'living-room',
    products: [
      P('https://assets.wfcdn.com/im/46783967/resize-h400-w400%5Ecompr-r85/2879/287947641/.jpg'),
      P('https://assets.wfcdn.com/im/88054150/resize-h400-w400%5Ecompr-r85/2908/290875615/.jpg'),
    ],
  },
  {
    style: 'coastal', color: 'blue', room_type: 'bedroom',
    products: [
      P('https://assets.wfcdn.com/im/24851625/resize-h400-w400%5Ecompr-r85/3349/334967974/.jpg'),
      P('https://assets.wfcdn.com/im/96917214/resize-h400-w400%5Ecompr-r85/3865/386515045/.jpg'),
    ],
  },
  { style: 'organic modern', theme: 'warm minimal', color: 'terracotta', room_type: 'dining-room' },
];

(async () => {
  let total = 0;
  for (const c of cases) {
    try {
      const r = await generateScene(c);
      total += r.cost;
      console.log(`OK  ${c.style}/${c.color}/${c.room_type}  -> ${r.url}  refs=${r.refs}  $${r.cost}`);
    } catch (e) {
      console.log(`ERR ${c.style}/${c.room_type}: ${e.message}`);
    }
  }
  console.log(`\nTOTAL RENDER COST: $${total.toFixed(3)}`);
  process.exit(0);
})();