Word Unperfect
public
Read
Owner: themaster
Branch: main
Commits: 0
Git CLI clone URL
git clone https://www.xt-emporium.com/git/word-unperfect.git
Fullscreen desktop URL
Code
Commits
History
Branches
Bug Reports
Discussions
Compare
Settings
word-unperfect
/
rev
/
wp_format_executor.h
File editor
#ifndef WP_FORMAT_EXECUTOR_H #define WP_FORMAT_EXECUTOR_H #include "wp_file_format.h" #include "wp_layout_shared.h" #include "wp_layout_metrics.h" #include <stdbool.h> #include <stddef.h> #include <stdint.h> typedef struct WpFormatExecutorOptions { bool apply_layout_state; /* Apply decoded D4 layout-state records to the host layout copy. */ bool follow_nested_streams; /* Analyze D5/D6/D9 nested payload streams. */ uint8_t tab_width; /* Host-side column advance for tab/indent controls. */ uint16_t wrap_column; /* Optional soft wrap column; zero disables host wrapping. */ } WpFormatExecutorOptions; typedef struct WpFormatExecutorStats { size_t records_seen; size_t bytes_consumed; size_t char_records; size_t single_byte_codes; size_t fixed_length_codes; size_t variable_length_codes; size_t incomplete_records; size_t mismatched_trailers; size_t hard_returns; size_t soft_returns; size_t hard_pages; size_t soft_pages; size_t tabs; size_t indents; size_t normalized_spaces; size_t normalized_hyphens; size_t dormant_controls; size_t whitespace_gate_controls; size_t render_dirty_gate_controls; size_t dirty_neutral_controls; size_t extension_scan_stop_controls; size_t soft_wraps; size_t lines_seen; size_t pages_seen; uint16_t current_column; uint16_t max_column; size_t fixed_c0_extended_chars; size_t fixed_format_packets; size_t variable_packets; size_t d0_initial_format_tables; size_t d0_format_table_words; size_t d0_format_table_groups; size_t d0_format_table_sentinels; size_t d0_format_table_nonmonotonic_steps; uint16_t d0_format_table_first_step; uint16_t d0_format_table_max_value; size_t d4_layout_state_records; size_t d4_layout_state_applied; size_t d4_layout_state_apply_failures; size_t d4_variant_snapshot_records; size_t d4_extension_block_records; size_t d4_extension_blocks; size_t d4_extension_bytes; size_t d4_pending_span_records; size_t d4_pending_span_applied; size_t d4_pending_span_payload_bytes; size_t d4_pending_span_max_total; size_t d4_line_window_records; size_t d4_line_window_applied; size_t d4_line_window_payload_bytes; size_t d4_line_window_extension_records; size_t d4_line_window_extension_bytes; size_t d4_line_metric_records; size_t d4_line_metric_applied; size_t d4_line_metric_payload_bytes; size_t d4_line_metric_extension_records; size_t d4_line_metric_extension_bytes; size_t d4_line_metric_max_extent; size_t d4_extension_fragment_records; size_t d4_extension_fragment_applied; size_t d4_extension_fragment_bytes; size_t d4_extension_fragment_block_records; size_t d4_extension_fragment_block_bytes; size_t d4_line_build_checkpoint_records; size_t d4_line_build_checkpoint_applied; size_t d4_line_build_checkpoint_max_word; size_t layout_measure_calls; size_t layout_measure_heap_windows; size_t layout_measure_clamped; size_t layout_reconcile_calls; size_t layout_reconcile_span_changes; size_t layout_reconcile_cursor_changes; size_t layout_variant_adjustments; size_t layout_variant_dirty_sets; size_t layout_variant_total_resets; size_t layout_variant_balance_adds; size_t layout_variant_balance_subtracts; size_t layout_variant_balance_clamps; size_t layout_variant_heap_borrows; size_t layout_variant_limit_updates; size_t layout_variant_limit_overflows; size_t layout_variant_far_refreshes; size_t layout_variant_secondary_probes; size_t layout_measured_span_resets; size_t layout_measured_span_a_raises; size_t layout_measured_span_b_raises; size_t layout_measured_span_dirty_marks; size_t layout_heap_branch_runs; size_t layout_heap_branch_measure_runs; size_t layout_span_flushes; size_t layout_span_flush_variant_traps; size_t layout_stream_delta_underflows; size_t layout_emit_gate_resets; size_t layout_status_dirty_pulses; size_t layout_irq_dirty_pulses; size_t layout_irq_timer_decrements; size_t layout_irq_display_updates; size_t layout_display_refreshes; size_t layout_carry_updates; size_t layout_carry_saturations; size_t layout_cursor_metric_folds; size_t layout_cursor_advances; size_t layout_postprocess_cleanups; size_t layout_parse_dirty_updates; size_t layout_parse_dirty_busy_skips; size_t layout_parse_carry_adjusts; size_t layout_parse_threshold_hits; size_t layout_parse_variant_decode_hints; size_t layout_parse_status_dirty_checks; size_t layout_parse_variant_resets; size_t layout_emit_measure_passes; size_t layout_emit_measure_inside_windows; size_t layout_emit_measure_limit_reached; size_t layout_emit_measure_scratch_bytes; size_t layout_status_line_refreshes; size_t layout_status_line_buffer_writes; size_t layout_format_gate_inits; size_t layout_format_gate_slot_zeroes; size_t layout_format_gate_reuses; size_t layout_format_gate_aux_clears; size_t layout_format_gate_word_pair_inits; size_t layout_format_gate_glyph_checks; size_t layout_format_gate_glyph_load_setups; size_t layout_format_gate_video_patches; size_t layout_format_gate_overlay_polls; size_t layout_format_gate_refcount_increments; size_t layout_format_gate_counter_resets; size_t layout_format_gate_failfast_hints; size_t layout_format_gate_high_scratch_gates; size_t layout_format_gate_run_count_increments; size_t layout_format_gate_word_pair_flag_sets; size_t layout_format_gate_display_routes; size_t layout_format_gate_f8_sets; size_t layout_format_gate_repeat_batches; size_t layout_format_gate_repeat_iterations; size_t layout_format_gate_repeat_simulated; uint16_t layout_last_status_scaled_width; uint16_t layout_last_display_metric_44e4; uint16_t layout_last_emit_candidate; uint16_t layout_last_refresh_index; uint16_t layout_max_measure_extent; uint16_t layout_max_measure_bound; uint16_t layout_final_record_pos_low; uint16_t layout_final_record_pos_high; uint16_t layout_final_secondary_pos_low; uint16_t layout_final_secondary_pos_high; uint16_t layout_final_span_metric_low; uint16_t layout_final_span_metric_high; uint16_t layout_final_stream_delta_low; uint16_t layout_final_stream_delta_high; uint16_t layout_final_line_start_align; size_t repeat_dispatch_packets; size_t repeat_dispatch_iterations; size_t extension_scan_packets; size_t scanner_bypass_packets; size_t refcount_increment_packets; size_t refcount_decrement_packets; size_t nested_stream_hints; size_t nested_streams_analyzed; size_t nested_stream_records; size_t nested_stream_bytes; size_t nested_stream_fixed_codes; size_t nested_stream_variable_codes; size_t nested_stream_char_records; size_t nested_stream_d4_layout_states; size_t nested_stream_post_compare_packets; size_t nested_stream_repeat_total; size_t nested_stream_max_depth; bool nested_stream_recursion_limit_hit; bool nested_stream_parse_gap; bool nested_stream_allocation_failed; uint8_t final_parser_runtime_flags; uint8_t final_parse_dirty_flags; uint8_t final_state_flags; uint8_t final_runtime_flags; uint8_t final_gate_char; int final_layout_refcount; int final_carry_width; uint16_t final_wrap_value; uint16_t final_pending_offset; uint16_t final_line_start; uint16_t final_line_extent; uint16_t final_line_build_word_51f1; uint16_t final_line_build_word_51f3; uint16_t final_line_build_word_51f5; uint16_t final_line_build_word_51f7; uint16_t final_measure_extent; uint16_t final_measure_bound; uint16_t final_span_compare_word_51fb; uint16_t final_span_compare_word_51ff; int final_record_aux_4b34; uint16_t final_cursor_alias_shadow_4b3e; uint16_t final_measured_span_a; uint16_t final_measured_span_b; int final_variant_balance; int final_variant_total; int final_heap_delta; uint16_t final_variant_limit; uint8_t final_status_dirty_flags; uint8_t final_status_extend; uint8_t final_render_dirty_flags; uint8_t final_status_scratch; uint8_t final_irq_timer; uint8_t final_irq_state; uint8_t final_fmt_gate; uint8_t final_format_slot_selector; uint8_t final_format_slot_lead; uint16_t final_format_slot_run_count; int8_t final_format_slot_age; uint8_t final_format_slot_flags; uint8_t final_format_slot_payload_tag; int final_display_metric_44de; int final_display_metric_44e4; } WpFormatExecutorStats; void wp_format_executor_default_options(WpFormatExecutorOptions *options); void wp_format_executor_stats_clear(WpFormatExecutorStats *stats); bool wp_format_executor_run_stream(WpLayoutGlobals *wl, const WpFormatExecutorOptions *options, WpFormatExecutorStats *stats); bool wp_format_executor_run_loaded_file(WpLoadedFile *file, const WpFormatExecutorOptions *options, WpFormatExecutorStats *stats); bool wp_format_executor_run_file(const char *filename, const WpFormatExecutorOptions *options, WpFormatExecutorStats *stats); /* Raw wrappers for monolith compatibility */ void __cdecl16near layout_emit_gate_run_reset_variant_total(WpLayoutGlobals *wl); void __cdecl16near layout_run_variant_batch_format_kernel(WpLayoutGlobals *wl); void __cdecl16near layout_clear_measured_span_emit_state(WpLayoutGlobals *wl); void __cdecl16near layout_wrap_retry_until_form_feed_or_variant(WpLayoutGlobals *wl); void __cdecl16near layout_feature_gated_wrap_parse_consume(WpLayoutGlobals *wl); void __cdecl16near layout_post_emit_gate_cleanup(WpLayoutGlobals *wl); #endif
Commit message
This repository is read-only for this account.
Repository snapshot
Current branch
main
Visibility
public
Your access
Read
Remote
None
File activity
View file history