Public
Edited
Jan 17, 2024
1 star
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
//
// Options for the collection input. An array of objects containing fields
// name, info, and size, respectively the title of the collection, an array of paintings
// and the size of the labirynth (either a an integer or an array of integers.)
//
Insert cell
Insert cell
//
// Ratio of the labyrinth walls to be torn down
// 0 means perfect labyrinth and 1 means a rectangular room with no walls
//
Insert cell
Insert cell
//
// Thickness of the walls w.r.t. cell.
// 1 means walls as thick as cells. 0 means paper-thin walls (not recommended)
//
Insert cell
Insert cell
//
// Camera angle in degrees.
// Useful values range from roughly 60 to 140.
// Small angles mean less distortion, but, since the viewer stays at the center of
// cells, paintings will appear larger. Bigger values result in bigger distortions, but paintings can be put
// closer together and still appear small. Use paintingSizeRatio to control overall painting size.
//
Insert cell
Insert cell
//
// Painting size with respect to each wall cell.
// Values closer to 1 make paintings bigger.
//
Insert cell
Insert cell
//
// Background color of navigation buttons
//
Insert cell
Insert cell
//
// Color of arrows in navigation buttons
//
Insert cell
Insert cell
//
// Ratio between button size and width
//
Insert cell
Insert cell
//
// Ratio between width of button and size of the arrow
//
Insert cell
Insert cell
//
// These configure the button icons used in the interface
//
Insert cell
Insert cell
width = window.defWidth || window.innerWidth * 0.986
Insert cell
//
// Height of the canvas. By default set to 9/16 of the width (wide-screen aspect ratio)
//
Insert cell
Insert cell
//
// If true, removes the blocks that make the ceiling
//
Insert cell
Insert cell
Insert cell
//f = fullscreen(mainFrame, {center: true})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
// showLabyrinth(labyrinth)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
mutable imgStat = ({ success: 0, fail: 0 })
Insert cell
Insert cell
Insert cell
THREE = require('three@0.119.1')
Insert cell
import {textGeometry} from '@esperanc/3d-fonts'
Insert cell
Insert cell
import {fullscreen} from "@fil/fullscreen"
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more