Files
ozone-tech_owl_prime/src/data/productionStatusSummary.ts
root bb76963902 revert: restore last working simulation (13ce16b)
Roll back junction-contact / discharge / light-theme simulation changes
to the previously stable production tree while keeping linear history.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 22:11:16 +02:00

183 lines
6.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Canonical summary data for `/documentation`.
* Authority: official sources present in-repo → production code → unit tests.
* Unverified / planned items are labeled explicitly — never implied complete.
*/
/** Kept for e2e (`docs-production-status`) and acquisition-pack provenance. */
export const PRODUCTION_STATUS = {
acquisitionPackStatus: 'DATA_ACQUISITION_PACK_READY',
webTwinStatus: 'BASELINE_PRESERVED',
unitTests: '196/196',
productionBuild: 'PASS',
contactPhysics: 'NOT_FULLY_VALIDATED',
officialCompliance: 'PARTIAL_SOURCES_PRESENT',
} as const;
export const CONFIRMED_LAYOUT = {
workspaceMm: { length: 10000, width: 6000 },
conveyorWidthMm: 500,
conveyorHeightMm: 700,
modules: ['clean', 'camera', 'sorter'] as const,
receivers: ['B_STRAIGHT', 'ZONE_C', 'ZONE_D'] as const,
} as const;
export const CLASSIFIER_BOUNDS = {
status: 'CURRENT_IMPLEMENTATION_VERIFIED_IN_CODE' as const,
officialSourceReference: 'official_sources/doc-1783095831.pdf',
officialSourceParsedThisPass: false,
minExclusiveMm: { width: 10, depth: 10, height: 10 },
maxExclusiveMm: { width: 450, depth: 320, height: 320 },
roundnessThresholdExclusive: 0.8,
display: {
min: '> 10×10×10 мм',
max: '< 450×320×320 мм',
roundness: 'K > 0.8',
},
checkOrder: 'dimensions→C, else circular→D, else B' as const,
} as const;
export const ROUTE_MAPPING = [
{ category: 'B', physicalRoute: 'STRAIGHT', activeDiverter: 'NONE', signedAngleDeg: 0 },
{ category: 'C', physicalRoute: 'PHYSICAL_LEFT', activeDiverter: 'LEFT', signedAngleDeg: -45 },
{ category: 'D', physicalRoute: 'PHYSICAL_RIGHT', activeDiverter: 'RIGHT', signedAngleDeg: 45 },
] as const;
export const DIVERTER_KINEMATICS = {
rotationDurationSec: 0.5,
openingSafetyMarginSec: 0.15,
contactPlaneS: 1.0538,
clearPlaneS: 1.6,
phases: ['READY', 'ARMED', 'OPENING', 'HOLDING', 'CLOSING'] as const,
productBound: true,
oneActiveProduct: true,
closeAfterRearClear: true,
generatedMechanismActive: false,
} as const;
export const CAD_PROVENANCE = {
authorFcstd: '3d_models/conveer.FCStd',
authorSha256: '90c1844a4ca05e26def783d6130fc4b993430dde14307534ef8fbb21c9fac2e6',
runtimeGlb: 'public/models/sorter/conveyor-clean.glb',
runtimeSha256: '1dc7a8d7891bfe756e277ad5368df74cb73410156b2fe0f92845afb8a56f285a',
authorServosInSorterModule: true,
generatedMechanismInactive: true,
hornTransmissionInGlb: 'ABSENT_OR_INCOMPLETE' as const,
} as const;
export const PHYSICS_STATUS = {
implemented: [
'Runtime product motion on belt (domain pose + Rapier handoff)',
'Product-associated diverter route timing (productId-bound)',
'Synchronized CAD diverter visual / kinematic targets',
'CCD enabled for light/thin SKUs in runtime and headless sim',
'Visual/physics spawn gating via product asset preload',
],
notFullyValidated: [
'Complete contact-only routing through CAD diverters',
'Belt surface velocity exactly 1 m/s with tangential drive',
'Calibrated friction / mass / COM per SKU',
'Fully physical continuous conveyor loop',
'Receiver capture under all item classes',
],
planned: [
'Visual full belt loop with surface-velocity coupling',
'Controlled tangential friction at 1 m/s',
'Dynamic rigid bodies for divert segment with fixed timestep',
'Per-SKU collider, damping, and friction profiles',
],
} as const;
export const VALIDATION_BOARD = [
{ item: 'Unit tests', status: '196/196 PASS' },
{ item: 'Production build', status: 'PASS' },
{ item: 'Active routes / + /documentation', status: 'PASS' },
{ item: 'conveyor-clean.glb checksum', status: 'PASS' },
{ item: 'Author FCStd checksum', status: 'PASS' },
{ item: 'Frozen diverter angles / 0.50 s', status: 'PASS' },
{ item: 'Full contact physics', status: 'NOT_FULLY_VALIDATED' },
] as const;
export const OFFICIAL_SOURCE_MATRIX = [
{
source: 'input_info/doc-1783009063.pdf',
purpose: 'Allowed software list',
present: true,
canonical: true,
usage: 'Stack compliance reference',
},
{
source: 'input_info/doc-1783009942.pdf',
purpose: 'Workspace / zone scheme',
present: true,
canonical: true,
usage: 'Layout provenance (workspace 10×6 m)',
},
{
source: 'input_info/doc-1783011400.pdf',
purpose: 'Track 3 scoring criteria',
present: true,
canonical: true,
usage: 'Jury scoring — not re-parsed this pass',
},
{
source: 'input_info/doc-1782987706.zip',
purpose: 'Official STEP product set',
present: true,
canonical: true,
usage: 'Product geometry source archive',
},
{
source: 'input_info/doc-1782987733.zip',
purpose: 'Official STL product set',
present: true,
canonical: true,
usage: 'Feeds public/models/*.stl',
},
{
source: 'input_info/doc-1783011771.zip',
purpose: 'Official pack archive',
present: true,
canonical: true,
usage: 'Retained official material',
},
{
source: 'official_sources/doc-1783095831.pdf',
purpose: 'Classifier bounds authority cited by code',
present: true,
canonical: true,
usage: 'Referenced by classifier.ts; not re-parsed this pass',
},
{
source: 'input_info/extracted/Постановка_Задача_3_сжато_2.pdf',
purpose: 'Full task brief (historical citation)',
present: false,
canonical: false,
usage: 'MISSING — do not cite as available evidence',
},
] as const;
export const RUNTIME_FLOW = [
'SPAWN',
'CONVEYOR',
'CAMERA',
'CLASSIFICATION',
'ARMED',
'OPENING',
'HOLDING',
'CLOSING',
'RECEIVER',
] as const;
export const CURRENT_LIMITATIONS = [
'Full physical contact sorting through CAD diverters is not fully validated.',
'Belt surface-velocity drive at exactly 1 m/s is planned, not complete.',
'Per-SKU physical parameters still require profiling/calibration.',
'Author CAD horn / transmission incomplete in active GLB.',
'Official compliance is partial: missing extracted task PDF; scoring PDF not re-parsed this pass.',
'Repository retains only the web twin, author CAD, official sources, and active tests.',
] as const;
/** @deprecated alias — historical Gate wording retained for acquisition-pack note */
export const DATA_ACQUISITION_SEQUENCE = ['MEASURE', 'VERIFY', 'FREEZE', 'DESIGN'] as const;