Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: TMailletFR/ProjectEngine

Tags

v1.2.7

Toggle v1.2.7's commit message
ProjectEngine v1.2.7 — Zero-Dependency Stability Hotfix

ProjectEngine v1.2.7 is a small stability hotfix for valid schedules containing no predecessors.

Fixed:
- Gantt dependency rendering could fail to initialize correctly when a schedule contained zero dependencies.
- Forced Planning Update and Full Update could fail when tbl_LOGIC_LINKS contained no data rows.

Both issues were reported through real-world testing following the v1.2.6 release.

No scheduling features or persistent workbook structures have been changed.

Special thanks to u/dork_souls for reporting both zero-dependency edge cases and for the unusually detailed debugging information.

v1.1.0

Toggle v1.1.0's commit message
ProjectEngine v1.1.0 – Live Simulation Analytics, Reset Workflow & Ga…

…ntt Reliability

# ProjectEngine v1.1.0 – Live Simulation Analytics, Reset Workflow & Gantt Reliability

## Overview

ProjectEngine v1.1.0 turns TEST and Drag & Drop into a much more complete planning workflow.

This release adds live schedule analytics to simulation, introduces a dedicated Reset / Réinitialiser action, improves Drag reliability across Gantt views, preserves user layout customizations, and strengthens the lifecycle of Gantt controls and constraint rendering.

The result is a more coherent and more professional experience:

- simulated dates and simulated analytics now come from the same planning snapshot;
- Critical Path, Longest Path and float update immediately during TEST and Drag & Drop;
- simulations can be abandoned cleanly with one Reset action;
- Detail / Summary transitions no longer break the Drag watcher;
- manual column resizing is preserved and no longer triggers false Drag events;
- constraint markers remain visible across fast paths, fallbacks and view changes;
- Gantt controls stay correctly positioned, styled and localized across all workflows.

No migration is required.

---

## ✨ Highlights

### Live Critical Path and Float in TEST mode

TEST mode now simulates the complete planning state, not only task dates.

The following values are recalculated from the simulated network:

- Total Float;
- Free Float;
- Critical Path;
- Longest Path;
- task dates and durations;
- progress;
- summary rollups.

If a delayed activity becomes the new critical driver, the Gantt updates immediately:

- the new critical activity is highlighted;
- the previous critical path returns to its normal style;
- successor dates move;
- float values change;
- the project finish can shift;
- the result remains visible before anything is committed to WBS.

No Full Update is required.

---

### Drag & Drop now shows the real planning consequences

Interactive Drag & Drop continues to use the common TEST transaction, but now includes live schedule analytics.

Moving an activity can immediately change:

- successor dates;
- project finish;
- Total and Free Float;
- Critical Path;
- Longest Path;
- Gantt path highlighting.

This means Drag & Drop is no longer only a visual date simulation. It now acts as a genuine decision-support workflow.

---

### New Reset / Réinitialiser button

The Gantt header now includes a dedicated:

> **Reset | Scenario | Test | Lock**

Reset returns the workbook to the last calculated normal schedule.

It clears the active simulation state, restores the normal Gantt projection and reconciles the Drag watcher without running the planning engine again.

Reset works after:

- TEST;
- Drag & Drop;
- SCENARIO;
- Day, Week or Month views;
- Critical Path or Longest Path display;
- Detail or Summary view.

Reset is idempotent:

- no simulation active → no redraw and no unnecessary mutation;
- yellow TEST inputs only → inputs cleared without rebuilding the Gantt;
- active TEST or SCENARIO → exactly one display refresh;
- WBS and CALC remain unchanged.

The button is localized:

- English: **Reset**
- French: **Réinitialiser**

---

### Safer and clearer simulation messages

Successful Drag messages now use Reset / Réinitialiser as the official way to abandon a complete simulation.

TEST and SCENARIO now provide mode-specific guidance:

- TEST explains how to remove one yellow-cell assumption and run TEST again;
- SCENARIO explains how to remove one assumption and run Scenario again;
- SCENARIO no longer incorrectly tells users to relaunch TEST.

This makes the difference between:

- abandoning the whole simulation;
- removing only one assumption;

much clearer.

---

### Reliable Drag after Detail / Summary changes

The first Drag after switching between Detail and Summary is now detected immediately.

Previously, the Drag watcher could remain active with a watch map that still represented the previous view. This could cause the first Drag after returning to Detail to be ignored until another workflow rebuilt the watcher.

The view toggle now follows a complete lifecycle:

1. pause the Drag watcher;
2. apply the final Detail or Summary geometry;
3. ensure the Gantt controls are canonical;
4. reconcile the watcher against the visible eligible shapes;
5. restore normal execution.

No Full Update and no Gantt redraw are required.

---

### Manual Gantt column widths are now preserved

Columns A:J can now be resized as a legitimate user customization.

ProjectEngine no longer interprets this layout change as a Drag & Drop action.

After resizing the left panel:

- no TEST transaction is triggered;
- no yellow TEST cells are written;
- no planning message is generated;
- WBS and CALC remain unchanged;
- the Drag watcher rebuilds its geometry baseline;
- the customized widths are preserved.

Day / Week / Month changes now update the timeline without resetting the chosen A:J widths.

---

### Constraint markers remain consistent

Constraint visualization now remains complete across:

- TEST fast path;
- TEST fallback;
- explicit redraw;
- Detail / Summary;
- Critical Path / Longest Path / None;
- Day / Week / Month;
- manual column resizing.

Both parts of the constraint display remain aligned:

- `CSTR_*` marker shapes;
- red semantic cell borders.

The grid lifecycle no longer removes the constraint overlay.

---

### Canonical Gantt controls across all workflows

The Gantt header now has one differential lifecycle for:

- Reset;
- Scenario;
- Test;
- Lock;
- Detail / Summary;
- Day / Week / Month;
- Constraints;
- Critical Path / Longest Path / None;
- Single / Multiple Project.

Correct shapes are preserved rather than deleted and recreated.

This provides:

- stable shape IDs;
- correct geometry;
- consistent callbacks;
- correct FR / EN labels;
- no unnecessary flicker;
- reliable controls after workbook opening and sheet activation.

---

## Safe in-memory simulation architecture

TEST analytics are calculated entirely in memory.

During simulation:

- WBS remains unchanged;
- CALC remains unchanged;
- no planning result is persisted;
- no Full Update is triggered;
- no second analytics engine is introduced.

The same scheduling and analytics algorithms used by the normal planning workflow are reused against the simulated dataset.

The runtime TEST snapshot contains, by task ID:

- Start;
- Finish;
- Duration;
- Progress;
- Total Float;
- Free Float;
- Critical Path;
- Longest Path;
- summary and error state.

The renderer now reads both dates and analytics from the same active projection.

| Mode | Dates and progress | Float and path analytics |
| --- | --- | --- |
| Normal | WBS / CALC | WBS / CALC |
| TEST | TEST runtime snapshot | same TEST runtime snapshot |
| SCENARIO | existing SCENARIO projection | existing SCENARIO behaviour |

Fast path and fallback rendering therefore remain semantically identical.

---

## ⚡ Performance

On the reference workbook, the new TEST analytics added approximately:

- **54–91 ms** for the analytical calculation;
- approximately **1 ms** to build the runtime snapshot.

No `Run_Planning_Update`, `Run_Full_Update` or persistent analytics workflow is called during TEST.

The following optimizations remain active:

- Predictive Registry;
- ApplyDiff fast path;
- lazy geometry repair;
- registry reuse;
- display-only refresh;
- no-op Reset when nothing needs to change.

---

## 🛡️ Validation

Permanent regression harnesses now cover:

### TEST and Drag analytics

- Critical Path changes;
- Longest Path changes;
- Total Float and Free Float changes;
- real Drag through the watcher and timer;
- Day predictive rendering;
- Week fallback rendering;
- explicit redraw;
- Critical Path / Longest Path / None;
- convergence after LOCK;
- stability after a subsequent Full Update.

### Reset

- no-op Reset;
- yellow TEST inputs without active simulation;
- TEST in Day, Week and Month;
- SCENARIO;
- Drag & Drop TEST;
- localization EN / FR;
- exact restoration of the normal Gantt;
- WBS and CALC invariance;
- watcher pause and reconciliation;
- absence of Core, Planning Update and Full Update.

### Column resize and constraints

- manual resize of A, C, G, H and J;
- zero false Drag transactions;
- preservation of user widths;
- TEST with and without visual delta;
- None / Critical Path / Longest Path;
- Day / Week / Month;
- simultaneous preservation of constraint shapes and red borders.

### Detail / Summary Drag lifecycle

- Detail → Summary;
- Summary → Detail;
- Summary Drag → Detail;
- first Drag after each transition;
- exact watcher membership;
- exactly one simulation transaction per real Drag;
- FR / EN TEST and SCENARIO message contracts.

### Gantt controls

- workbook opening on GANTT;
- activation from another sheet;
- Full Update;
- TEST fast path and fallback;
- SCENARIO;
- LOCK;
- all Gantt toggles;
- stable IDs and no-op second ensure.

All final VBA imports, compilation checks and regression harnesses passed.

---

## Compatibility

- Existing workbooks remain compatible.
- No migration is required.
- No WBS or CALC schema change is required.
- No public callback or `OnAction` contract was broken.
- Normal scheduling and analytics behaviour remain unchanged.
- SCENARIO and LOCK workflows remain compatible.
- The released workbook remains fully Excel-native and powered by VBA.

---

## Why this release matters

A planning simulation should not only move bars.

It should answer the questions that matter before a change is committed:

- Which path becomes critical?
- Which activity gains or loses float?
- Does the project finish move?
- Which task becomes the new schedule driver?
- Can the user safely abandon the simulation?
- Will the first Drag still work after changing views?
- Will the Gantt keep the user's chosen layout?
- Will constraints remain visible and trustworthy?

ProjectEngine v1.1.0 now answers those questions through one coherent simulation and Gantt workflow.

---

## Thank you

This release grew from testing ProjectEngine as a real user would use it.

A communication demo uncovered a missing analytical simulation capability. That led to a broader round of workflow validation covering Reset, Drag lifecycle, column resizing, constraints, messages and Gantt controls.

The result is not only a corrected TEST mode.

It is a more complete and more reliable planning experience.

v1.0.1

Toggle v1.0.1's commit message
v1.0.1 – First User Experience Update

🚀 Overview

This release focuses on improving the experience of first-time users after the first public feedback received following the v1.0.0 release.

The scheduling engine itself remains unchanged. Instead, this update makes ProjectEngine significantly easier to discover, understand and use from the very first opening of the workbook.

✨ Highlights
📖 Improved WBS onboarding

A completely redesigned onboarding experience has been added to the WBS sheet:

Required / Optional / Calculated indicators
Built-in Quick Start guide
Improved contextual help for every input column
Clearer distinction between user inputs and calculated fields
🌍 Complete WBS localization

The entire WBS onboarding now follows the selected language:

Quick Start
Column help
Required / Optional / Calculated indicators

Everything automatically switches between French and English through the existing language settings.

🎯 Better terminology

The optional Package field has been renamed to Project, making the template more generic and easier to understand outside engineering and construction environments.

Backward compatibility with existing workbooks is fully preserved.

⚡ Faster startup experience

The WBS localization lifecycle has been redesigned.

Opening an already up-to-date workbook no longer rebuilds comments or onboarding content, eliminating unnecessary UI refreshes while preserving automatic repair capabilities when needed.

