default values and float type (#582)

This commit was merged in pull request #582.
This commit is contained in:
Davor Hrg
2022-01-08 20:32:32 +01:00
committed by GitHub
parent cd3060b3c7
commit 3fef6474d3
3 changed files with 11 additions and 3 deletions

1
.gitignore vendored
View File

@@ -1,4 +1,5 @@
.idea .idea
.history
.DS_Store .DS_Store
.env .env
.netlify .netlify

View File

@@ -8,6 +8,7 @@ type JscadTypeNames =
| 'group' | 'group'
| 'text' | 'text'
| 'int' | 'int'
| 'float'
| 'number' | 'number'
| 'slider' | 'slider'
| 'email' | 'email'
@@ -37,7 +38,7 @@ interface JscadTextParam extends JscadParamBase {
maxLength: number maxLength: number
} }
interface JscadIntNumberSliderParam extends JscadParamBase { interface JscadIntNumberSliderParam extends JscadParamBase {
type: 'int' | 'number' | 'slider' type: 'int' | 'number' | 'float' | 'slider'
initial: number initial: number
min?: number min?: number
max?: number max?: number
@@ -93,6 +94,7 @@ export function jsCadToCadhubParams(input: JsCadParams[]): CadhubParams[] {
switch (param.type) { switch (param.type) {
case 'slider': case 'slider':
case 'number': case 'number':
case 'float':
case 'int': case 'int':
return { return {
type: 'number', type: 'number',

View File

@@ -315,9 +315,12 @@ function parseDef(code, line) {
} }
const makeScriptWorker = ({ callback, convertToSolids }) => { const makeScriptWorker = ({ callback, convertToSolids }) => {
let onInit, main, scriptStats, entities let onInit, main, scriptStats, entities, lastParamsDef
function runMain(params = {}) { function runMain(params = {}) {
if(lastParamsDef) lastParamsDef.forEach(def=>{
if(!(def.name in params) && 'initial' in def) params[def.name] = def.initial
})
let time = Date.now() let time = Date.now()
let solids let solids
const transfer = [] const transfer = []
@@ -397,10 +400,12 @@ const makeScriptWorker = ({ callback, convertToSolids }) => {
if (idx === -1) { if (idx === -1) {
paramsDef.push(p) paramsDef.push(p)
} else { } else {
paramsDef.splice(idx, 1, p) paramsDef[idx] = p
} }
}) })
} }
console.log('paramsDef', paramsDef)
lastParamsDef = paramsDef
callback({ callback({
action: 'parameterDefinitions', action: 'parameterDefinitions',
worker: 'main', worker: 'main',