@@ -10116,7 +10116,8 @@ def register_function(self, name, func, overwrite=False):
1011610116 self ._registered_functions [name ] = func
1011710117
1011810118 def register_polynomial_from_subframe (self , func_name , poly_spec ,
10119- coefficients_subframe , coeff_select ):
10119+ coefficients_subframe , coeff_select ,
10120+ overwrite = False ):
1012010121 """
1012110122 Register a polynomial function that reads coefficients from a subframe.
1012210123 Coefficients are accessed via join indices — no column materialization.
@@ -10133,6 +10134,8 @@ def register_polynomial_from_subframe(self, func_name, poly_spec,
1013310134 Coefficient columns, ordered to match poly_spec terms.
1013410135 - list: explicit column names (safest)
1013510136 - str: regexp pattern to match against subframe columns
10137+ overwrite : bool, default False
10138+ If True, allow replacing an existing registered function.
1013610139
1013710140 Example
1013810141 -------
@@ -10161,7 +10164,7 @@ def register_polynomial_from_subframe(self, func_name, poly_spec,
1016110164
1016210165 # Generate Numba evaluator
1016310166 evaluator = poly_spec .numba_evaluator (self , coefficients_subframe , coeff_cols )
10164- self .register_function (func_name , evaluator )
10167+ self .register_function (func_name , evaluator , overwrite = overwrite )
1016510168
1016610169 # Store in schema for reconstruction
1016710170 if not self ._schema .get ('registered_functions' ):
@@ -10829,6 +10832,8 @@ def _draw_single_figure(
1082910832 except Exception as e :
1083010833 if on_error == 'raise' :
1083110834 raise
10835+ if verbose :
10836+ print (f" [ERROR] plot { idx } '{ expr } ': { e } " )
1083210837 # Show error on plot
1083310838 ax .text (0.5 , 0.5 , f'Error:\n { e } ' ,
1083410839 ha = 'center' , va = 'center' ,
0 commit comments