Skip to content

Latest commit

 

History

History
972 lines (627 loc) · 25.7 KB

config-schema.md

File metadata and controls

972 lines (627 loc) · 25.7 KB

Objects


Action card slot group

Action card slot group Properties

Type Description Required
id string ✓ Yes
type string ✓ Yes
label I18nConfig ✓ Yes
assets SlotGroupAssetConfig ✓ Yes
slots ActionCardSlotGroupSlotConfig [] ✓ Yes
cards CardConfig [] ✓ Yes

Additional properties are not allowed.

ActionCardSlotGroupConfig.id

  • Type: string
  • Required: ✓ Yes
  • Pattern: ^((?!internal).)*$

ActionCardSlotGroupConfig.type

  • Type: string
  • Required: ✓ Yes
  • Allowed values:
    • "action-card"

ActionCardSlotGroupConfig.label

  • Type: I18nConfig
  • Required: ✓ Yes
  • Type of each property: string

ActionCardSlotGroupConfig.assets

  • Type: SlotGroupAssetConfig
  • Required: ✓ Yes

ActionCardSlotGroupConfig.slots

  • Type: ActionCardSlotGroupSlotConfig []
  • Required: ✓ Yes

ActionCardSlotGroupConfig.cards

  • Type: CardConfig []
  • Required: ✓ Yes

Action card slot group slot

Action card slot group slot Properties

Type Description Required
markerSlot MarkerSlotConfig ✓ Yes
cardSlot CardSlotConfig ✓ Yes

Additional properties are not allowed.

ActionCardSlotGroupSlotConfig.markerSlot

  • Type: MarkerSlotConfig
  • Required: ✓ Yes

ActionCardSlotGroupSlotConfig.cardSlot

  • Type: CardSlotConfig
  • Required: ✓ Yes

Asset URL object

Asset URL object Properties

Type Description Required
url string ✓ Yes

Additional properties are not allowed.

AssetUrlObjectConfig.url

  • Type: string
  • Required: ✓ Yes
  • Pattern: _x[+-]?[0-9]+_y[+-]?[0-9]+\.[a-zA-Z0-9]+$

Auto reset

Auto reset Properties

Type Description Required
timeoutSeconds number ✓ Yes
condition string ✓ Yes
title I18nConfig ✓ Yes
description I18nConfig ✓ Yes

Additional properties are not allowed.

AutoResetConfig.timeoutSeconds

  • Type: number
  • Required: ✓ Yes
  • Minimum: >= 0

AutoResetConfig.condition

  • Type: string
  • Required: ✓ Yes

AutoResetConfig.title

  • Type: I18nConfig
  • Required: ✓ Yes
  • Type of each property: string

AutoResetConfig.description

  • Type: I18nConfig
  • Required: ✓ Yes
  • Type of each property: string

Basic slot group

Basic slot group Properties

Type Description Required
id string ✓ Yes
type string ✓ Yes
label I18nConfig ✓ Yes
assets SlotGroupAssetConfig ✓ Yes
markerSlots MarkerSlotConfig [] ✓ Yes
parameterTransformIds string [] ✓ Yes

Additional properties are not allowed.

BasicSlotGroupConfig.id

  • Type: string
  • Required: ✓ Yes
  • Pattern: ^((?!internal).)*$

BasicSlotGroupConfig.type

  • Type: string
  • Required: ✓ Yes
  • Allowed values:
    • "basic"

BasicSlotGroupConfig.label

  • Type: I18nConfig
  • Required: ✓ Yes
  • Type of each property: string

BasicSlotGroupConfig.assets

  • Type: SlotGroupAssetConfig
  • Required: ✓ Yes

BasicSlotGroupConfig.markerSlots

  • Type: MarkerSlotConfig []
  • Required: ✓ Yes

BasicSlotGroupConfig.parameterTransformIds

  • Type: string []
  • Required: ✓ Yes

Card

Card Properties

