Журнал изменений

Официальный сайт SLAED CMS

Журнал изменений

Фильтр и поиск

Всего: 1173 Доступных коммитов | Отфильтровано: 1173 Коммиты | Страница: 1 из 118
Вчера (17.09.2026)
Feature: the presentation page reaches the etalon block by block, every scene plays, and the figures stay the system's own
Автор: Eduard Laas | Дата: 17:44 17.09.2026

The twelve sections of the presentation page were compared against demo/22-dashboard-layout-etalon.html one at a time and brought to it: the cockpit stands in five equal columns with a softer neon, the pointer light covers the whole page, and the scenes the etalon animates - the request guard, the PDO stage, the request path, the module build presets, the commit board, the event strip - now run in the module's plugin on the install's real figures, with a staged mix only where no request keeps such a history.

Core changes:

  1. Hero and rhythm (partials/presentation-hero.html, presentation-rhythm.html, fragments/presentation-ring.html):
  2. The gauge row stands in five equal columns one gap apart, the plate steps in by its orbit, the arc glow is one soft drop-shadow at half tone, and every core of the page paints an opaque centre (--sl-pres-core-bg)

  3. The control window traces a route per menu button, keeps live metrics, and stamps its log
  4. The rhythm chart carries three bands - visits, the share the page cache answered, the rest that reached the database - the day blended with a diurnal profile at its real total, a short month padded around the real mean

  5. The vitals orb carries three arcs in the tones of the bands; the guard row wears the success tone
  6. Module map and block router (partials/presentation-modules.html, fragments/presentation-module.html):
  7. The well-known modules come first on the map; a build preset bar lights the set of a build as a demo
  8. Every block node is wired to the slot it fills, the wire lit while the block is on
  9. Request guard (partials/presentation-guard.html, plugins/presentation/presentation.js):
  10. Travellers cloned from a template pool ride the lanes to a patrolling gate; attacks drop into quarantine and count, good requests light their window of the house, the log grows by clones of its own rows

  11. Runtime, request path, commit board, statistics, pulse (partials/presentation-runtime.html, -pipeline.html, -dev.html, -stats.html, -dna.html, fragments/presentation-commit.html, -brand.html, -site.html):

  12. Four PDO cases play over the real table prefix with a packet walking the nodes, counters, an epoch flash on a write and a direct-query listing; the event strip turns with the time of now

  13. Three cache scenarios (hit, miss, bypass) drive the flow, the decision tree and the state grid
  14. Commit rows show chips read off the subject, the focus panel carries the commit body and walks the rows
  15. The hour bars read the same blended day as the chart; the statistics board carries a poll heartbeat
  16. The monitor row falls back to the figures a public page can afford when the sampler has not run
  17. Principles and gallery tiles carry aria labels; the voice avatar bounces on hover
  18. Module and plugin (modules/presentation/index.php, plugins/presentation/presentation.js, lang/*.php):
  19. Every scene's data is written by the module into the template - hidden pools of attributes, positions as --sl-d-* - and the plugin writes text, attributes and clones; it never builds markup

  20. New constants in six locales: _PRES_MONITOR, _PRES_CO_*, _PRES_MD_BUILD/ALL/PORTAL/MEDIA/KNOW/DEMO, _PRES_SP_WRITE/DIRECT/NOPARAM, _PRES_DV_RECENT, _PRES_ST_SYNC, _PRES_AR_NOSTORE; _PRES_UNIT_YEAR takes plurals

  21. Theme and tooling (templates/lite/assets/css/base.css, presentation.css, tools/ui-contract.php, tools/ui-audit-baseline.json, tools/ui-contrast.json, tools/ui-shots.mjs, core/system.php):

  22. Tokens --sl-gauge-mix and --sl-pres-core-bg; the contract declares pres-core and the --sl-d-gate-y, --sl-d-x, --sl-d-y, --sl-d-pointer-x, --sl-d-pointer-y names the plugin writes

  23. The screenshot rig opens every context with reduced motion so self-drawing scripts hold still
  24. The sampler comment in the core describes the fallback the module now takes

Benefits:

  • The page reads as one live system rather than a set of stills, on the install's own figures
  • Every animation runs on one beat (STEP in the plugin, --sl-pres-dur in the theme) and stops for reduced motion
  • The theme audit, the markup scan and the unit tests stay at zero with the baseline re-stored

Technical notes:

  • Scenes start only on screen and pause when the tab is hidden; nothing is saved on the server
  • The monitor row shows cores and uptime only from a stored sample, since they spawn a shell on Windows
  • No schema, URL or API change; the module's op names are untouched
Эта неделя (15.09.2026)
Feature: the presentation page wears its own palette in both schemes, the devtools tabs switch, and the plan leaves the tree
Автор: Eduard Laas | Дата: 17:00 15.09.2026

The closing pass of docs/PRESENTATION-INTEGRATION-2026.md, section 9. The page reads its colours through ten --sl-pres-* tokens that resolve to the theme surfaces in light and to a deep-blue set in dark, so the etalon look survives the scheme switch; the devtools panel gets a working tab strip, the cockpit menu links to the real modules, and the gauges of the hero draw as dial arcs. The plan file is deleted, its durable knowledge sits in VERSIONS.md, ARCHITECTURE.md and TEMPLATES.md.

Core changes:

  1. Presentation tokens (templates/lite/assets/css/base.css, templates/lite/assets/css/presentation.css, tools/ui-contract.php):
  2. --sl-pres-panel-bg, -ground-bg, -inset-bg, -border, -frame-border, -text, -muted-text, -link-text, -good-text and -warn-text, each a light-dark() pair

    • the stylesheet reads only these for surface, border and text colour; the tone attributes map onto them
    • the grid of --sl-pres-bg and the caption gradient --sl-grad-caption are rebuilt on the same tokens
  3. The contract lists the eight new token names; ui-audit stores 430 tokens and one single-use token fewer
  4. Selectors that lose to the #content image and path rules of theme.css carry the #content prefix themselves
  5. The hero facts stack value over label, the vitals rings gain a halo, the block stage shows the grid ground
  6. Plugin (plugins/presentation/presentation.js):
  7. .sl-pres-tabs becomes a tablist: role, aria-selected, aria-controls, roving tabIndex, arrow, Home and End keys, hidden panes
  8. setChart() draws data-sl-pres="pulse" and "spark" as mini charts: no axes, no labels, no tooltip, 4 px margins

    • a mini chart needs no output element; pointer handlers return without one
  9. Module and templates (modules/presentation/index.php, templates/lite/partials/presentation-.html, templates/lite/fragments/presentation-.html):
  10. The cockpit passes a trace of route, PHP version, storage driver and theme; the core menu prints links to the modules
  11. The ring fragment draws a dial arc with tick marks for the large gauges; is_round keeps the circle for the generation ring
  12. The statistics section prints the _PRES_RH_NOTE line under its rings; the brand tile shows the file it links to
  13. The wires of the block router meet in the centre of the page mock, where the router card now sits; nodes and cards carry a title
  14. The cache pipeline core shows the wordmark logo at 96 x 32 instead of the configured square one
  15. Documentation (docs/VERSIONS.md, docs/ARCHITECTURE.md, docs/TEMPLATES.md, docs/PRESENTATION-INTEGRATION-2026.md):
  16. VERSIONS.md gets the 2026-09-11 entry of the whole integration, the breaking start-page change included
  17. ARCHITECTURE.md describes the home route block positions, has_own_title, and the monitor sampler with its store contract
  18. TEMPLATES.md names presentation.css in the theme package, the per-page script hand-over, and the pixel mode of data-sl-spy
  19. The plan file is removed; tools/ui-contrast.json is regenerated for the new token pairs

Benefits:

  • The page keeps one look in both schemes without touching the theme-wide tokens
  • Keyboard and screen reader users can operate the devtools tabs
  • The tree carries no finished plan; the durable facts live in the permanent references

Technical notes:

  • Breaking change: none; the start-page change of batch E is documented, not altered
  • No schema, URL or API change
  • ui-audit counters of lite: classes 0, dead 0, contrast 0; baseline re-stored 2026-09-15
11.09.2026
Feature: the start page listens to the block positions of its module, the hero keeps the only h1, and the rig learns the presentation page
Автор: Eduard Laas | Дата: 19:48 11.09.2026

Batch E of docs/PRESENTATION-INTEGRATION-2026.md, the last one. The presentation module now works both as the start page and by address: the home branch of index.php reads the side and top positions of the module the way the named route does, the module tells the home layout that its hero carries the h1, and the screenshot rig captures the page on its own. The plan closes with the status line "A-E closed, nothing next".

Core changes:

  1. Start page (index.php, modules/presentation/index.php, templates/lite/layouts/home.html):
  2. The $home branch sets $blocks and $blocks_c from $conf['modules'][$name]['side'|'top'], so admin.php?name=modules governs the start page too
  3. presentation() sets $sitevars['has_own_title'] after setHead() rebuilt the array; the layout prints the site name h1 only without the flag

    • the hero stays the one h1 of the page, verified over HTTP with module = presentation and with module = news
  4. The dead data-sl-pres-tab hook of the devtools scheme is gone: nothing read it
  5. Screenshot rig (tools/ui-shots.json, tools/ui-shots.mjs):
  6. The manifest gains the presentation page; the shuffled site strip is masked as a box of fixed height
  7. setScrolled() bounds its wait for lazy images to three seconds: a tile a script hid or a card past the edge of a strip never fires load or error, and the presentation page holds ninety of them, so the run stood still for good
  8. setMasks() pauses SMIL animations, because animation: none does not stop the dot walking the pipeline path
  9. Tests and plan (tests/Unit/CommentIsolationTest.php, tests/Unit/UploadFormatTest.php, tools/ui-audit-baseline.json, docs/PRESENTATION-INTEGRATION-2026.md):
  10. core/admin.php left the list of files assembling a table name in batch A; the lightbox test follows the a[data-sl-shot-open] hook of batch D and asserts the dead a.site-link is gone
  11. The audit baseline is re-stored with equal counts; the plan status reads "closed A-E, nothing next"

Benefits:

  • One rule for block positions on every route, set in one admin screen
  • No second h1 when the presentation opens as the start page
  • The rig cannot hang on a page with lazy or SMIL content, and it guards the presentation page from now on

Technical notes:

  • Breaking change (plan decision 10): the start page used to treat the empty $blocks as "both columns"; it now honours the module's side setting, so news with side = 2 loses its left column on the start page. The news setting is untouched; side = 0 in admin.php?name=modules restores both columns
  • The rig compared the site cabinet pages for the first time since batch B and reports their 3-4 px growth: the --sl-font-micro 10 -> 11 step of decision 6, not this batch
  • No schema, URL or API change
Feature: the presentation page gets its plugin, the section rail learns the pixel mode, and the viewer opens from a data hook
Автор: Eduard Laas | Дата: 13:55 11.09.2026

Batch D of docs/PRESENTATION-INTEGRATION-2026.md. The behaviour of the etalon moves into plugins/presentation/presentation.js, the sticky rail of the page is driven by the one scroll spy of slaed.js, and the image viewer opens from a[data-sl-shot-open] instead of the dead class of the old main module. Every figure the plugin draws comes from the series the module wrote into the page.

Core changes:

  1. Plugin (plugins/presentation/presentation.js):
  2. One ES5 IIFE in the style of slaed.js, initialised on data-sl-pres="sites|brand|chart" with a data-sl-pres-ready flag
  3. Site strip: a step every 4 s only while on screen, no tick under document.hidden or prefers-reduced-motion, paused under the pointer and under focus; the range and scrollLeft follow each other, arrows wrap, keys walk the track

    • the order of the cards is the module's, the script shuffles nothing
  4. Brand archive: the feature and its four neighbours in slot order, the rest hidden, the open button clicks the cover link
  5. Rhythm chart: rows from data-sl-pres-series, period and view switches, tooltip, ResizeObserver, redraw on scheme change

    • the headline follows the period and the change shows only where a like period precedes it
    • figures are written the way the module writes them, thousands parted by a space
    • tokens are resolved through a probe element, because the raw light-dark() value is not a canvas colour
  6. Scroll spy (plugins/system/slaed.js):
  7. setSpyRail() reads data-sl-spy="px": --sl-d-spy in pixels to the middle of the current pill, the pill pulled into the visible band, the dock height published as --sl-d-rail on the document so the sections clear it

  8. The settings rail without a value keeps the percent branch unchanged
  9. The lightbox opens on a.sl-attach and a[data-sl-shot-open]; a.site-link is gone
  10. Wiring (modules/presentation/index.php, templates/lite/partials/presentation.html):
  11. The module passes script => {src, attr}, the root partial prints it through fragments/head-script-src.html
  12. Nothing is added to the global script_f, so only this page loads the plugin
  13. Contract and plan (tools/ui-contract.php, docs/PRESENTATION-INTEGRATION-2026.md):
  14. --sl-primary, --sl-accent, --sl-text-muted, --sl-border and --sl-font-micro are listed as read by the plugin
  15. Decision 14: the arrows of the site viewer stay inert, the reveal of the sections stays in CSS
  16. Plan status: batches A-D closed, next batch E

Benefits:

  • The page behaves as the etalon did, without a shell, a store or a fake figure
  • One scroll spy serves both rails; the presentation gets pixels, the settings keep percent
  • The ui-audit counters of lite equal the baseline; ThemeContract and TemplateValidation pass

Technical notes:

  • Playwright acceptance of batch D passed: strip step, pointer and focus hold, reduced motion, range and scroll in both directions, rail fill and pill visibility, viewer open and close, chart, console and error_site.log

  • No schema, URL or API change
Feature: the presentation page renders its twelve sections from partials and fragments, and the module reads every figure from the system
Автор: Eduard Laas | Дата: 13:25 11.09.2026

Batch C of docs/PRESENTATION-INTEGRATION-2026.md. The module collects the live request figures, the counters, the tables, the changelog, the monitor store and the galleries into one array, and partials/presentation.html owns every tag and class through fourteen partials and eight fragments written against the class contract of presentation.css. Two defects of that contract found by the browser walk are fixed in the same batch.

Core changes:

  1. Module data (modules/presentation/index.php):
  2. getPresentationData() builds the page: hero gauges, rail, rhythm series, module topology, block router, guard counters, runtime telemetry, commits, statistics, cache pipeline, principles, brand, sites, voices and pulse

    • load stats are read after the SQL of the sections, so the query count is the real one
    • topology and counts cover front modules only (type 1); the DB version keeps its numeric part
    • texts are constants, numbers have a named source; PHP passes words, urls, attribute values and flags
  3. presentation() renders one getHtmlPart('presentation', ...) between setHead() and setFoot()
  4. Theme markup (templates/lite/partials/presentation.html, templates/lite/fragments/presentation-.html):
  5. One root partial, hero, sticky rail and twelve sections; fragments for head, stat, ring, module, commit, brand tile, site tile and voice

    • rings reuse .sl-knob with tone flags, shares travel as --sl-d-part, tones as data-sl-tone
    • SVG wiring of the module map, the block router and the cache ring lives in the html
    • brand tiles carry data-sl-shot-open, a download link and hidden past the fifth until the plugin
    • galleries expose data-sl-pres, data-sl-pres-step, data-sl-pres-range and data-sl-pres-of
  6. Language constants (modules/presentation/lang/*.php):
  7. _PRES_BL_ORDER, _PRES_SQL_TIME and _PRES_DT_MEMORY added; _PRES_MD_BUILD, _PRES_GD_ALLOWED, _PRES_GD_CAUGHT and _PRES_ST_HUMAN_T removed as unused; _PRES_AR_TTL reads minutes, as cache_t does

  8. Stylesheet corrections (templates/lite/assets/css/presentation.css, tools/ui-contract.php):
  9. The devtools panes become .sl-pres-tab-pane: .sl-pres-pane was declared twice and the house windows inherited the tab pane height and padding

  10. The guard counters fold by --sl-gauge-width instead of three fixed columns
  11. Two selectors of removed <time> elements dropped; --sl-d-part names the runtime partial too

Benefits:

  • The page shows real figures of this request, this day and this server, nothing invented in the browser
  • Markup and classes stay in the theme; the PHP markup scanner reads zero
  • The lite class counter returns to zero and the baseline is stored again

Technical notes:

  • Plan status: batches A-C closed, next batch D (plugin, scroll spy, viewer hook)
  • No schema, URL or API change; the page is not cached and stays outside the page cache allowlist
  • The monitor section hides itself while the sampler has not run for five minutes
Feature: the lite theme dresses the presentation page from one stylesheet, the micro step reads 11 in both themes, and the contract learns the page's tokens
Автор: Eduard Laas | Дата: 12:19 11.09.2026

Batch B of docs/PRESENTATION-INTEGRATION-2026.md. The etalon's twentytwo.css and its inline style become templates/lite/assets/css/presentation.css under one root, every visual decision reading a token of base.css; both themes take the micro step at 11 px; the contract, the theme creation test and the baseline follow. The markup arrives in batch C and reads the class contract written above every block of the new file.

Core changes:

  1. Presentation stylesheet (templates/lite/assets/css/presentation.css):
  2. Hero, sticky section rail and twelve sections under .sl-pres, bundled by name between base and theme

    • no custom property declared: templates and scripts write --sl-d-*, tones travel as data-sl-tone
    • every scene figure is arithmetic over one token, every animation a multiple of --sl-pres-dur
    • rings reuse .sl-knob at three gauge sizes; galleries, voices and pulse share one picture treatment
  3. The guard court, the PDO bus, the block router and the cache ring stay static CSS scenes with reduced-motion off
  4. Twenty-eight repeated bodies merged by role; the vendor range track pair is the one duplicate allowlisted
  5. Tokens (templates/lite/assets/css/base.css, templates/admin/assets/css/base.css):
  6. --sl-font-micro 11px in both themes
  7. --sl-face-quote, --sl-track-tight, --sl-z-sticky, --sl-grad-caption, --sl-quote-mix
  8. Components pres, gauge, guard, plot, site and brand: fifteen geometry, motion and ground tokens
  9. Contract and gates (tools/ui-contract.php, tests/Unit/ThemeCreationTest.php, tools/ui-audit-baseline.json):
  10. presentation.css in the lite file list and in both lists of the theme copy test
  11. font-size ladder 10 -> 11, grad role caption, allowlist filter and 80px with their reasons
  12. --sl-d-part and --sl-d-rail registered as data, the four writing templates listed under places
  13. Baseline re-stored; lite.classes carries 222 as the transient of plan decision 13 until batch C
  14. tools/ui-contrast.json regenerated by the rig after the base.css change
  15. Plan (docs/PRESENTATION-INTEGRATION-2026.md):
  16. Decision 13: classes without markup between B and C, and the store guard that has no force mode
  17. Batch C acceptance names the class contract and the return of classes to zero

Benefits:

  • One file to read for the whole page, one token to retune each scene
  • The audit holds count, bare, dead, unmet, dup and scoped at their stored values across both themes
  • The C session has a written skeleton for every partial and fragment

Technical notes:

  • --sl-d-spy takes pixels on the presentation rail, which batch D adds to setSpyRail()
  • The ordinal selectors use :nth-child(n of .class), inside the theme's browser floor
  • The screenshot pair shows no page past its floor apart from admin-statistic, whose live figures moved
  • Backward compatible: no template, route or PHP behaviour changes; the micro step moved no layout
Refactor: the server metrics move into the core, the scheduler samples them once a minute, and the presentation module reads its data from config and constants
Автор: Eduard Laas | Дата: 01:40 11.09.2026

Batch A of docs/PRESENTATION-INTEGRATION-2026.md. The admin monitor keeps only its page; everything that measures the server lives in core/monitor.php, a scheduler job writes one sample per minute into monitor.json, and the presentation module gets its sites, brand archive, principles and voices from config/presentation.php with every visible word as a PRES* constant in six locales.

Core changes:

  1. Shared metrics layer (core/monitor.php, admin/modules/monitor.php, core/system.php):
  2. Thirty functions moved from the admin monitor, not copied; the admin file keeps the page only

    • getServerSoftware() splits SERVER_SOFTWARE once for the admin monitor and the module
    • getSecurityEventCount() counts warn.log and hack.log without returning a line of them
    • getMemorySafeLimit() dropped for a direct getMemoryLimitBytes(true) at its one call site
  3. One require_once next to core/security.php, guarded by FUNC_FILE like its neighbours
  4. Scheduler sampler (config/scheduler.php, core/system.php):
  5. Job monitor: system type, every minute, priority 9 so it never outranks mail or newsletter
  6. addMonitorSample() runs the two history writers, then stores disk, uptime, cores, soft and sampled_at

    • the presentation module hides its monitor section when sampled_at is older than five minutes
  7. Five core readers (core/system.php, core/admin.php, core/user.php):
  8. getTableCount(), getSessionCounts(), getStatsToday(), getStatsDays(), getLoadLimits()
  9. getAdminCountRow(), getUserSessionInfo(), getDebugSystemInfo() and the PNG counter read through them
  10. Module data (config/presentation.php, modules/presentation/):
  11. 71 sites, 34 brand items, 4 principles and 3 sample voices extracted from the etalon by script
  12. 399 PRES* constants in de, en, fr, pl, ru, uk; dictionary fields name constants, proper names stay raw
  13. getPresentationSites/Brand/Dna/Voices() return data and flags only, no markup
  14. 34 brand thumbnails at 440 px under brand/thumb, under two megabytes in total

Benefits:

  • The public page never runs exec() itself: it reads a sample the scheduler wrote
  • One parser for the web server name, one COUNT helper, one statistic.log reader
  • Every text of the future home page is translatable before a single template exists

Technical notes:

  • monitor.json gains disk_*, uptime, cores, soft and sampled_at beside the existing rows
  • getUserSessionAdminInfo() and getStatistic() keep their own loops: neither ran a COUNT to consolidate
  • config/presentation.php is a new tracked config file; the plan status line moves to batch B
  • Backward compatible: admin monitor pages, session summary and the PNG counter render as before
Docs: the presentation module gets an integration plan for the etalon home page
Автор: Eduard Laas | Дата: 00:50 11.09.2026

Puts docs/PRESENTATION-INTEGRATION-2026.md into history so that every later batch session reads the same plan, the same twelve owner decisions and the same status line.

Core changes:

  1. Integration plan (docs/PRESENTATION-INTEGRATION-2026.md):
  2. Findings F1-F24 pinned to file:line on ba6d2859

    • contract blockers, data sources, etalon duplicates and dead hooks
  3. Five batches A-E with files, steps and acceptance per batch
  4. Twelve owner decisions of section 8, not to be reopened
  5. Section 11 launch protocol: one session per batch, status line in the header

Benefits:

  • The plan travels with the clone instead of living in a local scratch file
  • Each batch session starts from a known status and a known last commit

Technical notes:

  • Documentation only, no runtime change
10.09.2026
Feature: the main module becomes the presentation module, and the etalon reads its site cards, galleries and rail from one standard
Автор: Eduard Laas | Дата: 14:27 10.09.2026

The old main module with its slider and carousel gives way to a presentation module whose material lives under uploads/presentation/; the lite theme drops the slider assets. The etalon face of the stand gets real site names and categories, ratings from the thumbnail weight, an autoplaying shuffled strip, one veil treatment for every picture, a rail that follows the page, and radii, spacing and icon sizes snapped onto the theme ladders.

Core changes:

  1. Presentation module (modules/presentation/index.php, config/modules.php, lang/*.php, blocks/img.php):
  2. main is renamed to presentation in the module registry and the six language files (_PRESENTATION)
  3. the screenshot block reads uploads/presentation/sites/thumb instead of uploads/screens/thumb
  4. uploads/screens/* move to uploads/presentation/sites/*; brand materials and DNA bands join them under uploads/presentation/brand and uploads/presentation/dna

  5. Lite theme (templates/lite/, tests/, tools/ui-*):
  6. the main slider, carousel and their fragments, lib.js, the season and slide images are removed
  7. the LCP preload keeps only the head-content case; the menu, footer and link fragments follow the new module name
  8. the slider tests go, the template test points at menu.html; audit baseline, contract and contrast files are refreshed
  9. Etalon block 12, sites (demo/22-dashboard-layout-etalon.html, demo/assets/twentytwo.css, demo/assets/twentytwo.js):
  10. 71 cards carry the site name and a category read from the screenshot instead of the address
  11. the rating is the thumbnail weight in twenty-byte steps, as the old main module counted it
  12. no viewer on site cards; the strip autoplays, pauses under the pointer or focus, shuffles on every load, hides its own scrollbar and resets after the shuffle so scroll anchoring cannot drag it away

  13. Etalon block 11, brand archive:
  14. pictures fill the tile; logotypes and partner badges stay contain; caption on the image, open and download tools on top
  15. the same veil and lifting filter as block 12; the veil also serves the DNA principles of block 10
  16. Etalon page order and rail (demo/22-dashboard-layout-etalon.html, demo/assets/twentytwo.css):
  17. voices and pulse move to the end, the numbers and the road rail follow
  18. the rail loses its label and its search; short uppercase labels at 14 px spread from edge to edge with the track under them
  19. the fill ends inside the current label, the rail scrolls the current label into view, anchors land below the sticky rail
  20. the security log is born full so the section keeps one height and anchors below it do not drift
  21. Etalon standard (demo/22-dashboard-layout-etalon.html, demo/assets/twentytwo.css, demo/assets/demo.js):
  22. 192 radii and 481 spacing declarations snap onto --sl-radius-* and --sl-space-*
  23. section number and icon share one 34 px height; card title icons and icon boxes grow to the control size
  24. --sl-font-micro is 11 px inside the etalon; nothing on the page renders below that
  25. the shared DEMO_SITES list carries the same names and categories for the other eighteen faces

Benefits:

  • one module name and one upload path for the presentation material across the CMS, the theme and the stand
  • the etalon reads as one system: one veil, one caption, one rail behaviour, one ladder for radii and spacing
  • the strip and the rail behave deterministically instead of relying on browser scroll anchoring

Technical notes:

  • uploads/screens/* are renamed, not re-added; uploads/presentation/brand/* are new binaries (34 files)
  • three demo assets are normalised to LF as .gitattributes requires
  • no schema, route or API change; index.php?name=main no longer exists, the module is presentation
09.09.2026
Feature: the stand grows a laboratory face and an etalon that drops both left rails
Автор: Eduard Laas | Дата: 17:04 09.09.2026

The presentation stand gains three new faces of the main page and rebuilds the nineteenth. Nineteen becomes Phoenix Laboratory with its own workbench, twenty and twenty-one develop it, and twenty-two is the etalon prepared for the real page: one column, a sticky rail of departments and a cockpit over the headline.

Core changes:

  1. Phoenix Laboratory (19-phoenix-laboratory.html, lab.css, lab.js, nineteen.css, nineteen.js):
  2. The nineteenth face is rebuilt as an interactive laboratory

    • A workbench of four cards: the performance explorer, the vitals orb, the module registry and the note
    • A command dialog, a settings panel and a demo chart that keeps one shape per span
  3. The twentieth and twenty-first faces carry the same scenes under other skeletons
  4. The etalon (22-dashboard-layout-etalon.html, twentytwo.css, twentytwo.js):
  5. Both left rails are gone and the page is one column

    • The SYSTEM MAP column leaves the hero, the road panel and the state panel leave the stage
    • The road comes back as a horizontal rail that sticks to the top and marks the department in view
  6. The hero carries the cockpit of five gauges with the scanning beam over the headline

    • The gauges are drawn on canvas from the page palette, so both modes repaint without a second engine
  7. The laboratory chart and the vitals orb become department 01, and every department after it moves up
  8. A pointer light follows the cursor across every surface of the page
  9. The gallery (index.html, demo.js):
  10. The manifest lists the etalon and the hero line names it

Benefits:

  • The etalon answers what the main page becomes before a line of it reaches the CMS
  • One rail replaces two columns, so the content of every department is full width
  • The ported chart and gauges carry no second stylesheet or chart engine into the face

Technical notes:

  • Faces twenty-one and twenty-two hold separate stylesheets, so the etalon can move without touching its source
  • overflow-x on the leader is clip rather than hidden: hidden makes a scroll container and kills every sticky inside
  • The filtered rail hides its links with an important rule, because outline-road sets display on its links the same way

Страница 1 из 118. Всего: 1173

1 2 3 4 5 6 7 8 9 10 118
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр