Commit c3114f0
committed
Fix Mark and Level documentation in IAdaptiveObject
Corrected two misunderstandings in the core adaptive object interface:
Mark() method:
- OLD (incorrect): "Returns true if newly marked, false if already marked"
- NEW (correct): Return value controls change propagation
- Return TRUE to continue propagating to outputs (normal)
- Return FALSE to stop propagation (no outputs marked)
- Documented that Mark() is where callbacks are executed
- Explained common use cases:
- Constants return false (stop propagation)
- Callbacks execute here before returning true
- Custom logic can conditionally stop propagation
- Added note about execution context (locked, after AllInputsProcessed)
Level property:
- OLD (incorrect): "Used during evaluation to ensure topological order"
- NEW (correct): Determines ORDER of marking during change propagation
- Objects marked in increasing level order (0, 1, 2, ...)
- Ensures outputs marked after inputs (topological order)
- Does NOT influence evaluation order - only marking order
- Level 0 = input cells (cval, clist, cset, cmap)
- Higher levels = derived values/collections
Key insight: Level affects WHEN objects are marked in transactions,
not when they are evaluated. Evaluation is pull-based and lazy.
Thanks to user feedback for catching these misunderstandings!
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>1 parent 8f3725b commit c3114f0
1 file changed
+17
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
37 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
38 | 39 | | |
| 40 | + | |
39 | 41 | | |
40 | 42 | | |
41 | 43 | | |
42 | 44 | | |
43 | 45 | | |
44 | 46 | | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
49 | 60 | | |
50 | 61 | | |
51 | 62 | | |
| |||
0 commit comments