Type Description Required
parameterTransformId string ✓ Yes
url string ✓ Yes

Additional properties are not allowed.

CardConfig.parameterTransformId

  • Type: string
  • Required: ✓ Yes

CardConfig.url

  • Type: string
  • Required: ✓ Yes

Card slot

Card slot Properties

Type Description Required
id string ✓ Yes
x number ✓ Yes
y number ✓ Yes
angle number ✓ Yes

Additional properties are not allowed.

CardSlotConfig.id

  • Type: string
  • Required: ✓ Yes

CardSlotConfig.x

  • Type: number
  • Required: ✓ Yes

CardSlotConfig.y

  • Type: number
  • Required: ✓ Yes

CardSlotConfig.angle

  • Type: number
  • Required: ✓ Yes

Conditionally shown illustration layer

Conditionally shown illustration layer Properties

Type Description Required
url string ✓ Yes
condition string ✓ Yes

Additional properties are not allowed.

ConditionalLayerConfig.url

  • Type: string
  • Required: ✓ Yes
  • Pattern: _x[+-]?[0-9]+_y[+-]?[0-9]+\.[a-zA-Z0-9]+$

ConditionalLayerConfig.condition

  • Type: string
  • Required: ✓ Yes

Event card slot group

Event card slot group Properties

Type Description Required
id string ✓ Yes
type string ✓ Yes
label I18nConfig ✓ Yes
assets SlotGroupAssetConfig ✓ Yes
markerSlot MarkerSlotConfig ✓ Yes
cardSlots CardSlotConfig [] ✓ Yes
cards CardConfig [] ✓ Yes

Additional properties are not allowed.

EventCardSlotGroupConfig.id

  • Type: string
  • Required: ✓ Yes
  • Pattern: ^((?!internal).)*$

EventCardSlotGroupConfig.type

  • Type: string
  • Required: ✓ Yes
  • Allowed values:
    • "event-card"

EventCardSlotGroupConfig.label

  • Type: I18nConfig
  • Required: ✓ Yes
  • Type of each property: string

EventCardSlotGroupConfig.assets

  • Type: SlotGroupAssetConfig
  • Required: ✓ Yes

EventCardSlotGroupConfig.markerSlot

  • Type: MarkerSlotConfig
  • Required: ✓ Yes

EventCardSlotGroupConfig.cardSlots

  • Type: CardSlotConfig []
  • Required: ✓ Yes

EventCardSlotGroupConfig.cards

  • Type: CardConfig []
  • Required: ✓ Yes

General configuration

General configuration Properties

Type Description Required
assetBaseDir string ✓ Yes
primaryLanguage string ✓ Yes
secondaryLanguage string ✓ Yes
description I18nConfig ✓ Yes
scoreLabels ScoreLabelsConfig ✓ Yes
autoReset AutoResetConfig ✓ Yes

Additional properties are not allowed.

GeneralConfig.assetBaseDir

  • Type: string
  • Required: ✓ Yes

GeneralConfig.primaryLanguage

  • Type: string
  • Required: ✓ Yes

GeneralConfig.secondaryLanguage

  • Type: string
  • Required: ✓ Yes

GeneralConfig.description

  • Type: I18nConfig
  • Required: ✓ Yes
  • Type of each property: string

GeneralConfig.scoreLabels

  • Type: ScoreLabelsConfig
  • Required: ✓ Yes

GeneralConfig.autoReset

  • Type: AutoResetConfig
  • Required: ✓ Yes

Illustration or visualization layer


Initial parameter values

Initial parameter values Properties

