diff --git a/src/App.vue b/src/App.vue index 07dbab2..ba31ae9 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,12 +1,12 @@ diff --git a/src/modules/5s/day-store.ts b/src/modules/5s/day-store.ts new file mode 100644 index 0000000..fea8988 --- /dev/null +++ b/src/modules/5s/day-store.ts @@ -0,0 +1,12 @@ +import { Work } from '@/modules/5s/types/workshop' +import { defineStore } from 'pinia' + +type State = { + works: Work[] +} + +export const useDayStore = defineStore('day', { + state: (): State => ({ + works: [] + }) +}) diff --git a/src/modules/5s/types/domain.ts b/src/modules/5s/types/data.ts similarity index 68% rename from src/modules/5s/types/domain.ts rename to src/modules/5s/types/data.ts index 8922087..c90614d 100644 --- a/src/modules/5s/types/domain.ts +++ b/src/modules/5s/types/data.ts @@ -2,7 +2,7 @@ // Outils globaux (16) // ---------------------- -import { Deliverable, Tool } from '@/modules/5s/types/activity' +import { Deliverable, Tool, Work } from '@/modules/5s/types/workshop' export const tools: Tool[] = [ { name: 'Drill', alias: 'power drill', cooldown: 2 }, @@ -28,133 +28,136 @@ export const tools: Tool[] = [ // Outils utilisés : 0, 2, 3, 4, 5, 8, 10 // ---------------------- -export const gardening: Deliverable[] = [ - { - name: 'Vegetable Patch', - activities: [ - { - name: 'Soil Preparation', - tasks: [ - { - name: 'Loosen soil and compost', - tools: [tools[10], tools[4]] - } - ] - }, - { - name: 'Plot Planning', - tasks: [ - { - name: 'Mark row layout', - tools: [tools[2], tools[3]] - } - ] - } - ] - }, - { - name: 'Compost Bin Assembly', - activities: [ - { - name: 'Cut Panels', - tasks: [ - { - name: 'Drill and shape wood panels', - tools: [tools[0], tools[5]] - } - ] - } - ] - }, - { - name: 'Shrub Pruning', - activities: [ - { - name: 'Dead Branch Removal', - tasks: [ - { - name: 'Cut branches cleanly', - tools: [tools[8]] - } - ] - } - ] - }, - { - name: 'Raised Garden Bed', - activities: [ - { - name: 'Frame Layout', - tasks: [ - { - name: 'Measure garden bed size', - tools: [tools[2], tools[3]] - } - ] - }, - { - name: 'Frame Assembly', - tasks: [ - { - name: 'Join corners with clamps', - tools: [tools[0], tools[5]] - } - ] - }, - { - name: 'Soil Filling', - tasks: [ - { - name: 'Add compost and soil', - tools: [tools[10]] - } - ] - } - ] - }, - { - name: 'Herb Garden Planters', - activities: [ - { - name: 'Trough Installation', - tasks: [ - { - name: 'Fix containers to wall', - tools: [tools[0], tools[4]] - } - ] - } - ] - }, - { - name: 'Watering Routine', - activities: [ - { - name: 'Daily Watering', - tasks: [ - { - name: 'Irrigate each section', - tools: [tools[9]] - } - ] - } - ] - }, - { - name: 'Garden Signposts', - activities: [ - { - name: 'Label Creation', - tasks: [ - { - name: 'Write and install plant tags', - tools: [tools[3], tools[0]] - } - ] - } - ] - } -] +export const gardening: Work = { + name: 'gardening', + deliverables: [ + { + name: 'Vegetable Patch', + activities: [ + { + name: 'Soil Preparation', + tasks: [ + { + name: 'Loosen soil and compost', + tools: [tools[10], tools[4]] + } + ] + }, + { + name: 'Plot Planning', + tasks: [ + { + name: 'Mark row layout', + tools: [tools[2], tools[3]] + } + ] + } + ] + }, + { + name: 'Compost Bin Assembly', + activities: [ + { + name: 'Cut Panels', + tasks: [ + { + name: 'Drill and shape wood panels', + tools: [tools[0], tools[5]] + } + ] + } + ] + }, + { + name: 'Shrub Pruning', + activities: [ + { + name: 'Dead Branch Removal', + tasks: [ + { + name: 'Cut branches cleanly', + tools: [tools[8]] + } + ] + } + ] + }, + { + name: 'Raised Garden Bed', + activities: [ + { + name: 'Frame Layout', + tasks: [ + { + name: 'Measure garden bed size', + tools: [tools[2], tools[3]] + } + ] + }, + { + name: 'Frame Assembly', + tasks: [ + { + name: 'Join corners with clamps', + tools: [tools[0], tools[5]] + } + ] + }, + { + name: 'Soil Filling', + tasks: [ + { + name: 'Add compost and soil', + tools: [tools[10]] + } + ] + } + ] + }, + { + name: 'Herb Garden Planters', + activities: [ + { + name: 'Trough Installation', + tasks: [ + { + name: 'Fix containers to wall', + tools: [tools[0], tools[4]] + } + ] + } + ] + }, + { + name: 'Watering Routine', + activities: [ + { + name: 'Daily Watering', + tasks: [ + { + name: 'Irrigate each section', + tools: [tools[9]] + } + ] + } + ] + }, + { + name: 'Garden Signposts', + activities: [ + { + name: 'Label Creation', + tasks: [ + { + name: 'Write and install plant tags', + tools: [tools[3], tools[0]] + } + ] + } + ] + } + ] +} // ---------------------- // CABINETMAKING (7 outils max) diff --git a/src/modules/5s/types/activity.ts b/src/modules/5s/types/workshop.ts similarity index 94% rename from src/modules/5s/types/activity.ts rename to src/modules/5s/types/workshop.ts index 92c915e..a3fcd21 100644 --- a/src/modules/5s/types/activity.ts +++ b/src/modules/5s/types/workshop.ts @@ -21,7 +21,7 @@ export type Deliverable = { activities: NonEmptyArray } -export type Domain = { +export type Work = { name: string deliverables: NonEmptyArray } diff --git a/src/modules/pull-system/FlowArticle.vue b/src/modules/pull-system/PullSystemArticle.vue similarity index 96% rename from src/modules/pull-system/FlowArticle.vue rename to src/modules/pull-system/PullSystemArticle.vue index 15d2ab2..1cf8519 100644 --- a/src/modules/pull-system/FlowArticle.vue +++ b/src/modules/pull-system/PullSystemArticle.vue @@ -11,7 +11,6 @@ import PushSystemIcon from '@/icons/PushSystemIcon.vue' import FeatureItem from '@/modules/pull-system/feature/FeatureItem.vue' import QualityIssue from '@/modules/pull-system/feature/QualityIssue.vue' import { useSimulationStore } from '@/modules/pull-system/simulation/simulation-store' -import { getRound } from '@/utils' import { computed } from 'vue' const feature: Feature = { @@ -24,12 +23,14 @@ const feature: Feature = { } const simulationStore = useSimulationStore() -const leadTimeDeltaFloat = computed( +const meanLeadTimeDeltaFloat = computed( () => parseFloat(simulationStore.meanLeadTime('push')) - parseFloat(simulationStore.meanLeadTime('pull')) ) -const leadTimeDelta = computed(() => leadTimeDeltaFloat.value.toFixed(2)) +const meanLeadTimeDelta = computed(() => + meanLeadTimeDeltaFloat.value.toFixed(2) +) const SIMULATION_THRESHOLD = 20 @@ -236,10 +237,8 @@ const createdAt = new Date('2025-01-08').toLocaleDateString(undefined, {

Now we’re pretty confident! As quality issues increase in the push system, defects and corrections accumulate, - leading to approximately - {{ leadTimeDelta }} days of delay{{ meanLeadTimeDelta }} days of + delay

@@ -275,7 +274,9 @@ const createdAt = new Date('2025-01-08').toLocaleDateString(undefined, { teams to overproduce. Product teams prepare extra features, designers create unnecessary screens, and developers rush through coding. This "just in case" mindset results in wasted effort and latent defects that - require rework, slowing productivity. + require rework, slowing productivity. Worse, as there are always work to + do in stock, we can just throw bad parts and move on a new piece, + increasing bad quality.

Counterintuitively,