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

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

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

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

Всего: 1171 Доступных коммитов | Отфильтровано: 1171 Коммиты | Страница: 1 из 118
Вчера (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
Эта неделя (08.09.2026)
Feature: the stand shows eighteen faces of the main page on one engine, each with its own skeleton
Автор: Eduard Laas | Дата: 22:46 08.09.2026

The Phoenix collection of 2026-09-08 is removed whole and replaced by eighteen presentations of index.php?name=main that share one engine, deck.css and deck.js, and differ in page skeleton, first screen, chart mix and palette rather than in a preset. Six faces develop the leader 00-dashboard-layout.html; twelve reinterpret the dashboard references. A nineteenth face puts the leader into the chrome of the system.

Core changes:

  1. Presentation engine (demo/assets/deck.css, demo/assets/deck.js):
  2. One palette contract on .p-page, every token in both schemes through light-dark()

    • grid, cards, KPI tiles, tables, rings, bars, heat, logs, ticker, nav, rail, topbar, road, timeline,
calendar, showcase, voices, scenes
  • One body of figures, DECK_DATA, and every moving part read from data attributes

    • canvas charts: area, line, spark, bars, hbars, donut, gauge, radar, candles, heat, with periods
and hover tips
  • module registry table with search, header sort and section filters
  • event streams, flicker figures, CSS bars, heat cells, calendar, written lists
  • guard and cache switches, the guard court, the cache route, the PDO bus, walkers, scroll spy
  • the real site header and footer fetched around a face unless the gallery opens it bare
  1. Faces (demo/01-command-deck.html … demo/18-aeros-horizon.html):
  2. 01-06 keep the leader's DNA in six compositions: command deck, observatory wall, ledger with a right column, cockpit with three gauges, one-column flow, module studio

  3. 07-18 follow the references: RecehTok neon and exchange, Calltimes rhythm, Vaulto carbon and editorial, Hynex vital, Fobework campus, odds analytics, cyber sentinel, Rinesk lime, Aeros atmosphere and horizon

  4. real facts stay fixed, illustrative figures are declared on every page
  5. Laboratory face (demo/19-phoenix-laboratory.html, demo/assets/nineteen.css, demo/assets/nineteen.js):
  6. the leader shown inside the chrome of the system
  7. Stand chrome (demo/assets/demo.js, demo/index.html, demo/README.md):
  8. the manifest names the scheme a face was designed in and the gallery opens it in that scheme
  9. the README describes the engine, its attributes and the nineteen faces
  10. Documentation (docs/CABINET-CONSOLIDATION-2026.md):
  11. the finished consolidation plan is removed from the tree

Benefits:

  • a new face is markup, a palette and v-* rules, never a script of its own
  • eighteen pages cannot disagree about a figure
  • both schemes are held by one declaration per token

Technical notes:

  • nothing here ships: demo/ is the development stand
  • no external resources; icons, photos and screenshots are local
  • screenshots keep the two laws of the stand: 260 wide, never taller than natural
Feature: the stand shows eighteen presentation faces of the main page beside the original, and the mailbox reads fifteen per page
Автор: Eduard Laas | Дата: 17:39 08.09.2026

The first series of the demo stand is rebuilt: the twenty-three variants of the main page are replaced by the original dashboard layout as the reference and eighteen presentations of SLAED CMS 8, each a standalone dashboard composition on the lite tokens with a local palette and the shared presentation shell. The private-message config takes a shorter page.

Core changes:

  1. Demo stand (demo/00-dashboard-layout.html, demo/01-phoenix-command.html ... demo/18-aeros-horizon.html, demo/assets/presentation.css, presentation.js, presentation-shell.js, demo/index.html, demo/assets/demo.js, demo/README.md):

  2. the old variants 01-23 are removed; the gallery has four sections and lists the reference 00 with the new presentations

  3. the presentations share presentation.css and presentation.js and keep their palette local
  4. Private messages (config/privat.php):
  5. num 25 to 15 and nump 10 to 5: fifteen messages and five page numbers per mailbox page

Benefits:

  • the stand compares dashboard compositions of the product, not texts

Technical notes:

  • config/privat.php is a shipped default; a compiled config/local.php on a stand keeps its own values until it is rebuilt

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

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

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

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