Type Description Required
abandonExcessRate number ✓ Yes
abandonRate number ✓ Yes
acquireRate number ✓ Yes
breakRate number ✓ Yes
capacityAdjustmentRate number ✓ Yes
disposeIncentive number ✓ Yes
disposeRate number ✓ Yes
landfillIncentive number ✓ Yes
landfillRate number ✓ Yes
naturalResourceMiningRate number ✓ Yes
naturalResourcesIncentive number ✓ Yes
newPhoneProductionRate number ✓ Yes
newlyProducedPhoneIncentive number ✓ Yes
numberOfUsers number ✓ Yes
phonesPerUserGoal number ✓ Yes
recycleRate number ✓ Yes
recyclingIncentive number ✓ Yes
refurbishmentIncentive number ✓ Yes
refurbishmentRate number ✓ Yes
repairIncentive number ✓ Yes
repairRate number ✓ Yes
reuseIncentive number ✓ Yes
userdata number ✓ Yes

Additional properties are not allowed.

InitialParametersConfig.abandonExcessRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.abandonRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.acquireRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.breakRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.capacityAdjustmentRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.disposeIncentive

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.disposeRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.landfillIncentive

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.landfillRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.naturalResourceMiningRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.naturalResourcesIncentive

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.newPhoneProductionRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.newlyProducedPhoneIncentive

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.numberOfUsers

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.phonesPerUserGoal

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.recycleRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.recyclingIncentive

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.refurbishmentIncentive

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.refurbishmentRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.repairIncentive

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.repairRate

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.reuseIncentive

  • Type: number
  • Required: ✓ Yes

InitialParametersConfig.userdata

  • Type: number
  • Required: ✓ Yes

Initial stock values

Initial stock values Properties

Type Description Required
capacityOfNaturalResources number ✓ Yes
capacityOfNewlyProducedPhones number ✓ Yes
capacityOfPhonesInUse number ✓ Yes
capacityOfRecycledMaterials number ✓ Yes
capacityOfRefurbishedPhones number ✓ Yes
capacityOfRepairedPhones number ✓ Yes
phonesInUse number ✓ Yes
supplyOfBrokenPhones number ✓ Yes
supplyOfDisposedPhones number ✓ Yes
supplyOfHibernatingPhones number ✓ Yes
supplyOfNaturalResources number ✓ Yes
supplyOfNewlyProducedPhones number ✓ Yes
supplyOfRecycledMaterials number ✓ Yes
supplyOfRefurbishedPhones number ✓ Yes
supplyOfRepairedPhones number ✓ Yes

Additional properties are not allowed.

InitialStocksConfig.capacityOfNaturalResources

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.capacityOfNewlyProducedPhones

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.capacityOfPhonesInUse

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.capacityOfRecycledMaterials

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.capacityOfRefurbishedPhones

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.capacityOfRepairedPhones

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.phonesInUse

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.supplyOfBrokenPhones

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.supplyOfDisposedPhones

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.supplyOfHibernatingPhones

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.supplyOfNaturalResources

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.supplyOfNewlyProducedPhones

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.supplyOfRecycledMaterials

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.supplyOfRefurbishedPhones

  • Type: number
  • Required: ✓ Yes

InitialStocksConfig.supplyOfRepairedPhones

  • Type: number
  • Required: ✓ Yes

Interactive elements

Interactive elements Properties

Type Description Required
actionCardDelayMs number ✓ Yes
eventCardMinDelayMs number ✓ Yes
eventCardMaxDelayMs number ✓ Yes
eventCardMinDurationMs number ✓ Yes
eventCardMaxDurationMs number ✓ Yes
slotGroups array[] ✓ Yes

Additional properties are not allowed.

InteractionConfig.actionCardDelayMs

  • Type: number
  • Required: ✓ Yes
  • Minimum: >= 0

InteractionConfig.eventCardMinDelayMs

  • Type: number
  • Required: ✓ Yes
  • Minimum: >= 0

InteractionConfig.eventCardMaxDelayMs

  • Type: number
  • Required: ✓ Yes
  • Minimum: >= 0

InteractionConfig.eventCardMinDurationMs

  • Type: number
  • Required: ✓ Yes
  • Minimum: >= 0