🛡️ Stronger validation

Additional regression harnesses now verify:

onboarding structure
localization
backward compatibility
legacy migration
differential updates
startup lifecycle
🔄 Compatibility
Existing workbooks remain fully compatible.
Legacy Package/Lot projects are migrated automatically.
No planning logic or scheduling algorithms were modified.
❤️ Thank you

This release was directly inspired by the very first community feedback received after publishing ProjectEngine.

Thank you to everyone who downloaded the project, tested it and shared suggestions. Your feedback is already helping shape the future of ProjectEngine.

v1.0.0

Toggle v1.0.0's commit message
ProjectEngine v1.0.0 – Stable Planning Engine, Simulation Workflows &…

… Documented Architecture

# ProjectEngine v1.0.0

ProjectEngine reaches its first stable release.

This milestone consolidates the scheduling engine, simulation workflows, diagnostics, Gantt rendering, reporting tools, and workbook safety mechanisms into a documented and maintainable architecture.

The workbook remains fully Excel-native and powered entirely by VBA.

## Highlights

### Stable Planning Engine

- Single-source dependency-driven scheduling engine.
- FS / SS / FF relationships with positive and negative lag.
- Multi-predecessor scheduling.
- 5-day and 6-day working calendars.
- Baseline, Actual, Forecast, and Calculated planning.
- Level of Effort and Milestone support.
- Parent and summary rollups.
- Cycle, missing-predecessor, constraint, and blocking-error detection.
- Signature-based incremental recalculation.
- Forced full recalculation when required.

### Complete Simulation Workflows

- TEST mode for focused, non-destructive planning changes.
- SCENARIO mode for complete schedule alternatives.
- LOCK workflow for applying validated simulation results back to WBS.
- Interactive Gantt Drag and Resize simulation.
- Day / Week / Month snapping.
- Predictive rendering of simulated changes.
- Transactional execution with controlled rollback and finalization.
- TEST, SCENARIO, and LOCK all reuse the existing Core calculation engine.

### Gantt Rendering and Interaction

- Day, Week, and Month timeline scales.
- Task, Summary, Milestone, LOE, Dependency, Constraint, and Today Line rendering.
- Critical Path and Longest Path overlays.
- Progress and deadline visualization.
- Predictive Shape Registry.
- Fast-path rendering with deterministic fallback.
- Lazy geometry repair.
- Stable public callbacks and unchanged Shape actions.

### Planning Analytics

- Critical Path analysis.
- Longest Path analysis.
- Total Float and Free Float.
- Deadline Float and deadline monitoring.
- Baseline and forecast variance analysis.
- Driving Logic tracking.
- Parent-date and Task Type warnings.
- Schedule delay and momentum analysis.
- Multi-project criticality mode.

### Dashboard and S-Curve

- Executive project summary.
- Forecast finish and project delay indicators.
- Critical activities and schedule momentum.
- Hot Spots analysis.
- Upcoming milestones and critical activities.
- Planning overview.
- Baseline, Actual, Forecast, and Calculated S-Curves.
- Daily workload distribution.
- Dashboard snapshots and comparisons.

### Diagnostics and Traceability

- Structured INFO / WARNING / STOP diagnostics.
- Bilingual planning messages.
- Planning Console with message navigation.
- Event History and Alarm History.
- Stable event signatures.
- Warning acknowledgement workflow.
- Grouped dependency, constraint, cascade, and upstream diagnostics.
- Noninteractive console policy for automated validation.

### Workbook Safety

- Tokenized, caller-owned WBS write scopes.
- Protected calculated columns.
- Safe Empty State for Gantt and S-Curve.
- Planning Reset and Full Reset workflows.
- Owner-controlled data reset contracts.
- Controlled full and partial output writers.
- Isolated validation on temporary workbook copies.
- No global termination of user Excel instances.

## Architecture Stabilization

