Skip to content
CP4CPP logo
CP4CPP/SIM
App settings
Installation and offline settings

Preparing update checks...

Workspaces

12

Reading record

Reading statistics
Reading progress
-
Words
-
Reading estimate
-
Preset chosen
-
Code blocks
-
Images and diagrams
-
Preferences and widgets

    Shared across workspaces

    Heading markersPercentage markers

    sim - Simulate Interactive Maths

    cp4.vn/sim is for interactive geometry-based visualization of math and algorithms.

    It exists when reading code or static diagrams is not enough and learners need to replay states, inspect transitions, and see why each step changes the result.

    Graph visualized using ImGui

    Graph visualized using ImGui

    Data extracted from graphs

    Data extracted from graphs
    • Visualize graphs, geometry, states, transitions, tables, and algorithm flows.
    • Make abstract ideas easier to inspect, simulate, teach, debug, and present.
    • Support educational demos, competitive-programming explanations, and math experiments.
    ProjectMeaningTimeForm
    SIGMASystems of Interactive Geometry, Maths, and AlgorithmsJun 2024ImGui app
    OGRAPHOptical Graph Recognition Automated Processing HandlerFeb 2024ImGui / OpenCV app

    Simulation-based learning: students learn by replaying processes, checking outcomes, and seeing why each action changes the result.

    • Simulations should expose state, transition, input, and output clearly.
    • Interactive pages should have a static explanation fallback.
    • Simulations should link to their theory page in doc and their learning path in edu when those pages exist.

    Reader layout

    Col / Left

    Left column

    LEFT
    Width
    Rail
    ...
    CENTER
    Width
    Rail
    ...
    RIGHT
    Width
    Rail
    ...
    TOP
    NAV
    MID
    BOT

    Theme settings

    Preset 0 · Default · Locked

    Advanced colors · OKLCH

    Choose preset 1-9 to edit. Changes save on this device. Each color inherits in this order: cell → row → column → app → base theme.

    Editing All

    Selected scope

    Chroma 0 is neutral gray. Displayable colors depend on your screen; the browser maps colors outside its gamut. Grayscale also affects images and charts.

    Progress appearance

    Loading controls…

    Forest0.88 kB
    Slate0.88 kB

    Font settings

    Preset 0 · Default · Locked

    Font typography
    Advanced typography

    Auto uses the selected spacing mode. Variants and available weights depend on the font. The browser may synthesize missing weights or styles.

    a b c d e f g h i j k l m n o p q r s t u v w x y z

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    0 1 2 3 4 5 6 7 8 9

    ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

    Iosevka Extended10.76 MB
    Inter297.90 kB
    Source Sans 3197.90 kB
    Lora138.11 kB
    Source Serif 4216.02 kB
    JetBrains Mono130.64 kB
    Fira Code53.67 kB

    Keybinds

    Choose a binding, press up to 4 keys together, then release to save. Modifiers count as keys. Esc clears the selected binding. Unsupported keys show Unknown.

    Reader

    Forbidden key combinations

    Windows / Linux reference. These combinations are reserved by this app to avoid browser, system and editing conflicts. Some are intercepted before a page can receive them. Browser extensions and other operating systems may reserve additional keys.

    Fixed navigation: Ctrl + K opens Search. Alt + F6-F9 selects a row; Alt + F10-F12 selects a column. Combine both to select a cell. While selected, F1 captures a screenshot and F2 downloads PNG. Esc cancels dialogs and navigation when a binding is not being recorded.