Motivation
renderScene() takes in viewSettings, sceneSettings,sceneOptions and data
Scene options has a shape that is specified here https://github.com/mithi/bare-minimum-3d/blob/master/src/parameter-types.ts You have to specify a lot of color, opacity, and lineSize among others. You may not want to think about these things.
Solution
So there should be an additional alternative function than can be used:
renderSceneDefaults(viewSettings, sceneSettings, sceneOptionsBoolean, backgroundColor, theme, data)
The user should be able to override the background color should s/he wish
The user should also be able to specify a theme which is light or dark which will use the default colors and lines etc.
The user should specify which scene option elements you want to show ie
const sceneOptionsBoolean: Record<string, boolean> = {
showWorldAxes: true,
showEdgeAxes: true,
showCubeAxes: true,
showXYplane: true,
showCrosslines: true,
showCubeEdges: true,
}
For the sceneOptions parameter, we can use these defaults for dark mode
const edgeAxes = {
intersectionPointColor: "#FF00FF",
intersectionPointSize: 5,
xColor: "#E91E63",
yColor: "#03A9F4",
zColor: "#CDDC39",
lineSize: 1,
edgeOpacity: 1.0,
}
const worldAxes = {
intersectionPointColor: "#FFFF00",
intersectionPointSize: 5,
xColor: "#E91E63",
yColor: "#03A9F4",
zColor: "#CDDC39",
lineSize: 3,
edgeOpacity: 1.0,
}
const cubeAxes = {
intersectionPointColor: "#00FF00",
intersectionPointSize: 5,
xColor: "#E91E63",
yColor: "#03A9F4",
zColor: "#CDDC39",
lineSize: 3,
edgeOpacity: 1.0,
}
const sceneOptions = {
paper: { color: "#17212B", opacity: 1 },
xyPlane: { color: "#0652DD", opacity: 0.1 },
sceneEdges: { color: "#1e3799", opacity: 1 },
crossLines: { color: "#079992", opacity: 1 },
edgeAxes,
worldAxes,
cubeAxes,
}
Motivation
renderScene()takes inviewSettings,sceneSettings,sceneOptionsanddataScene options has a shape that is specified here https://github.com/mithi/bare-minimum-3d/blob/master/src/parameter-types.ts You have to specify a lot of
color,opacity, andlineSizeamong others. You may not want to think about these things.Solution
So there should be an additional alternative function than can be used:
renderSceneDefaults(viewSettings, sceneSettings, sceneOptionsBoolean, backgroundColor, theme, data)The user should be able to override the background color should s/he wish
The user should also be able to specify a
themewhich islightordarkwhich will use the default colors and lines etc.The user should specify which scene option elements you want to show ie
For the
sceneOptionsparameter, we can use these defaults for dark mode