You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
YASLOGIST AIR is a static, client-only React cockpit for air-freight simulation. It computes chargeable weight, corridor carbon, indicative cost, ULD fit, AWB Mod-7 validity, cargo-village handoff, and demo consignment state from local constants only.
boundary: no airline feed · no IATA booking feed · no Nafeza/customs feed · no backend database · no live AWB status.
Horizontal rotation only; 90% broken-stowage reserve; active-cooling match required.
src/lib/corridors.ts
FRA/DXB/AMS/PVG ⇄ CAI lane constants and sea benchmarks.
One shared data source for simulator and corridor browser.
src/components/ConsignmentTracker.tsx
Bundled demo consignment lookup.
Unknown query returns not found; never synthesizes operational status.
src/three/airgl/
WebGL2 ULD digital twin and corridor globe.
Dedicated vendor-three chunk loads when a 3D canvas approaches within 200px of the viewport (eager fallback without IntersectionObserver); explicit resource disposal and no render-loop allocations.
Reuses repo geodesy, landmask, airport anchors and monogram geometry; periodic functions only, so the loop is seamless.
04 / SYSTEM BLUEPRINT
flowchart TB
classDef cyan fill:#001F27,stroke:#00E5FF,color:#E6F7FA,stroke-width:2px;
classDef dark fill:#0D1117,stroke:#334155,color:#E6EDF3;
classDef warn fill:#25130B,stroke:#F59E0B,color:#FFEBC2;
classDef fail fill:#2A0B12,stroke:#FF476F,color:#FFE3EA;
A([VISITOR_INPUT]):::cyan --> B{finite + > 0?}:::dark
B -- no --> X[RangeError: reject before UI mutation]:::fail
B -- yes --> C[INPUT_NORMALIZED]:::cyan
C --> D[CORRIDOR_SELECTED\nFRA/DXB/AMS/PVG ⇄ CAI]:::dark
C --> E[PIECE_MODEL_BUILT\nL×W×H × pieces]:::dark
C --> F[COOL_CHAIN_FLAGGED]:::dark
E --> G[WEIGHT_ENGINE\nCBM · volumetric kg · gross kg · chargeable kg]:::cyan
D --> H[CARBON_ENGINE\nfreighter tonne-km vs sea-lane benchmark]:::cyan
D --> I[COST_ENGINE\nbase + fuel + security + CAI THC + Nafeza precheck]:::cyan
E --> J[ULD_FIT_ENGINE\ninternal envelope · payload · 90% broken-stowage reserve]:::cyan
F --> J
G --> K[SIMULATION_MANIFEST]:::dark
H --> K
I --> K
J --> K
L[AWB_QUERY]:::cyan --> M{11 digits after strip?}:::dark
M -- no --> N[STRUCTURAL_INVALID]:::fail
M -- yes --> O{serial % 7 == check digit?}:::dark
O -- no --> P[SUGGEST_CORRECT_DIGIT]:::warn
O -- yes --> Q[CARRIER_PREFIX_RESOLVED]:::cyan
R[TRACKER_QUERY]:::cyan --> S{bundled sample match?}:::dark
S -- yes --> T[DEMO_MILESTONE_TIMELINE]:::cyan
S -- no --> U[NOT_FOUND_FAIL_CLOSED]:::fail
K --> V[LOCAL_EXPORT\ncopy / print / download .txt]:::dark
Q --> V
T --> V
sequenceDiagram
actor U as User
participant UI as Cargo simulator
participant M as air-math
U->>UI: change dimensions / weight / corridor
UI->>M: validated numeric input
M-->>UI: volume, chargeable weight, CO2e, block time, cost
U->>UI: export manifest
UI-->>U: copy / print / .txt (local only)
Loading
Stage
Behavior
Guarantee
boot
theme-init.js pre-paints theme + direction before React mounts.
No flash of wrong theme/direction in either locale.
validate
Numeric inputs checked finite > 0 before any UI mutation.
Synchronous RangeError, never NaN propagation.
compute
Pure functions: IATA 1:6000 volumetrics, GLEC CO2e, indicative cost, ULD fit.
Deterministic, unit-tested, zero network.
render
AIRGL WebGL2 twin + corridor globe in an isolated vendor-three chunk, imported as either 3D canvas approaches within 200px of view (eager fallback without IntersectionObserver).
Manifest leaves the app only via clipboard / print / local .txt download.
No upload path exists.
06 / IGNITION
Local execution
npm ci
npm run dev -- --host 0.0.0.0
npm run check
npm run audit
CI contract
Gate
Command
Required State
Type safety
npm run typecheck
0 TypeScript errors.
Regression suite
npm test
All Vitest, Testing Library, a11y, CSP, theme, scene-loop tests pass.
Build
npm run build
Vite production bundle emits successfully.
Bundle budget
npm run check:bundle
Per-file and app-total JS/CSS ceilings respected; exactly one vendor-three chunk.
Supply chain
npm audit --omit=dev --audit-level=high
0 high/critical production vulnerabilities.
07 / DEEP SYSTEM ACCESS
Kinetic layer — how this page moves
hero
Procedural 8-second seamless loop: dot-shell planet (Fibonacci lattice + repo landmask), great-circle corridor arcs with the repo's apex profile, traveling pulses, hub rings, orbital traveler, solar terminator. Rendered by assets/readme/src/render_hero.py; every animation term is periodic, so the loop closes exactly.
statement
assets/readme/statement-typing.svg — SMIL terminal typing loop in the same Electric Cyan system.
dividers
assets/readme/divider-pulse.svg — traveling light pulse separators between sections.
factory
.github/workflows/kinetic-readme.yml runs every 12 hours, calls Platane/snk/svg-only@v3, writes assets/github-snake*.svg, writes Shields endpoint JSON, and commits the generated assets.
No required variables. Optional suite URLs are documented in .env.example.
deploy
Static Vite build. vercel.json ships CSP/security/cache headers.
assets
README motion assets in assets/ are generated by GitHub Actions; hero + SMIL kinetics live in assets/readme/; app assets remain in public/assets/.
README_SNAKE_USER
Optional repository variable overriding the contribution-grid username; defaults to repository owner.
Data + license boundary
YASLOGIST AIR is a decision-support simulation. It does not connect to airlines, airports, customs systems, IATA operational systems, Nafeza, shipment IoT, or third-party freight pricing APIs. Local demo data may look operational; it is versioned source code and must remain labelled as demonstration output.
Code follows the repository license policy. Project-supplied imagery in public/assets/ should be treated as project-owned/maintainer-provided unless separate license metadata is added. README kinetic assets are generated artifacts; no photographed or human-recorded motion is required.
08 / ENGINEERING STATUS
Surface
Status
Evidence
Volumetric / carbon / cost engines
✅ implemented, tested
src/lib/air-math.ts + Vitest suite
ULD fit engine + WebGL2 twin
✅ implemented, tested
src/lib/uld-fleet.ts, src/three/airgl/uld/*
Corridor globe + terminator
✅ implemented, tested
src/three/airgl/globe/* with embedded landmask
AWB Mod-7 validator
✅ implemented, tested
validateIataAwb + correction suggestion
Bilingual EN/AR + RTL
✅ implemented
src/lib/i18n.tsx, pre-paint direction
Live carrier / customs / Nafeza feeds
⛔ out of scope by design
simulation boundary, enforced fail-closed
Live AWB tracking
⛔ out of scope by design
bundled demo consignments only
09 / YASLOGIST
YASLOGIST is the permanent creative-engineering signature behind this repository —
the parent identity of the multimodal logistics intelligence suite
(air · land · sea). Each project keeps its own operational identity;
the YASLOGIST DNA — architectural precision, luminous restraint,
verified claims — carries through every surface.