InteractionConfig.eventCardMaxDurationMs

  • Type: number
  • Required: ✓ Yes
  • Minimum: >= 0

InteractionConfig.slotGroups

  • Type: array[]
    • Each element in the array must be one of the following values:
  • Required: ✓ Yes

Internationalized text

Additional properties are allowed.


Layers of illustrations and visualizations


Marker slot

Marker slot Properties

Type Description Required
id string ✓ Yes
x number ✓ Yes
y number ✓ Yes
angle number ✓ Yes

Additional properties are not allowed.

MarkerSlotConfig.id

  • Type: string
  • Required: ✓ Yes

MarkerSlotConfig.x

  • Type: number
  • Required: ✓ Yes

MarkerSlotConfig.y

  • Type: number
  • Required: ✓ Yes

MarkerSlotConfig.angle

  • Type: number
  • Required: ✓ Yes

Model configuration

Model configuration Properties

Type Description Required
initialParameters InitialParametersConfig ✓ Yes
initialStocks InitialStocksConfig ✓ Yes

Additional properties are not allowed.

ModelConfig.initialParameters

  • Type: InitialParametersConfig
  • Required: ✓ Yes

ModelConfig.initialStocks

  • Type: InitialStocksConfig
  • Required: ✓ Yes

Model visualization layer


Parameter transformation

Parameter transformation Properties

Type Description Required
id string ✓ Yes
script string ✓ Yes

Additional properties are not allowed.

ParameterTransformConfig.id

  • Type: string
  • Required: ✓ Yes

ParameterTransformConfig.script

  • Type: string
  • Required: ✓ Yes

Schema of the app configuration

Schema of the app configuration Properties

Type Description Required
general GeneralConfig ✓ Yes
model ModelConfig ✓ Yes
simulation SimulationConfig ✓ Yes
parameterTransforms ParameterTransformConfig [] ✓ Yes
interaction InteractionConfig ✓ Yes
layers LayersConfig ✓ Yes

Additional properties are not allowed.

Schema of the app configuration.general

  • Type: GeneralConfig
  • Required: ✓ Yes

Schema of the app configuration.model

  • Type: ModelConfig
  • Required: ✓ Yes

Schema of the app configuration.simulation

  • Type: SimulationConfig
  • Required: ✓ Yes

Schema of the app configuration.parameterTransforms

  • Type: ParameterTransformConfig []
  • Required: ✓ Yes

Schema of the app configuration.interaction

  • Type: InteractionConfig
  • Required: ✓ Yes

Schema of the app configuration.layers

  • Type: LayersConfig
    • Each element in the array must be one of the following values:
      • modelVisualization
  • Required: ✓ Yes

Score labels

Score labels Properties

Type Description Required
circularity I18nConfig ✓ Yes
coverage I18nConfig ✓ Yes

Additional properties are not allowed.

ScoreLabelsConfig.circularity

  • Type: I18nConfig
  • Required: ✓ Yes
  • Type of each property: string

ScoreLabelsConfig.coverage

  • Type: I18nConfig
  • Required: ✓ Yes
  • Type of each property: string

Simulation configuration

Simulation configuration Properties

Type Description Required
deltaPerSecond number ✓ Yes
maxStepSize number ✓ Yes

Additional properties are not allowed.

SimulationConfig.deltaPerSecond

  • Type: number
  • Required: ✓ Yes

SimulationConfig.maxStepSize

  • Type: number
  • Required: ✓ Yes

Slot group


Slot group assets

Slot group assets Properties

Type Description Required
markerSlotActive AssetUrlObjectConfig ✓ Yes
markerSlotInactive AssetUrlObjectConfig ✓ Yes

Additional properties are not allowed.

SlotGroupAssetConfig.markerSlotActive

  • Type: AssetUrlObjectConfig
  • Required: ✓ Yes

SlotGroupAssetConfig.markerSlotInactive

  • Type: AssetUrlObjectConfig
  • Required: ✓ Yes