Repository navigation
IDE pictures in both themes and as SVG, a button bar on every figure, and the BETA 1005 re-check - #226
Merged
Conversation
…l with the gates, save ~90s of CI build time
…site shows X.light.png in its light theme (two lazy images, CSS on data-theme), the book the light one; increment 6 decisions
…ity Edition and the splash in both themes; window capture by PrintWindow on a private desktop (tb-launch.ps1, captureWindow); badge tooltips kept (no hover on a private desktop)
… is put back pointing at the newest install (findIde), left only when there is none; self-test covers both
…from fixture programs (captureWindow for program windows, taken once; CodeLens, Toolbar_4, TWINPACK build, Fusion host in both themes); packPublishComplete1 kept
…data from every PNG a CSS file embeds as a data: URI, for the IDE's own stylesheets; Tools.md section, and the tooling-policy exception in WIP.md and WIP.Build.md
… the behaviour, reproducers deleted); forecolor, UDT watch and WebView2 Clone narrowed to what 1005 still gets wrong; new single-array-const-overflow; three reproducers repaired; 36 callouts 997 -> 1005; COM samples print 438
… in both themes (three identical pairs merged; packPublishPackage1 kept, signed out it opens the sign-in form); package pages follow 1005; last three callouts 997 -> 1005
… file embeds, at any depth, and an SVG file itself, labels each by its bytes; scripts/lib/compact-image.mjs (compactImage from svg-screenshots, stripFile as its byte-for-byte reference); test/compact-image.test.mjs in test.bat and CI
…ace; a <?xml-stylesheet?> that opened an SVG was dropped as one, and the picture lost its style sheet
…es), the Webpage pane on docs.twinbasic.com, and the WebView2 runtime and release pages from a browser on a private desktop; Editing screenshots points at shoot_docs, Affinity crops deleted
…rome, the network ones), Debug Console times fixed in the page, program windows taken once
…hanged (version strings 997 -> 1005, the IDE window now maximised, pixel noise); Menu alt names the window's buttons
…Fixture] modules beside its code (images built byte by byte by TestImages), run by tbrun --tests; Strip.StripFile returns the output, counts and reports for them
…nd compile cases, PASS or FAIL per case, exit 7 on a failure; bug_repro mode test and template tests for regression-test reproducers
…ith tbrun --tests reproducers (cases for each old issue's fix pass on 1005, the gap's fail), #2475's Single variant rewritten as a follow-up; Const.md: Public array constant in a class is TB5250
…s live title text (owner's decision: no hover reaches a private desktop), calibrated to the January captures; Status Bar lists the six connection states
…ng an array cannot be used as an array (error -2147467259, Join 13) where VB6 can; reproducer of 28 regression cases asserting VB6's results, with a VB6 side; NOTE in ParamArray.md
…odule only before BETA 1005, which fixed it (#2481, #2494)
…ass is TB5250, as a scalar one is); reproducer deleted
…er raises with a constant number reaches a late-bound caller as &H80020009 (VB6: the number); BUGS entry names the pages
… VB6 raises its numbered errors, and SetAttr changes a file open for writing where VB6 raises 55; reproducers with VB6 sides; NOTEs naming BETA 1005 on 19 pages, and SetAttr.md's sentence corrected with a WARNING
…ndone in a data: URI (outside CDATA), so url("data:...") in a style attribute and base64 broken by &twinbasic#10; are read; a quote written as a reference ends only at one; tests in both suites
…4 or as text, is stripped as a CSS file is, so the images of an @import or an SVG's <?xml-stylesheet?> are reached; tests in both suites
… are read as CSS (references undone first, then CSS escapes; an attribute's raw line breaks read as spaces); tests in both suites, and the tool corpus holds the case
… a compile case is matched by its file's path under Sources/, not its bare name, so two files of one name in different folders are told apart
…/, which tbrun --tests reads
…over above the dock (#2506); the help lanes' past-the-edge test emulates a short page so the hover reaches past the editor, and fails on 997
…probe_ide_image_labels.mjs, probe reproducer), and an error is not passed to the caller's handler when either procedure is compiled with LLVM (run reproducer with a VB6 side); Getting-Started.md: an LLVM-compiled callee's error ends a built program with an access violation
… WARNING naming BETA 1005, with what VB6 does; the BUGS entry's comment names it
…place of the PNG in each theme, png in the attribute block keeps the PNG, picture SVGs never inlined; _config.yml picture_svg per output (online and book on, offline and the help archive off)
…ure font subsets cut by fontTools (scripts/subset_font.py), replicas of what Chromium draws outside the DOM (scrollbars, drop-down lists, form controls), images through scripts/lib/compact-image.mjs, one line; shoot_docs --svg writes X.svg beside a picture within 0.25% of its PNG; bench.mjs against Edge; test/svgshot.test.mjs in test.bat and CI
…erlineBand fitted in Edge 155 on bench/decoration.html), with skip-ink gaps measured on a canvas; other decorations reported as not drawn; unit tests for the fitted rule; 0fa1272d's SVGs
… and GIF headers, PNG by its signature): the IDE calls a JPEG image/png, which drew the About dialog's EXCALIBUR logo 0.054 px wide (the splash, refused before, now passes too); tests; WIP.Screenshots notes on underlines, image sizes and what stays PNG
…wn on the rebased image library; page baseline
…atives, superseded timings); WIP.Screenshots.md describes the tool as it is now, with the pictures still outside it; code comments follow its renamed sections
…onfig) and seven group pages, with a Graphviz map of the groups; links into moved entries rewritten; page baseline
…oded, a frame's drawn at its iframe's content box less its scroll, clipped, scaled when zoomed, over its canvas colour, measured in an isolated world of its own, one PictureFonts per picture; web fonts by CSS font matching, variable WOFF2 cut per weight; replicas of the platform's Fluent scrollbar and the focus ring; a font fontTools cannot cut falls back with a note instead of failing the run; bench pages frames, outline, scrollbars-native; tests
… redrawn, 5 of them with text that was in an unembedded font; page baseline
…ing from gvar as having no variation, as the rest of fontTools does (a weight cut of a font that keeps another axis, Segoe UI Variable, failed with KeyError '.notdef'); same bytes as fontTools' own where the table is complete; notes
…he page flickers of its own accord, left out of every comparison it makes, the file's or the dark picture's bytes kept when the rest matches; the WebView2 download page's Architecture arrow is one (a pixel changed past the noise between any two captures)
… bar (vector and raster groups, Zoom) beside or above it, and Zoom at twice its page size; svg-inline.js becomes figure.js, svg-* classes fig-*; offline from disk keeps Zoom only; [Full size] link removed; docs and tests
…ly one, and fits a figure at most a tenth taller than the window to its height
…ered, plugin counts corrected to twenty
…e chart is injected; zoom restores an element's inline style rather than clearing it
… drop-shadows split into a shadow-only copy under the group, so the PDF keeps their text and paths as vector; 239 SVGs retaken
…tors' transforms, from the snapshot's after-transform boxes, transform-origin captured; a closed select's label is its option's whole text with HTML whitespace alone collapsed (the Properties panel's name in <b>, its no-break spaces); the Anchors picture retaken
…ot trimmed to the clip, the measurements, fonts) in .svgshot-bundles; svgshot/replay.mjs draws every SVG again from the bundles with no IDE and lists the pictures that need a retake; keep.mjs shared by both; 100 SVGs retaken with the transform and select fixes
…bsets under a hash of what decides them (shoot_docs uses them too); --jobs are processes, each with a browser without the GPU; an SVG the same as its file is not compared again (--recheck compares all)
…he CustomControls and Global Search popups and Diagnostics re-rendered by the IDE, their SVGs with them
…ht bundle is mostly the dark one, which a 16 MB window finds): 57.7 MB to 21.8 MB; a light picture not kept drops its slot
…le whose range holds it, only those files read), inline <svg> drawn in its box in paint order with the page's styles resolved, outside references copied in and ids scoped, the annotation layer placed in document coordinates on a scrolled page; bench pages webfont-split, inline-svg, scrolled, svg-frame, served from 127.0.0.1; tests; notes
…-text for the IDE's WebView2 and the web pages' Chrome; Chromium chose per run); the user-name check run again when a capture is chosen, with the SVG, before the PNG is written (Project Settings put the real build path back after the first check); the build-path template typed with input and change so the dialog keeps it; the WebView2 page's unsteady region is the Version arrow; replay refuses a bundle of another format; tests; notes
…re ClearType), 29 SVGs, among them the WebView2 download page's new SVG and the help pane's gear; page baseline
…p's name to its page; a diagram that links is inlined as a group of links (linked-diagram.mjs: href for xlink:href, Graphviz titles dropped, each cluster before its first node, nodes in declared order with outputorder=nodesfirst); figure.js lets a link click through
…ned diagram, not only a linked one, so no tooltip or search entry shows them (inline-diagram.mjs); a diagram export carries the label colours and background the reader sees, so a dark-theme PNG's group labels are no longer black; the a11y sample covers a linked diagram (Tools.html, fourteen pages)
… says not to; WIP.Screenshots: setups to retry once, a6525b1d's width, how other-site frames would be drawn, the unrounded text baseline, the owner's open questions (other browsers, the fontTools report, the Microsoft fonts' licences)
…hem removed and a blank line left, stacked screenshots and those run on from a lead-in line given paragraphs of their own; a picture sized by a percentage or an inline style, or not at all, given {:width height} so its bar sits beside it (the WebView2 GIF at its 1000x530)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Takes the IDE's pictures in its light theme and as SVG, adds a button bar to every figure, and re-checks the documentation against BETA 1005.
X.light.png) and 365 SVGs are new, and the site shows the one for the reader's theme. Tools and Scripts is split into a landing page with a clickable Graphviz map and seven group pages (928 to 935 pages). Callouts for the defects BETA 1005 fixes are removed and the pages state the behaviour. 36 callouts that still hold now name 1005.--svgalso draws it as SVG from a DOM snapshot (scripts/svgshot/, new) and keeps the SVG only when it matches the PNG closely.svgshot/replay.mjsredraws every SVG from the saved bundles in about 20 s, with no IDE.tbdocsshows the SVG and the light picture for the reader's theme (picture_svgin_config.yml: the website and the book, not the offline copy). An image alone in its paragraph becomes a figure with a bar to download, copy and zoom it (figure.jsreplacessvg-inline.js), and a diagram whose boxes have aURLbecomes a group of links. CI renders the book PDF in the background while the gates run, about 90 s faster.imagestrip(new, a twinBASIC program) strips the metadata from every image a CSS or SVG file embeds, checked byte for byte againstscripts/lib/compact-image.mjs.tbrun --testsruns a project's[TestCase]Subs and compile cases in the compiler's test mode,PASSorFAILfor each (exit 7 on a failure), andbug_reprohas atestmode for regression-test reproducers.tbrun --tests. The help add-in drops its hover workaround, as A tall hover in the code editor disappears when the mouse slides down it onto the dock's resizer twinbasic#2506 is fixed.test/compact-image.test.mjsandtest/svgshot.test.mjsare newtest.batand CI gates, andtest/render.test.mjscovers the picture, figure and diagram changes.shoot_docs,tbrun --testsand the reproducers need a twinBASIC install, so they stay outside every gate and CI. The new gates need none, except theimagestriphalf ofcompact-image.test.mjs, which runs only whenIMAGESTRIP_EXEnames the built exe.