Tags: TMailletFR/ProjectEngine
Tags
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.
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 – 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.
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 – 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 – 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-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.
PreviousNext