summaryrefslogtreecommitdiff
path: root/src/SomhairlesDream.Modeling/Definitions.fs
blob: 64e6bc61e39af7b0ce20444f32e3be460499dc27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
namespace SomhairlesDream.Modeling

open SomhairlesDream.Shared

[<CLIMutable>]
type DesignStep =
    { StepId: string
      Index: int
      ObjectIds: string array
      Changes: ArtifactChange array }

module Design =
    let steps : DesignStep array =
        [| { StepId = "01-foundation"; Index = 0
             ObjectIds = [| "heritage.foundation"; "heritage.deck" |]
             Changes =
                 [| { ObjectId = "heritage.foundation"; Kind = "add"; Summary = "Add foundation slab" }
                    { ObjectId = "heritage.deck"; Kind = "add"; Summary = "Add raised deck" } |] }
           { StepId = "02-frame"; Index = 1
             ObjectIds =
                 [| "heritage.foundation"; "heritage.deck"; "heritage.frame.left"; "heritage.frame.right"; "heritage.spine" |]
             Changes =
                 [| { ObjectId = "heritage.frame.left"; Kind = "add"; Summary = "Add primary left frame" }
                    { ObjectId = "heritage.frame.right"; Kind = "add"; Summary = "Add primary right frame" }
                    { ObjectId = "heritage.spine"; Kind = "add"; Summary = "Add central spine" } |] }
           { StepId = "03-cabin"; Index = 2
             ObjectIds =
                 [| "heritage.foundation"; "heritage.deck"; "heritage.frame.left"; "heritage.frame.right"; "heritage.spine"; "heritage.cabin"; "heritage.crossbeam" |]
             Changes =
                 [| { ObjectId = "heritage.cabin"; Kind = "add"; Summary = "Add cabin volume" }
                    { ObjectId = "heritage.crossbeam"; Kind = "add"; Summary = "Add cabin crossbeam" } |] } |]