The VBA codebase has been reorganized around explicit domains and ownership boundaries:

- Runtime Workflow and MacroGuard
- WBS / DataSync / CALC
- Core Calculation
- Core Bridge and Output Writers
- Analytics and Diagnostic Producers
- Gantt Rendering and Interaction
- TEST / SCENARIO / LOCK services
- Dashboard and S-Curve
- MessageEngine, EventHistory, and ACK
- Canonical Identity and Parsed Planning Network contracts

The scheduling engine remains the single source of truth.

Rendering, simulation, diagnostics, and reporting consume Core outputs without implementing competing calculation logic.

## Canonical Contracts

This release introduces and stabilizes shared structural contracts for:

- Canonical Identity Index
- Parsed Planning Network
- Incremental Calculation Signature
- Dashboard Read Context
- Owner-controlled stores and reset APIs

Only genuinely identical representations were centralized. Business policies that intentionally differ remain separate.

## Regression Protection

Permanent validation tools now cover:

- Gantt visual signatures
- Predictive Registry fast path and fallback
- TEST Day predictive rendering
- Week / Month fallback
- SCENARIO execution
- LOCK success path on isolated copies
- RuntimeWorkflow and MacroGuard
- RunButtons noninteractive execution
- MessageEngine and EventHistory
- Diagnostic producers
- WBS Write Guard lifecycle
- Incremental signature compatibility

These harnesses are now the reference safeguards for future refactoring.

## Developer Documentation

The project now includes dedicated French and English documentation:

- Architecture Reading Guide
- Maintenance Guide
- Project Glossary
- Module and procedure documentation

All VBA modules and procedures include concise FR/EN documentation describing their responsibility and contract.

- 108 documented VBA components
- 1,478 documented procedures and properties
- 521 documented Public APIs
- All external callbacks explicitly identified

## Compatibility

- Existing planning workflows remain compatible.
- No project migration is required.
- Public workbook callbacks and OnAction contracts remain stable.
- No calculation rule was changed as part of the architecture and documentation work.

## What v1.0.0 Means

Version 1.0.0 marks the transition from an evolving Beta architecture to a stable product baseline.

ProjectEngine will continue to evolve, but future work can now build on:

- stable user workflows;
- explicit component boundaries;
- protected public contracts;
- deterministic regression harnesses;
- complete developer documentation.

## Documentation

- [Documentation française](Docs/fr/README.md)
- [English documentation](Docs/en/README.md)

v0.1.6

Toggle v0.1.6's commit message
v0.1.6 – Drag & Drop Simulation & Planning Diagnostics

✨ Highlights
Interactive Drag & Drop Simulation
Transactional Drag & Drop workflow.
Automatic snapping in Day / Week / Month views.
Automatic translation to TEST inputs.
TEST / SCENARIO dispatcher.
Predictive registry integration.
Automatic rollback on planning failure.
User-oriented Drag information panel.
Improved planning diagnostics
Structured dependency conflict diagnostics.
Blocking predecessor identification.
Richer planning conflict explanations.
Multiple blocking errors consolidated into a single console page.
UX improvements
Fixed Gantt button flicker during TEST.
Fixed implicit TEST mode handling.
Improved multi-mode Drag behaviour.
Better console readability.
Internal improvements
Transactional Scenario API.
Message engine improvements.
Dispatcher architecture for simulation modes.
Additional R&D and diagnostic infrastructure.
Included work
25 – Drag/Test stabilization
25.1 Audit lifecycle watcher
25.2 Watcher stabilization
25.3 TEST workflow audit
25.4 Predictive registry audit
25.5 Predictive registry implementation
25.6 Registry convergence
25.7 TEST consistency after Full Update
26 – Drag/Test information panel
Information panel
Gantt button flicker fix
27 – Multi-mode Drag/Resize
TEST / SCENARIO dispatcher
Week support
Month support
Default TEST mode
28 – Planning diagnostics
Dependency conflict audit
Drag diagnostic audit
Structured planning conflict messages
Constraint & cascade audit
Root cause diagnostic groundwork
Cascade execution audit
Consolidated blocking error console

