aboutsummaryrefslogtreecommitdiff
path: root/Map/Data/Stage.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-07-04 17:06:28 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2025-07-04 17:06:28 +0200
commitc843d34f56c207abcf4b93e424125eea2dc601e0 (patch)
tree415dc2d9be4be31e290e1dd1dedb0b630c5e8fc6 /Map/Data/Stage.swift
parented10ac191df473c92c4fec495aafa7f569d108c8 (diff)
Upgrade to Swift 6
Diffstat (limited to 'Map/Data/Stage.swift')
-rw-r--r--Map/Data/Stage.swift209
1 files changed, 0 insertions, 209 deletions
diff --git a/Map/Data/Stage.swift b/Map/Data/Stage.swift
deleted file mode 100644
index 4f737a1..0000000
--- a/Map/Data/Stage.swift
+++ /dev/null
@@ -1,209 +0,0 @@
-// Copyright (C) 2024 Rubén Beltrán del Río
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see https://map.tranquil.systems.
-struct Stage {
- let i: String
- let ii: String
- let iii: String
- let iv: String
-
- static func stages(_ type: StageType) -> Stage {
- switch type {
- case .general:
- return Stage(
- i: "Genesis", ii: "Custom", iii: "Product (+rental)", iv: "Commodity (+utility)")
- case .practice:
- return Stage(
- i: "Novel", ii: "Emerging", iii: "Good", iv: "Best")
- case .data:
- return Stage(
- i: "Unmodelled", ii: "Divergent", iii: "Convergent", iv: "Modelled")
- case .knowledge:
- return Stage(
- i: "Concept", ii: "Hypothesis", iii: "Theory", iv: "Accepted")
- case .ubiquity:
- return Stage(
- i: "Rare", ii: "Slowly Increasing", iii: "Rapidly Increasing",
- iv: "Widespread in the applicable market / ecosystem")
- case .certainty:
- return Stage(
- i: "Poorly Understood / exploring the unknown",
- ii: "Rapid Increase In Learning / discovery becomes refining",
- iii: "Rapid increase in use / increasing fit for purpose",
- iv: "Commonly understood (in terms of use)")
- case .publicationTypes:
- return Stage(
- i:
- "Describe the wonder of the thing / the discovery of some marvel / a new land / an unknown frontier",
- ii:
- "Focused on build / construct / awareness and learning / many models of explanation / no accepted forms / a wild west",
- iii:
- "Maintenance / operations / installation / comparison between competing forms / feature analysis",
- iv: "Focused on use / increasingly an accepted, almost invisible component")
- case .market:
- return Stage(
- i: "Undefined Market",
- ii: "Forming Market / an array of competing forms and models of understanding",
- iii: "Growing Market / consolidation to a few competing but more accepted forms",
- iv: "Mature Market / stabilised to an accepted form")
- case .knowledgeManagement:
- return Stage(
- i: "Uncertain", ii: "Learning on use / focused on testing prediction",
- iii: "Learning on operation / using prediction / verification", iv: "Known / accepted")
- case .marketPerception:
- return Stage(
- i: "Chaotic (non-linear) / domain of the \"crazy\"", ii: "Domain of \"experts\"",
- iii: "Increasing expectation of use / domain of \"professionals\"",
- iv: "Ordered (appearance of being linear) / trivial / formula to be applied")
- case .userPerception:
- return Stage(
- i: "Different / confusing / exciting / surprising / dangerous",
- ii: "Leading edge / emerging / unceirtanty over results",
- iii: "Increasingly common / disappointed if not used or available / feeling left behind",
- iv: "Standard / expected / feeling of shock if not used")
- case .perceptionInIndustry:
- return Stage(
- i: "Future source of competitive advantage / unpredictable / unknown",
- ii: "Seen as a scompetitive advantage / a differential / ROI / case examples",
- iii: "Advantage through implementation / features / this model is better than that",
- iv: "Cost of doing business / accepted / specific defined models")
- case .focusOfValue:
- return Stage(
- i: "High future worth but immediate investment",
- ii: "Seeking ways to profit and a ROI / seeking confirmation of value",
- iii:
- "High profitability per unit / a valuable model / a feeling of understanding / focus on exploitation",
- iv:
- "High volume / reducing margin / important but invisible / an essential component of something more complex"
- )
- case .understanding:
- return Stage(
- i: "Poorly Understood / unpredictable",
- ii: "Increasing understanding / development of measures",
- iii: "Increasing education / constant refinement of needs / measures",
- iv: "Believed to be well defined / stable / measurable")
- case .comparison:
- return Stage(
- i: "Constantly changing / a differential / unstable",
- ii: "Learning from others / testing the water / some evidential support",
- iii: "Competing models / feature difference / evidential support",
- iv: "Essential / any advantage is operational / accepted norm")
- case .failure:
- return Stage(
- i: "High / tolerated / assumed to be wrong",
- ii: "Moderate / unsurprising if wrong but disappointed",
- iii:
- "Not tolerated / focus on constant improvement / assumed to be in the right direction / resistance to changing the model",
- iv: "Surprised by failure / focus on operational efficiency")
- case .marketAction:
- return Stage(
- i: "Gambling / driven by gut", ii: "Exploring a \"found\" value",
- iii: "Market analysis / listening to customers", iv: "Metric driven / build what is needed")
- case .efficiency:
- return Stage(
- i: "Reducing the cost of change (experimentation)", ii: "Reducing cost of waste (Learning)",
- iii: "Reducing cost of waste (Learning)", iv: "Reducing cost of deviation (Volume)")
- case .decisionDrivers:
- return Stage(
- i: "Heritage / culture", ii: "Analyses & synthesis", iii: "Analyses & synthesis",
- iv: "Previous Experience")
- case .behavior:
- return Stage(
- i: "Uncertain when to use", ii: "Learning when to use", iii: "Learning through use",
- iv: "Known / common usage")
- }
- }
-
- static func title(_ type: StageType) -> String {
- switch type {
- case .general:
- return "Activities"
- case .practice:
- return "Practice"
- case .data:
- return "Data"
- case .knowledge:
- return "Knowledge"
- case .ubiquity:
- return "Ubiquity"
- case .certainty:
- return "Certainty"
- case .publicationTypes:
- return "Publication Types"
- case .market:
- return "Market"
- case .knowledgeManagement:
- return "Knowledge Management"
- case .marketPerception:
- return "Market Perception"
- case .userPerception:
- return "User Perception"
- case .perceptionInIndustry:
- return "Perception In Industry"
- case .focusOfValue:
- return "Focus Of Value"
- case .understanding:
- return "Understanding"
- case .comparison:
- return "Comparison"
- case .failure:
- return "Failure"
- case .marketAction:
- return "Market Action"
- case .efficiency:
- return "Efficiency"
- case .decisionDrivers:
- return "Decision Drivers"
- case .behavior:
- return "Behavior"
- }
- }
-}
-
-enum StageType: String, CaseIterable, Identifiable {
- case general
- case practice
- case data
- case knowledge
-
- case ubiquity
- case certainty
- case publicationTypes
-
- case market
- case knowledgeManagement
- case marketPerception
- case userPerception
- case perceptionInIndustry
- case focusOfValue
- case understanding
- case comparison
- case failure
- case marketAction
- case efficiency
- case decisionDrivers
-
- case behavior
-
- var id: String { self.rawValue }
-
- static let types: [StageType] = [.general, .practice, .data, .knowledge]
- static let characteristics: [StageType] = [.ubiquity, .certainty, .publicationTypes]
- static let properties: [StageType] = [
- .market, .knowledgeManagement, .marketPerception, .userPerception,
- .perceptionInIndustry, .focusOfValue, .understanding, .comparison, .failure,
- .marketAction, .efficiency, .decisionDrivers,
- ]
- static let custom: [StageType] = [.behavior]
-}