v0.1.5

Toggle v0.1.5's commit message
v0.1.5 – Performance & Architecture Update

🚀 Highlights

This release focuses on a major internal optimization of the planning engine.

No workflow has been simplified and no feature has been removed. The goal was to keep identical behavior while significantly reducing execution time and improving overall responsiveness.

Performance improvements
Large Gantt rendering optimizations
Faster Day / Week / Month timeline generation
Reduced Full Update flickering
Optimized dependency rendering
Faster Analytics write-back
Optimized Gantt left panel generation
Startup time reduced dramatically through lightweight runtime hydration
Multiple COM write batching optimizations
Internal profiler-driven performance improvements across the planning engine
Gantt
Faster refreshes
Faster timeline scale switching (Day / Week / Month)
Reduced redraw cost
Lazy geometry repair after Full Update to eliminate unnecessary redraws while preserving alignment
Optimized internal anchor caching for dependency routing
Engine
Optimized WBS → CALC synchronization
Faster Analytics propagation back to WBS
Reduced rebuilds of internal logic structures
Improved formula restoration
Multiple memory batching optimizations
Startup
Startup architecture simplified
Removed unnecessary visual rebuilds during workbook opening
Runtime state is now restored directly from persisted settings
Startup VBA overhead reduced by more than 90%
Internal
Multiple profiler-driven refactorings
Additional profiling infrastructure
Internal cleanup and architecture improvements
No functional changes to planning calculations
Compatibility
Existing projects remain fully compatible.
No migration required.
Performance

Typical improvements observed during profiling:

dramatically faster startup
significantly faster Full Update
much faster Gantt refresh
much smoother Day / Week / Month switching
lower rendering overhead across large projects

v0.1.4

Toggle v0.1.4's commit message
v0.1.4-beta – Drag & Drop, Settings, Localization & Performance

🖱️ Drag & Drop Simulation (Beta)

First functional implementation of direct planning simulation from the Gantt view.

Features
Task drag & drop
Task resize support
Calendar grid snapping
Automatic Test Start / Test Finish generation
Transactional TEST workflow integration
Automatic Gantt refresh after simulation
Constraint display fixes

This feature remains in Beta and is still under active development.

⚙️ New SETTINGS Sheet

New centralized SETTINGS page allowing:

Global FR / EN language selection
Per-module language overrides for advanced users
Event History visibility controls
Centralized reset actions
Dangerous action management (Armageddon, resets, etc.)

Additional fixes and cleanup completed during final integration.

🌍 Localization Improvements

Large-scale FR / EN localization update:

Gantt view
S-Curve
WBS buttons and events
Constraints
Acknowledgements
Event History
Dashboard titles and controls
SETTINGS sheet

Multiple language switching and translation consistency issues corrected.

📈 Performance Optimization Campaign – Phase 1

Following a deep profiling audit, several high-impact optimizations were implemented.

Completed
Gantt Shape Indexing
Direct Timeline Date → Column Mapping
Smart RestoreWBSFormulaColumns
Smart LOGIC_LINKS Rebuild Detection
Benefits
Faster Full Update execution
Faster Day / Week / Month switching
Elimination of unnecessary rebuilds
Reduced Excel object manipulation
Improved responsiveness on large schedules
🛠 Stability & Reliability
Fixed Gantt language-switch event issue
Fixed duplicate message console issue
Improved SETTINGS integration
Additional FR / EN consistency fixes
Multiple UX and reliability improvements
Known Limitations
Tutorial / onboarding system not yet implemented
Advanced custom calendars remain on hold
Dynamic Path Tracing remains on hold pending Drag & Drop UX evaluation

This Beta release is intended for validation on real project schedules before wider deployment.